Étape 1 :
Vérifier qu’il fonctionne en téléchargeant le croquis suivant (code pour Arduino) :
Échantillon à l’aide de la bibliothèque innovente
#include < LiquidCrystal.h >
/*******************************************************
Ce programme a été initialement créé par
Mark Bramwell, juillet 2010
Il fut alors changé pour un projet de l’accéléromètre
par Brandon Middleton, avril 2012
********************************************************/
Sélectionnez les broches sur le panneau ACL
Innovente lcd (8, 9, 4, 5, 6, 7) ;
définir certaines valeurs utilisées par les boutons et le panneau
int lcd_key = 0 ;
int adc_key_in = 0 ;
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5
lire les boutons
int read_LCD_buttons()
{
adc_key_in = analogRead(0) ; lire la valeur de la sonde
Mes boutons quand lues sont centrées sur ces valeurs: 0, 329, 504, 144 741
on ajoute environ 50 à ces valeurs et vérifier si nous sommes proches
Si le retour (adc_key_in > 1000) btnNONE ; Nous faisons cela la variante 1 pour des raisons de vitesse puisqu’il sera le résultat le plus probable
Si (adc_key_in < 50) return btnRIGHT ;
Si (adc_key_in < 195) return btnUP ;
Si (adc_key_in < 380) return btnDOWN ;
Si (adc_key_in < 555) return btnLEFT ;
Si (adc_key_in < 790) return btnSELECT ;
Return btnNONE ; Lorsque tous les autres échouent, retourner ce...
}
void setup()
{
LCD.Begin (16, 2) ; Démarrer la bibliothèque
lcd.setCursor(0,0) ;
LCD.Print("Acceleration:") ; imprimer un message simple
}
void loop()
{
lcd.setCursor(0,1) ; déplacer vers le début de la deuxième ligne
lcd_key = read_LCD_buttons() ; lire les boutons
Switch (lcd_key) / / fonction de bouton qui a été poussé, nous effectuons une action
{
affaire btnRIGHT :
{
LCD.Print("Y-Axis:.") ;
lcd.setCursor(8,1) ; Déplacez le curseur pour espaces de ligne « 1 » et 9 deuxième sur
LCD.Print(analogRead(a2)) ; Numéro d’affichage entre 0-1023 correspondant à la tension
lcd.setCursor(11,1) ;
LCD.Print("g") ;
Delay(300) ;
rupture ;
}
affaire btnLEFT :
{
LCD.Print("Y-Axis:.") ;
lcd.setCursor(8,1) ; Déplacez le curseur pour espaces de ligne « 1 » et 9 deuxième sur
LCD.Print(analogRead(a2)) ;
lcd.setCursor(11,1) ;
LCD.Print("g") ;
Delay(300) ;
rupture ;
}
affaire btnUP :
{
LCD.Print("Z-AXIS:.") ;
lcd.setCursor(8,1) ; Déplacez le curseur pour espaces de ligne « 1 » et 9 deuxième sur
LCD.Print(analogRead(a1)) ;
lcd.setCursor(11,1) ;
LCD.Print("g") ;
Delay(300) ;
rupture ;
}
affaire btnDOWN :
{
LCD.Print("Z-AXIS:.") ;
lcd.setCursor(8,1) ; Déplacez le curseur pour espaces de ligne « 1 » et 9 deuxième sur
LCD.Print(analogRead(a1)) ;
lcd.setCursor(11,1) ;
LCD.Print("g") ;
Delay(300) ;
rupture ;
}
affaire btnSELECT :
{
LCD.Print ("PAUSE") ;
Delay(300) ;
rupture ;
}
affaire btnNONE :
{
LCD.Print("X-Axis:.") ;
lcd.setCursor(8,1) ; Déplacez le curseur pour espaces de ligne « 1 » et 8 seconde sur
LCD.Print(analogRead(a3)) ;
lcd.setCursor(11,1) ;
LCD.Print("g") ;
Delay(300) ;
rupture ;
}
}
}