====== TUTO SEEEDUINO LCD/IR" ====== * Porteur du projet : PAPAZIAN Sévan * Date : Mai 2019 * Contexte :Réalisation d'une oeuvre interactive ====== Intention :====== Réaliser un dispositif utilisant la carte Seeeduino et des capteurs groove tel que l'écran LCD RGB et le capteur IR de distance (80cm) {{:wiki:tutoriels:seeeduino-lcd-ir:ir.jpg?nolink&300|}} . {{:wiki:tutoriels:seeeduino-lcd-ir:seeduino.jpg?nolink&300|}} {{:wiki:tutoriels:seeeduino-lcd-ir:capture_d_e_cran_2019-05-14_a_16.03.19.png?nolink&300|}} {{:wiki:tutoriels:seeeduino-lcd-ir:img_0967.jpg?nolink&300|}} ====== Schémas :====== {{:wiki:tutoriels:seeeduino-lcd-ir:arseed.png|}} ====== Programme :====== J'ai voulus dans ce programme reproduire l'oscillation d'un coeur robotique ( ecran lcd ) dont la couleur rouge est plus ou moins intense en fonction le la distance capté par oeil robotique ( capteur IR ) #include #include "rgb_lcd.h" #define IR_PROXIMITY_SENSOR A1 // Analog input pin that is attached to the sensor #define ADC_REF 5//reference voltage of ADC is 5v.If the Vcc switch on the Seeeduino //board switches to 3V3, the ADC_REF should be 3.3 int valeurCapteur;//the sensor voltage, you can calculate or find the distance Avec le capteur je peut calculer ou trouver la distance a l'aide du capteur rgb_lcd lcd; const int colorR = 0; void setup() { // Definie le nombre de colones et de ligne lcd.begin(16, 2); lcd.setRGB(colorR, 0, 0); // Ecrire un message sur l'écran lcd.print("MATHILDE "); delay(100); Serial.begin(9600); } void breath(unsigned char color) { //methode permettant de faire varrier d'intensité le rouge en changeant la valeur de R for(int i=valeurCapteur; i<255; i++) { lcd.setPWM(color, i); delay(5); } delay(50); for(int i=254; i>=0; i--) { lcd.setPWM(color, i); delay(5); // ici je fait osciller la valeur de R en fonction de la valeur du voltage du capteur IR et des max 255/0 ainsi j'obtient un faux rythme cardique robotique } delay(50); } void loop() { // Met le curseur sur la colone 0 et la ligne 1 lcd.setCursor(0, 1); // print the number of seconds since reset: //lcd.print(millis()/1000); delay(100); //lcd.autoscroll(); breath(REG_RED); //methode pour faire osciller la couleur rouge // lecture de la valeur numérique associée à la distance lue par le capteur IR valeurCapteur = analogRead(IR_PROXIMITY_SENSOR); // valeur entre 0 et 1023 // envoie de la valeur sur le port Serie lcd.print(valeurCapteur); // ecris la valeur du voltage sur lecran lcd delay(100); lcd.clear(); // efface la valeur precedente pour laisser la nouvelle s'afficher delay(100); } ====== Source :====== https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight http://wiki.seeedstudio.com/Grove-LCD_RGB_Backlight/ https://www.elecrow.com/wiki/index.php?title=80cm_Infrared_Proximity_Sensor-GP2Y0A21YK0F