Étape 2: Étape 2: Arduino Code
J’ai inclus la StepperAK.h, wire.h, LiquidCrystal_I2C.h, IRremote.h, IRremoteInt.h bibliothèques dans mon sketch :
int RECV_PIN = 12 ; affecter le récepteur IR à axe 12
int gearratio = 100 ; la valeur initiale de la démultiplication
IRrecv irrecv(RECV_PIN) ;
résultats de la decode_results ;
LiquidCrystal_I2C lcd(0x27,16,2) ;
const int stepsPerRevolution = 100 ; une révolution complète serait 2048, mais le nombre est fixé très bas pour que la boucle se répète rapidement afin que le récepteur ir est constamment en attente d’une nouvelle entrée
Moteurs pas à pas myStepper(stepsPerRevolution,2,3,4,5) ;
void setup()
{Serial.begin(9600) ;
LCD.init() ;
LCD.backlight() ;
irrecv.enableIRIn (); //start récepteur}
void loop()
{myStepper.setSpeed(0.15*gearratio); / / utiliser une variable lors du réglage de la vitesse de l’automobile myStepper.step(stepsPerRevolution); / / cela vous indiquera combien le moteur tournera à chaque boucle
Si (irrecv.decode (et résultats))
{Serial.println(results.value,HEX); / / affiche la valeur d’entrée provenant de la télécommande infrarouge. Cela montrera quel bouton a été activé
chaque instruction « if » correspond aux trois boutons de la télécommande IR qui vont changer le moteur vitesse et écran lcd :
Si (results.value == 0xFF30CF) / / bouton 1 de la télécommande
{lcd.clear() ;
LCD.Print ("Golf de moulin à vent") ;
lcd.setCursor(1,8) ; déplace le message suivant à la deuxième ligne de l’écran
LCD.Print ("réglage : facile") ;
gearratio = 300 ; }
Si (results.value == 0xFF18E7) / / bouton 2 de la télécommande
{lcd.clear() ;
LCD.Print ("Golf de moulin à vent") ;
lcd.setCursor(1,7) ;
LCD.Print ("réglage : Normal") ;
gearratio = 800 ; }
Si (results.value == 0xFF7A85) / / bouton 3 sur la télécommande
{lcd.clear() ;
LCD.Print ("Golf de moulin à vent") ;
lcd.setCursor(1,8) ;
LCD.Print ("réglage : dur") ;
gearratio = 1200 ; }
irrecv.Resume (); //receive valeur suivante}}