Étape 2: Voici le Code
Double s’il vous plaît cocher la = 5V/Gnd câblage. Si ça ne va pas, vous pouvez Définitivement endommager votre planche.
Une fois câblé vers le haut, essayez le Hello World ! Exemple, pour vérifier tout est OK. Vous devrez peut-être régler le potentiomètre pour voir le Hello World ! Message.
(Fichier -> exemples -> innovente -> HelloWorld)
OK, nous allons donc procéder.
Nous avons attaché un capteur d’inclinaison pour Arduino goupille d10 donc chaque fois que vous touchez le capteur il active une Excuse pour être générés.
Voici le code :
/* Adapté de l’exemple de l’Arduino Starter Kit Pièces nécessaires : http://Arduino.cc/starterKit Cet exemple de code fait partie du domaine public inclure le code de bibliothèque : initialiser la bibliothèque avec les numéros des broches interface mettre en place une constante pour la switchPin d’inclinaison variable pour stocker la valeur de la switchPin variable pour stocker la valeur précédente de la switchpin une variable de choisir qui répondent de la boule de cristal int i ; Décrivez vos excuses int longueur = 4 ; void setup() {} void loop() {} pour (i = 0; i < 4; i ++) {} boucle jusqu'à ce que le commutateur est passé de faible à élevé Si (switchState == HIGH) {}
Excuse Generator
par Anthony Kelly
Projet 11 - boule de cristal
Arduino UNO
SainSmart LCD (compatible HD44780)
Capteur d’inclinaison
*/
#include < LiquidCrystal.h >
#include < string.h >
Innovente lcd (12, 11, 5, 4, 3, 2) ;
const int switchPin = 10 ;
switchState int = 0;
int prevSwitchState = 0;
réponse d’int ;
char * commencer [] = {"je suis désolé mais", "Ne me blâmez pas", "Pas de ma faute","devinez ce qui s’est passé"} ;
char * middle [] = {"Chuck Norris", "Picsou", "Godzilla", "Soap McTavish"} ;
char * se termine [] = {"a essayé de tuer me.","a mangé mes devoirs.","est venu après me.", "a volé ma tête"} ;
mettre en place le nombre de colonnes et de lignes sur l’écran LCD
LCD.Begin (16, 2) ;
Définissez le pullup sur la tige de l’interrupteur
pinMode (switchPin, entrée) ;
digitalWrite (switchPin, HIGH) ;
}
nettoyer l’écran avant d’imprimer une nouvelle réponse
LCD.Clear() ;
Imprimer un message à l’écran LCD.
lcd.print (« nécessité une ");
régler le curseur sur la colonne 0, ligne 1
la ligne 1 est la seconde ligne, puisque le décompte commence par 0
lcd.setCursor (0, 1) ;
imprimer sur la deuxième ligne
lcd.print("Excuse?") ;
tandis que (! () switchState == HIGH & & prevSwitchState == faible)) {
l’interrupteur n’a pas changé de faible à élevé dernière fois
N’oubliez pas l’état précédent de l’interrupteur de la dernière itération
prevSwitchState = switchState ;
Lire l’état actuel
switchState = digitalRead(switchPin) ;
retarder comme un simple debounce
Delay(100) ;
}
la boucle while wthout quitté mise à jour
l’état précédent de l’interrupteur donc le faire maintenant
prevSwitchState = switchState ;
choisir au hasard un indice de réponse
réponse = random(length) ;
nettoyer l’écran avant d’imprimer une nouvelle réponse
LCD.Clear() ;
régler le curseur sur la colonne 0, ligne 0
lcd.setCursor (0, 0) ;
imprimer un texte
Une autre partie de l’excuse pour chaque itération de la boucle for
switch(i) {}
affaire 0:lcd.print(start[reply]) ; rupture ;
affaire 1:lcd.print(middle[reply]) ; rupture ;
affaire 2:lcd.print(ends[reply]) ; rupture ;
}
}
}
}