HBonjour à tous,
Étant en classe de 1ere S option SI j'ai comme projet de TPE un "robot détecteur de métaux".
Depuis plusieurs semaines déjà, je cherche de l'aide ou des informations pouvant m'aider à avancer dans mon projet, en vain... Donc j'ai trouvé ce forum sur lequel d'autres personnes avaient des problèmes similaires au mien. Mon projet est peut-être trop compliqué pour moi, mais je n'ai pas vraiment eu le choix, pourtant j'aimerai quand même vraiment le réussir.
Pour le cahier des charges de mon robot démineur : Il faut qu'il soit contrôlable à distance grâce à une application smartphone, sur laquelle il y aurai un signal lorsque le détecteur de métal s'active (d'ailleurs, le détecteur de métal, dont la référence figure dans la suite de ce message, dispose d'une LED qui s'allume lorsqu'il détecte du métal). Cette dernière fonction n'est pas la plus importante, mais peut-être que l'on peut la réaliser grâce à une camera placée au dessus de la LED, dont on verrait le film sur le smartphone... Pour fonctionner, mon robot dispose de 2 moteurs CC (qui demande 5 à 12 Vcc) qui doivent:
- tourner dans un sens (qu'on nomme sens "1") pour avancer,
- tourner dans un autre sens (qu'on nomme sens "-1") pour reculer,
- et pour que le robot tourne, un des deux moteurs doit tourner dans le sens "1" et l'autre doit être au repos (ou tourner dans le sens "-1", selon ce qui est le plus simple).
Ce robot dont je parle est le "POB-BOT Avoider", mais mon lycée donne seulement la base comprenant le châssis, les chenilles et les 2 moteurs CC.
Je dispose aujourd'hui :
-d'une carte "Arduino Uno",
-d'un "Shield Motor 2 x 2 A DRI0009",
-d'un "kit K7102 Détecteur de métaux",
-d'un "kit émetteur-récepteur (bluetooth) 433MHZ",
-de la base du robot POB et d'une platine d'expérimentation.
Mes vraies difficultés sont : la programmation de la carte arduino, et le fait de connecter l'application smartphone avec la carte arduino, avec l'aide du kit bluetooth (parce-que je ne sais pas comment faire pour que tel bouton de l'application smartphone fasse tel fonction de la carte arduino...). C'est pour ces difficultés que je demande votre aide, sachant que je n'ai déjà que très très peu (autant dire jamais) programmé sur une carte arduino.
J'ai ce programme, qui me parait bien, mais je ne sais pas comment faire le câblage (j'aurai besoin d'un schéma peut-être pour comprendre)... :
/*en activant
les pin 2 et 3 de la carte arduino HIGH , les deux moteurs tournent en avant
les pin 2 et 3 de la carte arduino LOW , les deux moteurs tournent en arrière
la pin 2 HIGH la pin 3 LOW , le droit en avant, le gauche en arrière
la pin 3 HIGH la pin 2 LOW , le gauche en avant, le droit en arrière*/
S'il vous manque des informations ou que vous ne comprenez pas ce que j'ai écrit, n’hésitez pas à me le dire!Code:const int controlPin2 = 2; // the number of the pin de contrôle const int controlPin3 = 3; // the number of the pin de contrôle const int moteurDEPin = 4; // the number of the moteur droit enable pin const int moteurDDPin = 5; // the number of the moteur droit direction pin const int moteurGDPin = 6; // the number of the moteur gauche direction pin const int moteurGEPin = 7; // the number of the moteur gauche enable pin void setup() { // initialize the moteurs pins as outputs: pinMode(moteurDEPin, OUTPUT); pinMode(moteurDDPin, OUTPUT); pinMode(moteurGDPin, OUTPUT); pinMode(moteurGEPin, OUTPUT); // initialize the control pins as inputs: pinMode(controlPin2, INPUT); pinMode(controlPin3, INPUT); } void loop(){ // read the state of the controlPin values: int State2 = digitalRead(controlPin2); int State3 = digitalRead(controlPin3); digitalWrite(moteurDEPin, HIGH); digitalWrite(moteurDDPin, State2); digitalWrite(moteurGDPin, State3); digitalWrite(moteurGEPin, HIGH); }
Merci d'avance!!
-----