Atelier N°1:
Affichage sur LCD KeyPad Shiled
Présentation du shield LCD:
Celle-ci est composée d’un écran LCD
alphanumérique de 2 x 16 caractères, d'un potentiomètre de réglage du contraste
et d'une série de 6 boutons (haut, bas, droite, gauche, sélection,
reset).
Valeur lue avec analogRead(A0)
Bouton
0 <= valeur < 50
RIGHT (droite)
50 <= valeur < 250
UP (haut)
250 <= valeur < 450
DOWN (bas)
450 <= valeur < 650
LEFT (gauche)
650 <= valeur < 850
SELECT (sélection)
>= 850
aucun
pour tester les boutons
on utilise ce portion de code:
int x;
x = analogRead (0);
lcd.setCursor(10,1);
if (x < 50) {
lcd.print
("Right ");
}
else if (x < 250) {
....
Travail à Faire
1- Avec la carte Arduino Uno équipé par un shield LCD
présenté ci-dessus tester le programme suivant :
#include <LiquidCrystal.h>
//LCD pin to Arduino
const int pin_RS = 8;
const int pin_EN = 9;
const int pin_d4 = 4;
const int pin_d5 = 5;
const int pin_d6 = 6;
const int pin_d7 = 7;
const int pin_BL = 10;
LiquidCrystal lcd( pin_RS, pin_EN,
pin_d4, pin_d5, pin_d6, pin_d7);
void setup() {
lcd.begin(16, 2);
lcd.clear();
}
void loop() {
lcd.setCursor(0,0);
lcd.print("L2ElnI");
}
2- Ecrire un message défilant sur la première ligne
3- En utilisant les 4 boutons (UP, DOWN, RIGHT, LEFT) défiler le message comme
suit:
UP: mettre le message à la première ligne
DOWN: mettre le message à la deuxième ligne
RIGHT: le message défile de gauche à droite
LEFT: le message défile de droite à gauche
Solution
#include <LiquidCrystal.h>
//LCD pin to Arduino
const int pin_RS = 8;
const int pin_EN = 9;
const int pin_d4 = 4;
const int pin_d5 = 5;
const int pin_d6 = 6;
const int pin_d7 = 7;
const int pin_BL = 10;
LiquidCrystal lcd( pin_RS, pin_EN, pin_d4, pin_d5, pin_d6, pin_d7);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("|");
//lcd.setCursor(0,1);
//lcd.print("Press Key:");
}
void loop() {
int x;
x = analogRead (0);
lcd.setCursor(10,1);
if (x < 60) {
//lcd.print ("Right ");
}
else if (x < 200) {
lcd.clear(); lcd.setCursor(0,0);lcd.print ("|");
}
else if (x < 400){
lcd.clear();lcd.setCursor(0,1);lcd.print ("|");
}
else if (x < 600){
// lcd.print ("Left ");
delay(11);
}
else if (x < 800){
//lcd.print ("Select");
}
}
***************************************************************************************************************
Atelier N°2:
***************************************************************************************************************
Test du module capteur IR 5 voies TCRT5000
Câblage
Code
int LED = 13;
int capteur = 2;
int val = 0;
void setup() {
pinMode(LED, OUTPUT);
pinMode(capteur, INPUT);
Serial.begin(9600);
Serial.println(val);
}
void loop() {
val = digitalRead(capteur);
Serial.println(val);
delay(2000);
digitalWrite(LED, val);
}
TP Capteur ULTRASON
Tester avec ce Code
int trig = 2;
int echo = 3;
long lecture_echo;
long cm;
void setup(){
pinMode(trig, OUTPUT);
digitalWrite(trig, LOW);
pinMode(echo, INPUT);
Serial.begin(9600);
Serial.println ("Bienvenue sur les tutoriels d'IHM 3D");
}
void loop(){
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
lecture_echo = pulseIn(echo,HIGH);
cm = lecture_echo /58;
Serial.print("Distance en cm :");
Serial.println(cm);
delay(1500);
}
TP Moteur pas à pas
KY-028
Electro Bunker: KY-028 NTC Temperature Sensor Module
#include "Servo.h" Servo servo; // création de l'objet "servo" void setup() { servo.attach(10); // attache le servo au pin spécifié } void loop() { servo.write(0); // demande au servo de se déplacer à cette position delay(1000); // attend 1000 ms entre changement de position servo.write(90); // demande au servo de se déplacer à cette position delay(1000); // attend 1000 ms entre changement de position servo.write(180); // demande au servo de se déplacer à cette position delay(1000); // attend 1000 ms entre changement de position }
Aucun commentaire:
Enregistrer un commentaire