Sie sind auf Seite 1von 73

Partes del arduino

LEDS en Arduino

Estructura
La estructura bsica del lenguaje de programacin Arduino es
bastante simple y se organiza
en al menos dos partes o funciones que encierran bloques de
declaraciones.
void setup()
{
statements;
}
void loop()
{
statements;
}
Ambas funciones son requeridas para que el programa funcione.

setup()
La funcin setup debera contener la declaracin
de cualquier variable al comienzo del programa.
Es la primera funcin a ejecutar en el programa,
es ejecutada una vez y es usada para asignar
pinMode o inicializar las comunicaciones serie.
loop()
La funcin loop se ejecuta a continuacin e incluye
el cdigo que se ejecuta contnuamente leyendo entradas, activando salidas, etc. Esta
funcin es el ncleo de todos los programas
Arduino
y hace la mayor parte del trabajo.

Tipos de variables

byte
Byte almacena un valor numrico de 8 bits sin puntos decimales. Tienen un rango
de 0 a 255.
byte someVariable = 180; //declara 'someVariable' como un tipo byte
int
Enteros son los tipos de datos primarios para almacenamiento de nmeros sin
puntos decimales
y almacenan un valor de 16 bits con un rango de -32,768 a 32,767.
int someVariable = 1500; //declara 'someVariable' como tipo int
long
Tipo de datos de tamao extendido para enteros largos, sin puntos decimales,
almacenados en
un valor de 32 bits con un rango de -2,146,483,648 a 2,147,483,647.
long someVariable = 90000; //declara 'someVariable' como tipo long
float
Un tipo de datos para nmeros en punto otante, o nmeros que tienen un punto
decimal. Los

Operadores aritmticos
Los operadores aritmticos incluyen
suma, resta, multiplicacin y divisin.
Retornan la suma, diferencia, producto
o cociente (respectivamente).
y = y+3;
x = x-7;
i = j*6;
r = r/5;

Asignaciones compuestas
Las asignaciones compuestas combinan
una operacin aritmtica con una
asignacin de variable.
x++; //lo mismo que x = x+1
x--; //lo mismo que x = x-1
x += y; //lo mismo que x = x+y
x -= y; //lo mismo que x = x-y
x *= y; //lo mismo que x = x*y
x /= y; //lo mismo que x = x/y

operadores de comparacin

x
x
x
x
x
x

== y; //x es igual a y
!= y; //x no es igual a y
< y; //x es menor que y
> y; //x es mayor que y
<= y; //x es menor o igual que y
>= y; //x es mayor o igual que y

operadores lgicos
AND lgico:
if(x>0 && x<5) //verdadero slo si las dos
expresiones son ciertas
OR lgico:
if(x>0 || y>0) //verdadero si al menos una
expresin es cierta
NOT lgico:
if(!(x>0)) //verdadero slo si la expresin es falsa

Entradas y Salidas

ENTORNO DE
PROGRAMACIN

1.Seleccionar tarjeta

2.Seleccionar Puerto serial

3.Escribir el cdigo

4. Compilar

5.Cargar el programa

LED

Secuencia de luces

LED - RGB

RGB

LDR

Un fotorresistor o resistencia dependiente


de la luz ( LDR ) o fotoclula es una resistencia
cuya resistencia disminuye con el aumento de
intensidad de luz incidente, para su conexin se
necesita realizar un divisor de voltaje

LDR

const int led=11;


const int LDR=A0;
int valor;

