Seminario de Arduino Clase 2

February 11, 2019 | Author: Francisco Javier Canto | Category: Bit, Arduino, Computer Architecture, Areas Of Computer Science, Computer Engineering
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF