Bonjour à tous !
Je suis nouveau sur la communauté Arduino et souhaiterai que vous m'éclaireriez un peu.
Dans le cadre de mes études, j'ai un projet assez simple à réaliser, je dois faire un compteur de vitesse pour trottinette électrique. Seulement le problème, c'est que je n'ai jamais coder... et je peux pas vraiment compter sur mon professeur, qui est pas mal occupé avec d'autres élèves, et pour rien
arranger, je dois le terminer rapidement.
Je m'en remet donc à vous pour m'apporter votre aide. Je n'ai pas énormément de matériel, je dois faire le code sur une Arduino Uno (Board Model Uno R3), et je dispose d'un capteur magnétique (Magnetic Sensor V2), un petit aimant, et un écran (Grove-LCD RGB Backlist V2.0).
Je vous fais pas un dessin sur le principe, le capteur est sur la fourche de la trottinette, l'aimant est sur la roue, quand l'aimant passe devant le capteur, ma variable de distance doit s'incrémenter du périmètre de la roue ( soit 8.8 cm ). Je dois afficher sur l'écran le nombre de tours fait, la distance totale, le temps écoulé et enfin la vitesse. C'est sur la vitesse que je bloque, je ne sais pas vraiment quoi ni comment faire.
Je vous met le code que j'ai commencé à faire. Si il y a une partie
avec une LED, c'est parce que de base la LED devait s'allumer lorsque
le capteur était à l'état haut, c'est plus pour l'avoir comme support
qu'autre chose.
#include <Wire.h>
#include "rgb_lcd.h"
rgb_lcd lcd;
const int colorR = 0;
const int colorG = 0;
const int colorB = 255;
const int pinCapteur = 3;
const int pinLed = 7;
int nombrePassage = 0;
double distancetotale = 0;
void setup()
{
pinMode(pinCapteur, INPUT);
pinMode(pinLed, OUTPUT);
lcd.begin(16, 2);
lcd.setRGB(colorR, colorG, colorB);
}
void loop()
{
if(digitalRead(pinCapteur))
{
digitalWrite(pinLed, HIGH);
delay(1);
nombrePassage++;
distancetotale = distancetotale + 0.088;
}
else
{
digitalWrite(pinLed, LOW);
}
lcd.setCursor(9, 0);
lcd.print(millis()/1000);
lcd.setCursor(0, 1);
lcd.print(distancetotale);
lcd.setCursor(0, 0);
lcd.print(nombrePassage);
delay(200);
}
Voilà, merci de votre aide et bonne journée