RETO MES DE ABRIL .............................docx
Repaso
1.
2. Tiene:
14 pines de entrada/salida digital (de los cuales 6
pueden ser usados como salidas PWM),
6 entradas analógicas,
una conexión USB,
un conector para alimentación,
un botón de reset
Arduino es una plataforma open-hardware basada en una sencilla placa con
entradas y salidas (E/S), analógicas y digitales.
3. COMENZANDO CON ARDUINO
1.- Descargar el entorno Arduino.
2.Conectar la placa.
Para programar la placa Arduino
necesitas el entorno Arduino.
Descarga la última versión desde
http://www.arduino.cc/
Se puede alimentar la placa desde el
puerto USB (bueno para controlar
dispositivos de baja potencia como
LEDs). Para alimentar la placa desde
una fuente externa (6-12 V).
En cualquier caso, conecta la placa
a un puerto USB de tu ordenador.
4. ESTRUCTURA DEL LENGUAJE DE PROGRAMACIÓN
ARDUINO
Organizado en al
menos, dos
bloques
void setup()
{
Declaraciones;
}
void loop()
{
Declaraciones;
}
Definición de variables
(opcional aunque aconsejable)
5. ESTRUCTURA DEL LENGUAJE DE PROGRAMACIÓN
ARDUINO
setup() y loop() son necesarias para que el
programa funcione.
Se puede incluir una sección de declaración de
funciones entre setup() y loop()
6. int led = 10; //asigna el número 10 a una variable
//que llamaremos 'led'
void setup()
{
pinMode(led,OUTPUT); //ajusta el pin 10 como salida
}
void loop()
{
digitalWrite(led,HIGH); //enciende el led
delay(1000); //aguarda 1000 milisegundos
digitalWrite(led;LOW); //apaga el led
delay(1000); //vuelve a esperar 1000 milisegundos
}
EJEMPLO
Núcleo del
programa. Se
ejecuta
ciclicamente
Se ejecuta
una vez.
Inicia la
comunicación
serie
7. EN UN PROGRAMA PUEDE
HABER:
- DEFINICIÓN DE VARIABLES
- INSTRUCCIONES
- FUNCIONES
- ESTRUCTURAS
9. VARIABLES. DEFINICIÓN
Variable en programación es igual que en
matemáticas: una entidad que tiene nombre y
cuyo valor se asigna al principio o al final de
un proceso
- DEFINICIÓN DE
VARIABLES
10. int led = 10; //asigna el número 10 a una variable
//que llamaremos 'led'
void setup()
{
pinMode(led,OUTPUT); //ajusta el pin 10 como salida
}
void loop()
{
digitalWrite(led,HIGH); //enciende el led
delay(1000); //aguarda 1000 milisegundos
digitalWrite(led;LOW); //apaga el led
delay(1000); //vuelve a esperar 1000 milisegundos
}
En el ejemplo anterior la variable se
llama led y le doy un valor inicial de 10
- DEFINICIÓN DE
VARIABLES
11. DECLARACIÓN DE VARIABLES
int contador = 0;
TIPOS DE VARIABLES
byte (entre 0 y 255 sin signo y sin coma decimal)
Ejemplo: byte unaVariable=0;
int (entre –32767 y 32767, sin coma decimal, con signo.)
Ejemplo: int saldoCuenta=0;
- DEFINICIÓN DE
VARIABLES
13. INSTRUCCIONES DE E/S DIGITALES
- HAY 14 PINES DE E/S DIGITALES NUMERADOS DEL 0 AL 13
- AL SER DIGITALES, LOS VALORES QUE SE LEEN Y/O
ESCRIBEN SON 0 Y 1
- INSTRUCCIONES
- POSIBLES VALORES
pinMode(pin,modo)
digitalRead(pin)
digitalWrite(pin, valor)
- pin, entre 0 y 13
- modo, entre INPUT y OUTPUT
- valor, entre HIGH y LOW
INSTRUCCIONES
14. INSTRUCCIONES DE E/S ANALÓGICAS
- HAY 6 PINES DE E/S DIGITALES NUMERADOS DEL A0 AL A5
- AL SER ANALÓGICOS, SIEMPRE SON DE LECTURA (NO NECESITA
LA INSTRUCCIÓN pinMode)
- INSTRUCCIONES
analogRead(pin)
analogWrite(pinPWM, valor)
- pinPWM, a elegir entre
3, 5, 6, 9, 10 y 11
- valor, entre 0 y 255
- pin, entre A0 y A5
- el valor que devuelve está entre 0 y
1023
INSTRUCCIONES
15. int led = 10; //asigna el número 10 a una variable
//que llamaremos 'led'
void setup()
{
pinMode(led,OUTPUT); //ajusta el pin 10 como salida
}
void loop()
{
digitalWrite(led,HIGH); //enciende el led
delay(1000); //aguarda 1000 milisegundos
digitalWrite(led;LOW); //apaga el led
delay(1000); //vuelve a esperar 1000 milisegundos
}
INSTRUCCIONES
Instrucciones digitales
16. int led = 10; //define la variable 'led' y le da el valor 10
int analog = 0; //define la variable 'analog' y le da el valor 0
int valor; // define la variable 'valor' sin asignarle ningún valor
void setup()
{ //no es necesario poner aquí nada
}
void loop()
{
valor =analogRead(analog); //lee el pin 0 y lo asocia a la variable valor
valor /= 4; //divide valor entre 4 y lo reasigna a valor
analogWrite(led, value); // escribe en el pin10 valor
}
EJEMPLO 2 DE PROGRAMA
INSTRUCCIONES
INSTRUCCIONES ANALÓGICAS
18. int tiempo=200; // Declaración inicial
int n;
void setup()
{ //comienza la configuracion
for (n=5;n<9;n++)
{
pinMode (n, OUTPUT);
}
}
void secuencia()
/*función llamada secuencia que será invocada por loop de manera continua */
{
for (n=5;n<9;n++)
{
digitalWrite (n, HIGH); //activa el pin n
delay (tiempo); //cuenta 200 milisegundos
digitalWrite (n, LOW); //desactiva el pin n
delay (tiempo); //cuenta 200 milisegundos
}
}
void loop()
{
secuencia(); //Llamada a secuencia() desde loop
}
FUNCIONES
19. ELEMENTOS DEL LENGUAJE
- llaves { }
void loop ()
{
Bloque de sentencias;
}
- punto y coma ;
- bloques de comentarios /* */
/* este sería un ejemplo de
comentario que continúa en
otras líneas*/
- comentarios de una sola línea //
int contador = 0; //declaro la var contador y la inicializo a cero
22. ESTRUCTURA for
for (inicialización; condición; expresión)
{
Instrucciones;
}
ESTRUCTURAS
for (int i=0; i<20; i++) // declara i, prueba que es menor que 20, incrementa i en 1
{
digitalWrite(13, HIGH); // envía un 1 al pin 13
delay(250); // espera ¼ seg.
digitalWrite(13, LOW); // envía un 0 al pin 13
delay(250); // espera ¼ de seg.
}