Seminario de Arduino Clase 2
Short Description
Presentación de la segunda parte del seminario de básico de Arduino...
Description
SEMINARIO BÁSICO DE ARDUINO Prof: Francisco Canto
Entradas Digitales
¿QUÉ ES UNA ENTRADA DIGITAL?
Una señal digital es una variación de voltaje entre -Vcc a +Vcc sin pasar pasar por los valores valores interm intermedios edios. Por lo tanto, una señal digital di gital dispone solo de dos estados. Al Al valor inferior inferior de tensión tensión -Vcc le asociamos asociamos un valor valor lógico LOW o ‘0’, mientras que al valor superior +Vcc le asociamos HIGH o ‘1’ lógico.
CONEXIÓN DE ENTRADAS DIGITALES DIGIT ALES EN ARDUINO
Las entradas y salidas digitales comparten pin, (I/O digitales).
Arduino dispone de un número diferente de I/O digitales en función del modelo. Arduino UNO dispone de 16 I/O digitales y Arduin Ard uinoo MEG MEGA A de de 54.
En Arduino los valores de alimentación habituales son 0V y 5V.
En este caso la tensión umbral será muy cercana a 2’5V. Por tanto si medimos una tensión con un valor intermedio entre 0 a 2’5V Arduino devolverá una lectura lectura LOW, LOW, y si medimos medimos un valor valor devolv olvera era HIG HIGH. H. entre 2’5V y 5V, dev
Diagrama de conexión
Resi esiste stencia nciass de de pull pull up y pull pull down
REFERENCIA PARA EL PROGRAMADOR DEL LENGUAJE ARDUINO
COMPARADORES //x igual a y x == y //x distinto de y x != y //x menor que y xy //x menor o igual que y x = y
OPERADORES ARITMÉTICOS //operador de asignación a=b //adición a+b //substracción a-b //multiplicación a*b //división a/b
OPERADORES LÓGICOS //and binario a&b //orr bi //o bina nari rio o a|b //xor //x or bi bina nari rio o a^b //not //n ot bi bina nari rio o a~b //desplazamiento a izquierda a > b
Operadores Booleanos
//not !a //and a && b //or a || b
Tipos de datos //booleano, false o true boolean = false false;; //entero, 16 bits, de -32,768 a 32,767 int va var r = = 100 100;; //coma floante, 32 bits, de -3.4028235E+38 a 3.4028235 3.4028235E+38. E+38. Precision Precision 6 digitos digitos floa fl oatt va var r = = 1.117 1.117;; //8 bits, de 0 a 255 byte va var r = = B10010 B10010;; //8 bits, de -128 a 127 cha ch ar va var r = = 'A' 'A';;
CONDICIONAL IF
if (variable < 10 if ( 10)) { // ac acci cion on A }
CONDICIONAL IF if (variable < 10 if ( 10)) { // ac accio cion nA } else { // ac acci cion on B }
CONDICIONAL IF if (variable < 10 if ( 10)) { // ac acci cion on A } else if f ((variable >= 100 100)) { // ac acci cion on B } else { // ac acci cion on C }
Ejemplo
Programa int pulsad pulsador= or=2; 2; int int led=1 led=13; 3; void setup() { pinMode(pulsador, INPUT); pinMode(led,OUTPUT); } void loop() { if (digitalRead(pulsador)==HIGH) (digitalRead(pulsador)==HIGH) { digitalWrite(led,HIGH); } else { digitalWrite(led,LOW); } }
Temporizador int pulsad pulsador or=2; =2; int int led= led=13 13;; void setup() { pinMode(pulsador, INPUT); pinMode(led,OUTPUT); } void loop() { if (digitalRead(pulsador)==HIGH) (digitalRead(pulsador)==HIGH) { delay(5000); digitalWrite(led,HIGH); delay(2000); digitalWrite(led,LOW); } else { digitalWrite(led,LOW); }
Contador int pulsad pulsador or=2; =2; int int led= led=13 13;; int int cont cont=0 =0;; void setup() { pinMode(pulsador, INPUT); pinMode(led,OUTPUT); } void loop() { if (digitalRead(pulsador)==HIGH) (digitalRead(pulsador)==HIGH) { cont++; delay(1000); }
if (cont>=5) { digitalWrite(led,HIGH); delay(5000); cont=0; } else { digitalWrite(led,LOW); cont=cont++; } }
Ejercicio
Hacer un programa para controlar 6 leds por medio de un botón, el primero debe encender al pulsar el botón 5 veces, el segundo al pulsar 10 veces y así sucesivamente
Monitor Serial
Circuito
Programa int int boto boton= n=2; 2; void setup() { pinMode(boton,INPUT); Serial.begin(9600); } void loop() { int estado estado = digita digitalR lRead ead(bo (boton ton); ); if (estado==1) { Serial.println("Pulsado"); Serial.println("Pulsado"); else { Serial.println("NO Pulsado"); } delay(100); }
Ejercicio
Realice un programa que permita activar un contador con un botón. El resultado de la cuenta se debe mostrar en el puerto serial
View more...
Comments