Étape 1: Arduino Code
/ * Créé par : Jonielle McDonnough
But: « printemps est in the Holder »
Date de création: 5 avril 2015
Ce code doit fonctionner une fleur à l’aide d’un servo moteur, écran LCD et télécommande IR. */
#include < IRremote.h >
#include < LiquidCrystal_I2C.h >
#include < Wire.h >
#include < Servo.h >
depuis que je suis sur une télécommande infrarouge, que j’ai besoin de définir les valeurs de chaque bouton de la télécommande
#define BUTTON_0 0xFF6897 / / les valeurs de votre télécommande.
#define BUTTON_1 0xFF30CF / / un autre bouton de votre télécommande
#define BUTTON_2 0xFF18E7 / / un autre bouton de votre télécommande
#define BUTTON_3 0xFF7A85 / / un autre bouton de votre télécommande
#define BUTTON_4 0xFF10EF / / un autre bouton de votre télécommande
#define BUTTON_5 0xFF38C7 / / un autre bouton de votre télécommande
#define BUTTON_6 0xFF5AA5 / / un autre bouton de votre télécommande
#define BUTTON_7 0xFF42BD / / un autre bouton de votre télécommande
#define BUTTON_8 0xFF4AB5 / / un autre bouton de votre télécommande
#define BUTTON_9 0xFF52AD / / un autre bouton de votre télécommande
#define POWER 0xFFA25D / / un autre bouton de votre télécommande
#define MODE 0xFF / / un autre bouton de votre télécommande
#define MUTE 0xFFE21D / / un autre bouton de votre télécommande
#define PREV 0xFF22DD / / un autre bouton de votre télécommande
#define NEXT 0xFF02FD / / un autre bouton de votre télécommande
#define 0xFFC23D de lecture/PAUSE / / un autre bouton de votre télécommande
#define VOL_DWN 0xFFE01F / / un autre bouton de votre télécommande
#define VOL_UP 0xFFA857 / / un autre bouton de votre télécommande
#define EQ 0xFF9067 / / un autre bouton de votre télécommande
#define HUNDRED_PLUS 0xFF9867 / / un autre bouton de votre télécommande
#define dos 0xF0C41643 / / un autre bouton de votre télécommande
LiquidCrystal_I2C lcd (0 x 27, 16, 2) ; initialiser la bibliothèque avec les numéros des broches interface
int RECV_PIN = 11 ; le récepteur utilisera broche 11
IRrecv irrecv(RECV_PIN) ;
résultats de la decode_results ;
Servo myservo1 ; nom du servo
int pos = 0 ; position initiale
les variables suivantes sont définis pour une rotation spécifique
int post1 = pos ;
int post2 = pos + 30 ;
post3 int = pos + 60 ;
int post4 = pos + 90 ;
post5 int = pos + 120 ;
post6 int = pos + 150 ;
int post7 = pos + 180 ;
la routine d’installation s’exécute une fois que lorsque vous appuyez sur reset :
void setup()
{
Serial.Begin(9600) ;
irrecv.enableIRIn() ; Démarrer le récepteur
myservo1.Attach(9) ; servo d’attaque jusqu'à la broche numérique 9
LCD.init() ; Initialise l’écran lcd
LCD.backlight() ; le rétro-éclairage s’allume
}
void loop() / / la routine de la boucle s’exécute maintes et maintes fois pour toujours :
{
Si (irrecv.decode (et résultats))
{
Serial.println (results.value, HEX) ;
irrecv.Resume() ; Recevoir la valeur suivante
}
Si (results.value == BUTTON_0)
{
myservo1.Write(0) ;
LCD.Clear() ;
LCD.Print ("Salut maman!") ;
}
Si (results.value == BUTTON_1)
{
myservo1.Write(post1) ;
LCD.Clear() ;
LCD.Print ("crayon/stylo #1") ;
}
Si (results.value == BUTTON_2)
{
myservo1.Write(post2) ;
LCD.Clear() ;
LCD.Print ("crayon/stylo #2") ;
}
Si (results.value == BUTTON_3)
{
myservo1.Write(post3) ;
LCD.Clear() ;
LCD.Print ("crayon/stylo #3") ;
}
Si (results.value == BUTTON_4)
{
myservo1.Write(post4) ;
LCD.Clear() ;
LCD.Print ("crayon/stylo #4") ;
}
Si (results.value == BUTTON_5)
{
myservo1.Write(post5) ;
LCD.Clear() ;
LCD.Print ("crayon/stylo #5") ;
}
Si (results.value == BUTTON_6)
{
myservo1.Write(post6) ;
LCD.Clear() ;
LCD.Print ("crayon/stylo #6") ;
}
Si (results.value == BUTTON_7)
{
myservo1.Write(post7) ;
LCD.Clear() ;
LCD.Print ("crayon/stylo #7") ;
}
Si (results.value == BUTTON_8)
{
myservo1.Write(135) ;
LCD.Clear() ;
LCD.Print ("I LOVE vous MUMMI") ;
}
Si (results.value == BUTTON_9)
{
myservo1.Write(171) ;
LCD.Clear() ;
LCD.Print ("Profitez de votre journée!") ;
}
lcd.setCursor (0, 1) ;
}
Le code ci-dessus fournit tout ce que vous devez définir avant d’aller dans la configuration et la boucle. Chaque bibliothèque nécessaire doit être inclus comme initié et les goupilles doivent être définis. Les boutons de la télécommande doivent être définis afin de l’utiliser. Vous pouvez voir la sortie de chaque bouton en ouvrant le lecteur de port série. Les sorties que j’ai dans ce code sont pour le noir distant qui est livré avec le Arduino Kit. Pendant que vous travaillez votre chemin jusqu'à la mise en place, vous remarquerez que c’est où le port série et le récepteur sont initiées. Le servomoteur est défini sur la broche numérique 9 tandis que l’écran lcd initialise et son rétro-éclairage s’allume. Dans la boucle, pour moi, c’est où l’action se passe. Les valeurs des résultats (sortie) de la télécommande sont placées dans les instructions if-then. Dans les déclarations, le servomoteur se déplace à un certain nombre de degrés qu’il est dit de se tourner vers (ces degrés sont déjà définis au début du code). L’écran LCD puis efface son écran et imprime l’expression appropriée. À la fin de la boucle, le curseur de l’écran LCD est située à (0,1). Il n’imprimera que fondamentalement une seule ligne.