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)
.
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 <Wire.h>
#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);
}