Paso 1: Código de Arduino
/ * Creado por: Jonielle McDonnough
Propósito: "es en el alojamiento del muelle"
Fecha de creación: 05 de abril de 2015
Este código es función de una flor usando un motor servo, pantalla LCD y control remoto. */
#include < IRremote.h >
#include < LiquidCrystal_I2C.h >
#include < Wire.h >
#include < Servo.h >
desde que estoy usando un control remoto Infra rojo que es necesario definir los valores de cada botón del mando a distancia
#define BUTTON_0 0xFF6897 / / los valores de su control remoto.
#define BUTTON_1 0xFF30CF / / otro botón en su control remoto
#define BUTTON_2 0xFF18E7 / / otro botón en su control remoto
#define BUTTON_3 0xFF7A85 / / otro botón en su control remoto
#define BUTTON_4 0xFF10EF / / otro botón en su control remoto
#define BUTTON_5 0xFF38C7 / / otro botón en su control remoto
#define BUTTON_6 0xFF5AA5 / / otro botón en su control remoto
#define BUTTON_7 0xFF42BD / / otro botón en su control remoto
#define BUTTON_8 0xFF4AB5 / / otro botón en su control remoto
#define BUTTON_9 0xFF52AD / / otro botón en su control remoto
#define potencia 0xFFA25D / / otro botón en su control remoto
#define modo 0xFF / / otro botón en su control remoto
#define MUTE 0xFFE21D / / otro botón en su control remoto
#define PREV 0xFF22DD / / otro botón en su control remoto
#define siguiente 0xFF02FD / / otro botón en su control remoto
#define 0xFFC23D PLAY/PAUSE / / otro botón en su control remoto
#define VOL_DWN 0xFFE01F / / otro botón en su control remoto
#define VOL_UP 0xFFA857 / / otro botón en su control remoto
#define EQ 0xFF9067 / / otro botón en su control remoto
#define HUNDRED_PLUS 0xFF9867 / / otro botón en su control remoto
#define espalda 0xF0C41643 / / otro botón en su control remoto
Lcd de LiquidCrystal_I2C (0x27, 16, 2); inicializar la biblioteca con los números de los pines de interfaz
int RECV_PIN = 11; el receptor va a utilizar el pin 11
Irrecv(RECV_PIN) de IRrecv;
resultados de la decode_results;
Servo myservo1; nombre del servo
int pos = 0; posición inicial
las siguientes variables están definiendo a una rotación específica
post1 int = pos;
post2 int pos = 30;
int post3 = pos + 60;
post4 int pos = 90;
post5 int pos = 120;
post6 int pos = 150;
post7 int pos = 180;
la rutina de instalación se ejecuta una vez al presionar reset:
void setup()
{
Serial.Begin(9600);
irrecv.enableIRIn(); Inicio del receptor
myservo1.Attach(9); servo de ataque al pin digital 9
LCD.init(); Inicializa la pantalla lcd
LCD.Backlight(); enciende la luz de fondo
}
void loop() / / la rutina del bucle se ejecuta una y otra vez para siempre:
{
Si (irrecv.decode (y resultados))
{
Serial.println (results.value, hexagonal);
irrecv.resume(); Recibir el siguiente valor
}
Si (results.value == BUTTON_0)
{
myservo1.Write(0);
LCD.Clear();
LCD.Print ("Hola mamá!");
}
Si (results.value == BUTTON_1)
{
myservo1.Write(post1);
LCD.Clear();
LCD.Print ("lápiz/pluma #1");
}
Si (results.value == BUTTON_2)
{
myservo1.Write(post2);
LCD.Clear();
LCD.Print ("lápiz/pluma #2");
}
Si (results.value == BUTTON_3)
{
myservo1.Write(post3);
LCD.Clear();
LCD.Print ("lápiz/pluma #3");
}
Si (results.value == BUTTON_4)
{
myservo1.Write(post4);
LCD.Clear();
LCD.Print ("lápiz/pluma #4");
}
Si (results.value == BUTTON_5)
{
myservo1.Write(post5);
LCD.Clear();
LCD.Print ("lápiz/pluma #5");
}
Si (results.value == BUTTON_6)
{
myservo1.Write(post6);
LCD.Clear();
LCD.Print ("lápiz/pluma #6");
}
Si (results.value == BUTTON_7)
{
myservo1.Write(post7);
LCD.Clear();
LCD.Print ("lápiz/pluma #7");
}
Si (results.value == BUTTON_8)
{
myservo1.Write(135);
LCD.Clear();
LCD.Print ("I LOVE MUMMI");
}
Si (results.value == BUTTON_9)
{
myservo1.Write(171);
LCD.Clear();
LCD.Print ("Disfrute de su día!");
}
lcd.setCursor (0, 1);
}
El código anterior proporciona todas las cosas que debe definir antes de ir en la puesta a punto y lazo. Cada biblioteca necesaria debe ser incluido como inició y los pernos deben definirse. Los botones del control remoto deben ser definidos para su uso. Puede ver la salida de cada botón al abrir el lector de puerto serie. Las salidas que tengo en este código son para el negro control remoto que viene con el Arduino Kit. Como usted trabaja su manera hasta la puesta a punto, te darás cuenta que es donde se inician el puerto serie y el receptor. El motor servo se ajusta al pin digital 9 mientras inicializa la pantalla lcd y la retroiluminación se enciende. En el bucle, para mí, es donde sucede la acción. Los valores de los resultados (salida) del mando a distancia se colocan en declaraciones si-entonces. En las declaraciones, el motor servo se mueve a una cierta cantidad de grados que se dice a (estos grados ya están definidos en la parte superior del código). La pantalla LCD entonces borra la pantalla e imprime la frase adecuada. Al final del bucle del cursor de la pantalla se establece en (0,1). Básicamente sólo se imprimirá una línea.