Sunteți pe pagina 1din 22

SEMINARIO BSICO

DE ARDUINO
Prof: Francisco Canto
Entradas Digitales

QU ES UNA ENTRADA DIGITAL?


Una seal digital es una variacin de voltaje entre -Vcc
a +Vcc sin pasar por los valores intermedios. Por lo
tanto, una seal digital dispone solo de dos estados. Al
valor inferior de tensin -Vcc le asociamos un valor
lgico LOW o 0, mientras que al valor superior +Vcc le
asociamos HIGH o 1 lgico.
CONEXIN DE ENTRADAS
DIGITALES EN ARDUINO

Las entradas y salidas digitales comparten pin, (I/O digitales).


Arduino dispone de un nmero diferente de I/O digitales en
funcin del modelo. Arduino UNO dispone de 16 I/O digitales y
Arduino MEGA de 54.
En Arduino los valores de alimentacin habituales son 0V y
5V.
En este caso la tensin umbral ser muy cercana a 25V. Por
tanto si medimos una tensin con un valor intermedio entre 0 a
25V Arduino devolver una lectura LOW, y si medimos un valor
entre 25V y 5V, devolvera HIGH.
Diagrama de conexin
Resistencias de pull up y 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
x<y
//x mayor que y
x>y
//x menor o igual que y
x <= y
//x mayor o igual que y
x >= y
OPERADORES ARITMTICOS

//operador de asignacin
a=b
//adicin
a+b
//substraccin
a-b
//multiplicacin
a*b
//divisin
a/b
OPERADORES LGICOS
//and binario
a&b
//or binario
a|b
//xor binario
a^b
//not binario
a~b
//desplazamiento a izquierda
a << b
//desplazamiento a derecha
a >> b
Operadores Booleanos

//not
!a

//and
a && b

//or
a || b
Tipos de datos
//booleano, false o true
boolean = false;
//entero, 16 bits, de -32,768 a 32,767
int var = 100;
//coma floante, 32 bits, de -3.4028235E+38
a 3.4028235E+38. Precision 6 digitos
float var = 1.117;
//8 bits, de 0 a 255
byte var = B10010;
//8 bits, de -128 a 127
char var = 'A';
CONDICIONAL IF

if (variable < 10)


{
// accion A
}
CONDICIONAL IF

if (variable < 10)


{
// accion A
}
else
{
// accion B
}
CONDICIONAL IF

if (variable < 10)


{
// accion A
}
else if (variable >= 100)
{
// accion B
}
else
{
// accion C
}
Ejemplo
Programa
int pulsador=2;
int led=13;

void setup()
{
pinMode(pulsador, INPUT);
pinMode(led,OUTPUT);
}
void loop()
{
if (digitalRead(pulsador)==HIGH)
{
digitalWrite(led,HIGH);
}
else
{
digitalWrite(led,LOW);
}
}
Temporizador
int pulsador=2;
int led=13;
void setup()
{
pinMode(pulsador, INPUT);
pinMode(led,OUTPUT);
}
void loop()
{
if (digitalRead(pulsador)==HIGH)
{
delay(5000);
digitalWrite(led,HIGH);
delay(2000);
digitalWrite(led,LOW);
}
else
{
digitalWrite(led,LOW);
}
}
Contador
int pulsador=2;
if (cont>=5)
int led=13;
{
int cont=0;
digitalWrite(led,HIGH);
void setup()
delay(5000);
{
cont=0;
pinMode(pulsador, INPUT);
}
pinMode(led,OUTPUT);
else {
}
digitalWrite(led,LOW);
cont=cont++;
void loop()
}
{
if (digitalRead(pulsador)==HIGH)
}
{
cont++;
delay(1000);
}
Ejercicio
Hacer un programa para controlar 6 leds por medio de
un botn, el primero debe encender al pulsar el botn 5
veces, el segundo al pulsar 10 veces y as sucesivamente
Monitor Serial
Circuito
Programa
int boton=2;
void setup() {
pinMode(boton,INPUT);
Serial.begin(9600);
}
void loop()
{
int estado = digitalRead(boton);
if (estado==1)
{
Serial.println("Pulsado"); else
{
Serial.println("NO Pulsado");
}
delay(100);
}
Ejercicio

Realice un programa que permita activar un contador


con un botn. El resultado de la cuenta se debe mostrar
en el puerto serial

S-ar putea să vă placă și