void setup() {
Serial.begin(9600
pinMode(led,OUTPUT);
}
void loop()
{
valor=analogRead(LDR);
analogWrite(led,valor);
Serial.println(' ');
Serial.println(valor);
delay(500);
}

Rel

Servo Motor

Servo Motor

#include <Servo.h>
Servo miServo;
const int pulso=A0;
const int motor=22;
float angulo=0;
void setup(){
Serial.begin(9600);
miServo.attach(13,500,2500);
}
void loop(){
angulo= analogRead(pulso)/5.69;
miServo.write(angulo);
Serial.println(angulo);
delay(500);
}

Control de velocidad de un motor


DC-PWM

Funciones para LCD


millis(); //nos da como resultado el tiempo transcurrido en
milisegundos.
// PINES RS,E,D4,D5,D6,D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
lcd.begin(16, 2);
//INICIALIZA LCD 16X2
lcd.setCursor(0, 0);
//COLUMNA1,FILA1
lcd.print("Arduino"); //Imprime en la pantalla
lcd.noDisplay();
// APAGA LCD
lcd.display();
// Enciende el LCD
lcd.clear();
//Limpia la pantalla
lcd.autoscroll(); // desplaza todo la pantalla hacia la
izquierda

Pantalla LCD

Datos seriales

Diseo de caracteres
// include the library code:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte feliz[8] = {
0b00000,
0b00000,
0b01010,
0b00000,
0b00000,
0b10001,
0b01110,
0b00000
};
byte triste[8] = {
0b00000,
0b00000,
0b01010,
0b00000,
0b00000,
0b00000,
0b01110,
0b10001
};

void setup() {
lcd.createChar(1, feliz);
lcd.createChar(2, triste);
lcd.begin(16, 2);
lcd.print("Arduino");
}
void loop() {
lcd.setCursor(4, 1);
lcd.write(1);
delay(2000);
lcd.setCursor(4, 1);
lcd.write(2);
delay(2000);
}

Teclado matricial

Teclado Matricial
#include <Keypad.h>
// usar este codigo
const byte filas = 4;
const byte columnas = 4;
char teclas[filas][columnas]={
{'0','1','2','3'},
{'4','5','6','7'},
{'8','9','A','B'},
{'C','D','E','F'}
};
byte pinFilas[filas]={30,32,34,36};
byte pinColumnas[columnas]={22,24,26,28};
Keypad teclado=Keypad(makeKeymap(teclas),pinFilas,pinColumnas,filas,columnas);
// usar hasta aqui
char tecla;
void setup(){
Serial.begin(9600);
}
void loop(){
tecla=teclado.getKey();
if(tecla!=NO_KEY){
Serial.println(tecla);
Serial.println(" ");
Serial.println(tecla-48);
}
}

Sensor CNY70
Azul Emisor
Seal infrarroja

Rojo Receptor

CNY
70

Reflejo de
superficie

Conexin

El CNY70 devuelve por la pata de salida


correspondiente, segn el montaje, un voltaje
relacionado con la cantidad de rayo reflectado por el
objeto. Para el montaje A, se leer del emisor un '1'
cuando se refleje luz y un '0' cuando no se refleje.
Para el montaje B los valores se leen del colector, y
son los contrarios al montaje A.

Aplicaciones
Seguidor de lnea:
Con lectura digital 1 0

Identificador de colores:
Con lectura anloga 0 a 1023
Recomendacin: Usar las superficies de
incidencia muy cerca del sensor para
mejor toma de datos.

SENSOR HC-SR04
Caractersticas tcnicas:
Los mdulos incluyen transmisores ultrasnicos, el receptor y el circuito de
control.
Nmero de pines:
o VCC: Alimentacin +5V (4.5V min 5.5V max)
o TRIG: Trigger entrada (input) del sensor
o ECHO: Echo salida (output) del Sensor
o GND

Corriente de reposo: < 2mA


Corriente de trabajo: 15mA
ngulo de medicin: 30
ngulo de medicin efectivo: < 15
Deteccin de 2cm a 400cm o 1" a 13 pies
(Sirve a ms de 4m, pero el fabricante no garantiza una buena medicin).
Resolucin La precisin puede variar entre los 3mm o 0.3cm.

Dimensiones: 45mm

x20mm x15mm

Frecuencia de trabajo: 40KHz

Funcionamiento

