Aller au contenu


Juventin19

Inscrit(e) (le) 08 mars 2019
Déconnecté Dernière activité mai 20 2019 09:50
-----

Sujets que j'ai initiés

Projet de fin d'année Très important

08 mars 2019 - 06:20

Bonjour à tous, 

J'espère que vous allez bien. Je tiens a vous prévenir que je suis un débutants

Je suis en Terminale et j'ai projet important faire. Mon projet consiste a programmé 4 moteurs à courant continu, capteur ultrasons et d'humidité et  qui permettras de rouler sur le sable afin de récolté des petits déchets(mégots,etc,..). Le capteurs ultrason permettras que le robots ne se cogne pas contre les mûres (fait demi tour)  et le capteur d'humidité afin qu'il ne tombe pas dans l'eau (fait demi tour quand t il détecteras le sol mouillé).

Les composants utilisés sont:

-une carte Arduino Simulino UNO

- une carte adafruit motor shield v2.3 

- une carte base shield v2.1 pour les capteurs

-les moteurs DC 

-une batterie 12V 

-un capteur grove ultrasonic Ranger V1.0

-un capteur d'humidité grove Moisure sensor 

(voir photos ci-dessus)

 

Mon problème c'est la liaison entre les capteurs et les moteurs je n'arrive pas a les liées 

j'ai fait début de code , mais sa ne marche point car j'utilise un base shield et je ne comprend pas  le fonctionnement , je vous met ci-dessous les code.

Voici le code moteur et capteur ultrason:

 #include <Wire.h>

#include <Adafruit_MotorShield.h> 
#include "utility/Adafruit_MS_PWMServoDriver.h"
Adafruit_MotorShield AFMS = Adafruit_MotorShield(); 
Adafruit_DCMotor *myMotor = AFMS.getMotor(1);
Adafruit_DCMotor *myMotor2 = AFMS.getMotor(2);
 
#include "Ultrasonic.h"
 
Ultrasonic ultrasonic(7);
void setup() {
  AFMS.begin();  
Serial.begin(9600);
  myMotor->setSpeed(100);
  myMotor2->setSpeed(100);
 
}
 
void loop() {
 
long distance;
 
 
    distance = ultrasonic.MeasureInCentimeters();
    Serial.println(" cm");
    delay(250);
    
  if(distance < 25){ 
  myMotor->run(FORWARD);
  myMotor2->run(BACKWARD);
}
  else{
    delay(40);
    myMotor->run(FORWARD);
    myMotor2->run(FORWARD);
  }
}
--------------------------------------------------------------------------------------------------------------------
et voici celle du capteur d'humidité
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_MS_PWMServoDriver.h"
Adafruit_MotorShield AFMS = Adafruit_MotorShield(); 
Adafruit_DCMotor *myMotor = AFMS.getMotor(1);
Adafruit_DCMotor *myMotor2 = AFMS.getMotor(2);
int capPin = A0;   
int valh = 0;  
 
void setup() {
  pinMode (capPin,INPUT);
  Serial.begin(9600);
  AFMS.begin();
  myMotor->setSpeed(100);
  myMotor2->setSpeed(100);  
}
 
void loop() {
  
  valh = analogRead(capPin);            
  Serial.print("Valeur mesure par le capteur d'humidite = " ); 
  Serial.println(valh);
  delay(1000);                                         
  
  if(valh < 25){ 
  myMotor->run(FORWARD);
  myMotor2->run(BACKWARD);
}
  else{
    delay(40);
    myMotor->run(FORWARD);
    myMotor2->run(FORWARD);
  
}
}
 
------------------------------------------------------------------------------------
ça Serait très cool que vous m'aidiez car c'est un projet avec  un gros coefficient en jeu pour le bac (STI2D)
Merci d'avance et vous souhaite une agréable journée
 
Photos des composant: