Seguidor de Linea
Seguidor de Linea
Programa que demuestra el funcionamiento del sensor de linea KY-033 imprimiendo en monitor serial
si se encuentra sobre una linea de color negro o fuera de la misma.
void setup(){
Serial.begin(9600); // inicializa comunicacion serie a 9600 bps
pinMode(SENSOR, INPUT); // pin 2 como entrada
}
void loop(){
VALOR = digitalRead(SENSOR); // lee valor de sensor y asigna a variable VALOR
if (VALOR != ANTERIOR){ // si el valor es distinto del ultimo
if (VALOR == HIGH) // si VALOR tiene un nivel alto es linea negra
Serial.println("Linea"); // imprime en monitor serial la palabra Linea
else // si VALOR tiene un nivel bajo es fuera de linea
Serial.println("Fuera"); // imprime en monitor serial la palabra Fuera
ANTERIOR = VALOR; // actualiza variable ANTERIOR con el actual de VALOR
}
delay(500); // breve demora de medio segundo
}
CONTROL CON INFRARROJO
Programa que permite mostrar en el monitor serial el codigo correspondiente al botón presionado en
un control remoto mediante el modulo receptor KY-022. Requiere la instalacion de la libreria IRremote.
void setup() {
Serial.begin(9600); // inicializa comunicacion serie a 9600 bps
irrecv.enableIRIn(); // inicializa recepcion de datos
pinMode(LEDROJO, OUTPUT); // pin 2 como salida
pinMode(LEDVERDE, OUTPUT); // pin 3 como salida
pinMode(LEDAZUL, OUTPUT); // pin 4 como salida
}
void loop() {
if (irrecv.decode(&codigo)) { // si existen datos ya decodificados
Serial.println(codigo.value, HEX); // imprime valor en hexadecimal en monitor
if (codigo.value == Boton_1) // si codigo recibido es igual a Boton_1
digitalWrite(LEDROJO, !digitalRead(LEDROJO)); // enciende o apaga componente rojo
if (codigo.value == Boton_2) // si codigo recibido es igual a Boton_2
digitalWrite(LEDVERDE, !digitalRead(LEDVERDE));// enciende o apaga componente verde
if (codigo.value == Boton_3) // si codigo recibido es igual a Boton_3
digitalWrite(LEDAZUL, !digitalRead(LEDAZUL)); // enciende o apaga componente azul
irrecv.resume(); // resume la adquisicion de datos
}
delay (100); // breve demora de 100 ms.
}
PROGRAMA QUE PERMITE ESTABLECER UNA COMUNICACION CON EL MODULO
BLUETOOTH HC-05
COMANDOS AT
void setup(){
Serial.begin(9600); // comunicacion de monitor serial a 9600 bps
Serial.println("Listo"); // escribe Listo en el monitor
miBT.begin(38400); // comunicacion serie entre Arduino y el modulo a 38400 bps
}
void loop(){
if (miBT.available()) // si hay informacion disponible desde modulo
Serial.write(miBT.read()); // lee Bluetooth y envia a monitor serial de Arduino
Segundo programa:
Programa que permite encender y apagar dos LEDs mediante el modulo Bluetooth HC-05
void setup(){
miBT.begin(38400); // comunicacion serie entre Arduino y el modulo a 38400 bps
pinMode(LEDROJO, OUTPUT);// pin 2 como salida
pinMode(LEDVERDE, OUTPUT); // pin 3 como salida
}
void loop(){
if (miBT.available()){ // si hay informacion disponible desde modulo
DATO = miBT.read(); // almacena en DATO el caracter recibido desde modulo
void setup(){
miBT.begin(38400); // comunicacion serie entre Arduino y el modulo a 38400 bps
pinMode(LEDROJO, OUTPUT); // pin 2 como salida
pinMode(LEDVERDE, OUTPUT); // pin 3 como salida
}
void loop(){
if (miBT.available()){ // si hay informacion disponible desde modulo
DATO = miBT.read(); // almacena en DATO el caracter recibido desde modulo