Enviar un Pulso "1" de al menos de 10uS por el Pin Trigger


(Disparador). El sensor enviar 8 Pulsos de 40KHz (Ultrasonido) y
coloca su salida Echo a alto (seteo), se debe detectar este evento
e iniciar un conteo de tiempo. La salida Echo se mantendr en alto
hasta recibir el eco reflejado por el obstculo a lo cual el sensor
pondr su pin Echo a bajo, es decir, terminar de contar el tiempo.
Se recomienda dar un tiempo de aproximadamente 50ms de
esperadespusde terminar la cuenta. La distancia es
proporcional a la duracin del pulso y puedes calcularla

pulseIn()
Sintaxis
pulseIn (pin, valor)
pulseIn (pin, valor de tiempo de espera)
Parmetros
pin: el nmero del pin en el que desea leer el
pulso. (Int)
valor: tipo de impulso a leer: o ALTA o BAJA . (Int)
Tiempo de espera (opcional): el nmero de
microsegundos que esperar a que el pulso para
empezar; por defecto es de un segundo (unsigned
long)

Cdigo

Conexin

MODULO BLUETOOTH HC-06


Voltaje de alimentacin:
3.3VDC 6VDC.
Voltaje de operacin:
3.3VDC.
Baud rate ajustable:
1200, 2400, 4800, 9600,
19200, 38400, 57600,
115200.
Tamao:
1.73 in x 0.63 in x 0.28 in
(4.4 cm x 1.6 cm x 0.7
cm)

HC-06

Cdigo

App inventor 2 - Android


http://ai2.appinventor.mit.
edu
/
Cuenta de Google.
Programacin de bloques.
Software libre.

Entorno App inventor 2

Barras

Matlab - Arduino
Para versiones superiores a
la 2010a del MATLAB

En arduino
Conectar la placa ARDUINO a travs del cable USB.
Verificar por cual COM quedo conectado. Nos dirijimos a Inicio>Equipo Click derecho
>Administrar>Administrador de dispositivos>Puertos>Arduino Mega 2560, al lado
derecho de Arduino Mega 2560 sale el COMX, siendo X un nuevo entre 0 y 6
usualmente.
Dentro del ARDUINO ir a Herramientas>Tarjeta y elegir la placa ARDUINO MEGA 2560
Dentro del Arduino: Archivo>Abrir Buscamos dentro de los archivos descargados en la
siguiente direccin: ArduinoIO>pde>adiosrv>adiosrv.pde
Teniendo el adiosrv abierto le damos a cargar y esperamos hasta que diga Carga
terminada.
Cerramos el ARDUINO para dejar de tener el puerto ocupado, as poder establecer
ahora la conexin a travs del MATLAB.

En matlab
Se abre como administrador el MATLAB, MATLAB
>Click dereho>Ejecutar como administrador.
El directorio Current Folder lo ubicamos dentro de la
carpeta ArduinoIO.
Procedemos a realizar la instalacin adecuada
insertando los comandos:
Digitamos install_arduino (sin comillas).
Ahora digitamos a=arduino('COMX') (sin comillas). Donde X es el
puerto usado por el arduino

LM35 Sensor de
Temperatura

L293D Puente H

Sentido del
motor

Control de velocidad con


Puente H

Cdigo
int pin2=9; //Entrada 2 del L293D
int pin7=10; //Entrada 7 del L293D
int pote=A0; //Potencimetro
int valorpote;
int pwm1;
int pwm2;

//Variable que recoge el valor del


//Variable del PWM 1
//Variable del PWM 2

void setup()
{
pinMode(pin2,OUTPUT);
pinMode(pin7, OUTPUT);
}
void loop()
{
//Almacenamos el valor del potencimetro en la
variable
valorpote=analogRead(pote);
//Como la entrada analgica del Arduino es de 10

potencimetro

TSL235F

Das könnte Ihnen auch gefallen