- Robot Maker
- → Contenu de Juventin19
Contenu de Juventin19
Il y a 35 élément(s) pour Juventin19 (recherche limitée depuis 03-mai 13)
Par type de contenu
Voir pour ce membre
#103581 Projet de fin d'année Très important
Posté par Juventin19 sur 20 mai 2019 - 08:31 dans Programmation
Puis dans ma section void(droite) je rajoute un i++
Et je modifier le côté if(distance.. car je lui mettre une condition
Cest bien sa ?
#103574 Projet de fin d'année Très important
Posté par Juventin19 sur 19 mai 2019 - 05:50 dans Programmation
Finalement le robot tourne bien quand il y a un mur avec le capteur ultrason et même chose pour le capteur d'humidité.
Mais j'ai envie de encore améliorer, en effet j'ai remarqué que quand le robot détecte un mur il tourne (par exemple a droite) mais s'il rencontre un obstacle après avoir tourné, il retournera dans le même sens (à droite) et non dans l'autre sens (à gauche), il tournera en rond.
Mon professeur m'a proposé de faire une incrémentation, quand i=1 alors i+1 tourne a gauche (je ne sais pas si c'est bon),
Alors voici le code, le problème est que celui tourne a droite puis automatiquement il tourne a gauche, il avance pas (normalement le robot doit détecte un obstacle il s’arrête il tourne à droite et avance mais la la roue de droite tourne puis la gauche puis la droite automatiquement)
#include <Ultrasonic.h> Ultrasonic ultrasonic(7); int sensorHum = A0; int humidity = 0; const byte vitesseMotAPin = 3; const byte sensMotA1Pin = 5; const byte sensMotA2Pin = 4; const byte vitesseMotBPin = 11; const byte sensMotB1Pin = 13; const byte sensMotB2Pin = 12; const int buttonPin = A2; int buttonState = 0; int i=0; void setup () { Serial.begin(9600); pinMode(sensorHum,INPUT); pinMode(buttonPin, INPUT); pinMode(vitesseMotAPin, OUTPUT); pinMode(sensMotA1Pin, OUTPUT); pinMode(sensMotA2Pin, OUTPUT); pinMode(vitesseMotBPin, OUTPUT); pinMode(sensMotB1Pin, OUTPUT); pinMode(sensMotB2Pin, OUTPUT); stop(); delay(3000); } void stop() { digitalWrite(vitesseMotAPin, LOW); digitalWrite(vitesseMotBPin,LOW); } void avance() { digitalWrite(sensMotA1Pin,LOW); digitalWrite(sensMotA2Pin,HIGH); digitalWrite(sensMotB1Pin,LOW); digitalWrite(sensMotB2Pin,HIGH); analogWrite(vitesseMotBPin,30); analogWrite(vitesseMotAPin, 30); } void droite() { digitalWrite(sensMotA1Pin,LOW); digitalWrite(sensMotA2Pin,HIGH); digitalWrite(vitesseMotBPin,LOW); analogWrite(vitesseMotAPin, 40); delay(4500); } void gauche() { digitalWrite(sensMotB1Pin,LOW); digitalWrite(sensMotB2Pin,HIGH); analogWrite(vitesseMotBPin,40); digitalWrite(vitesseMotAPin, LOW); delay(4500); } void loop() { long distance; distance = ultrasonic.MeasureInCentimeters(); Serial.print("La distance est de: "); Serial.print(distance); Serial.println(" cm"); humidity = analogRead(sensorHum); Serial.print("Le sable mouillé est de: " ); Serial.println(humidity); buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { analogWrite(vitesseMotBPin,30); analogWrite(vitesseMotAPin, 30); if(humidity <= 100) { avance(); } else { stop(); delay(1000); droite(); } if(distance >= 55) { i=i+1; if (i>1) { avance(); stop(); delay(1000); droite(); } } else { avance(); stop(); delay(1000); gauche(); } } else { digitalWrite(vitesseMotAPin, LOW); digitalWrite(vitesseMotBPin, LOW); } }
#103265 Projet de fin d'année Très important
Posté par Juventin19 sur 30 avril 2019 - 02:48 dans Programmation
#103217 Projet de fin d'année Très important
Posté par Juventin19 sur 26 avril 2019 - 10:57 dans Programmation
#103212 Projet de fin d'année Très important
Posté par Juventin19 sur 26 avril 2019 - 02:50 dans Programmation
Malheureusement je n'ai plus le temps d’utilisé un capteur, je fais quelque mesure pour un tour.
Le robot doit faire un parcours sur le sable plat avec un capteur ultrason pour le mur et le capteur d'humidité pour le sable mouillé.
voici le code entier:
#include "Ultrasonic.h" Ultrasonic ultrasonic(7); int sensorPin = A0; int humidity = 0; const byte vitesseMotAPin = 3; const byte sensMotA1Pin = 5; const byte sensMotA2Pin = 4; const byte vitesseMotBPin = 11; const byte sensMotB1Pin = 13; const byte sensMotB2Pin = 12; void setup () { Serial.begin(9600); pinMode(vitesseMotAPin, OUTPUT); pinMode(sensMotA1Pin, OUTPUT); pinMode(sensMotA2Pin, OUTPUT); pinMode(vitesseMotBPin, OUTPUT); pinMode(sensMotB1Pin, OUTPUT); pinMode(sensMotB2Pin, OUTPUT); stop(); delay(3000); } void stop() { digitalWrite(vitesseMotAPin, LOW); digitalWrite(vitesseMotBPin,LOW); } void avance() { digitalWrite(sensMotA1Pin,LOW); digitalWrite(sensMotA2Pin,HIGH); digitalWrite(sensMotB1Pin,LOW); digitalWrite(sensMotB2Pin,HIGH); analogWrite(vitesseMotBPin,50); analogWrite(vitesseMotAPin, 50); } void droite() { digitalWrite(sensMotA1Pin,LOW); digitalWrite(sensMotA2Pin,HIGH); digitalWrite(vitesseMotBPin,LOW); analogWrite(vitesseMotAPin, 40); delay(2000); } void gauche() { digitalWrite(sensMotB1Pin,LOW); digitalWrite(sensMotB2Pin,HIGH); analogWrite(vitesseMotBPin,40); digitalWrite(vitesseMotAPin, LOW); delay(2000); } void loop() { long distance; distance = ultrasonic.MeasureInCentimeters(); Serial.print("La distance est de: "); Serial.print(distance); Serial.println(" cm"); humidity = analogRead(sensorPin); Serial.print("Moisture = " ); Serial.println(humidity); if(humidity <= 100) { avance(); } else { stop(); delay(1000); droite(); } if(distance >= 20) { avance(); } else { stop(); delay(1000); droite(); } }
le parcours ainsi que la vidéo du robot en pièces jointes
Fichier(s) joint(s)
- IMG_9318.TRIM.MOV 4,34 Mo 13 téléchargement(s)
#103209 Projet de fin d'année Très important
Posté par Juventin19 sur 26 avril 2019 - 10:18 dans Programmation
Du coup, tu as bien un robot qui avance, qui s'arrête quand il détecte un obstacle puis tourne à droite pendant 2 secondes, puis soit il s'arrête à nouveau si il y a toujours un obstacle et tourne a nouveau, en boucle tant qu'il y a un obstacle, soit il repart en avant (dès qu'il ne détecte plus d'obstacle.
C'est bien ça ? C'est le comportement que tu voulais ou pas?
c'est bien ça.
A moitié car je veux que sa s'arrête puis il dit tourné a 360 degrés puis soit il s’arrête et il repart soit il part directement.
Pour qu'il tourne à 360 degrés, faut il changer le delay?
(je ne sais pas si on peut mettre une vidéo)
#103205 Projet de fin d'année Très important
Posté par Juventin19 sur 25 avril 2019 - 11:35 dans Programmation
Mais jai mis un delay(2000); à la fin de mon void droite et il tourne à droite après un arrêt
Quand je met un obstacle comme ma main le robot s arrête les roues de droite tourne mais quand jenlève ma main les 4 roues senclenche et il ne fais pas un tour 360 degré
#103191 Projet de fin d'année Très important
Posté par Juventin19 sur 25 avril 2019 - 01:48 dans Programmation
finalement c'est bon, merci
j'ai créer des fonction type
void stop() { digitalWrite(vitesseMotAPin, LOW); digitalWrite(vitesseMotBPin,LOW); } void avance() { digitalWrite(sensMotA1Pin,LOW); digitalWrite(sensMotA2Pin,HIGH); analogWrite(vitesseMotAPin, 125); digitalWrite(sensMotB1Pin,LOW); digitalWrite(sensMotB2Pin,HIGH); analogWrite(vitesseMotBPin,125); } void droite() { digitalWrite(sensMotA1Pin,LOW); digitalWrite(sensMotA2Pin,HIGH); analogWrite(vitesseMotAPin, 100); digitalWrite(sensMotB1Pin,LOW); digitalWrite(sensMotB2Pin,HIGH); analogWrite(vitesseMotBPin,LOW); } void gauche() { digitalWrite(sensMotA1Pin,LOW); digitalWrite(sensMotA2Pin,HIGH); analogWrite(vitesseMotAPin, LOW); digitalWrite(sensMotB1Pin,LOW); digitalWrite(sensMotB2Pin,HIGH); analogWrite(vitesseMotBPin,100); } void loop() { long distance; distance = ultrasonic.MeasureInCentimeters(); Serial.println("La distance est de: "); Serial.println(distance); Serial.println(" cm"); if(distance >= 20) { avance(); } else { stop(); delay(2000); droite(); } }
#103187 Projet de fin d'année Très important
Posté par Juventin19 sur 25 avril 2019 - 11:10 dans Programmation
bonjour,
j'ai une problème avec mon code, le message d'erreur :"expected primary-expression before '?' token"
voici le code:
#102994 Projet de fin d'année Très important
Posté par Juventin19 sur 12 avril 2019 - 10:47 dans Programmation
Voici la meilleure aide que l'on peut t'apporter :
- Arduino + capteur ultrason : http://bfy.tw/NBfd
- Arduino + capteur humidité : http://bfy.tw/NBfi
Pour rappel, ce n'est pas aux membres du forum de faire ton projet, surtout un projet scolaire.À toi de chercher, essayer, apprendre et comprendre ce que tu fais.
(accessoirement, il y a des exemples pour ces deux capteurs dans l'IDE arduino et/ou sur le site Arduino)
je le sais trés biens, je voulais juste un avis personnellement. Car sa la 3ème fois que je rame a cause d'une carte et que je recommence tous
et super sympa votre site sa m'a beaucoup aidé
#102975 Projet de fin d'année Très important
Posté par Juventin19 sur 11 avril 2019 - 09:30 dans Programmation
En effets je voudrais un peux d'aide pour programmer le capteur ultrason ainsi que le capteur d'humidité.
Pouvez vous m'aider?
#102969 Projet de fin d'année Très important
Posté par Juventin19 sur 11 avril 2019 - 03:14 dans Programmation
il y a plus personne pour m'aider? T_T
#102949 Projet de fin d'année Très important
Posté par Juventin19 sur 10 avril 2019 - 10:12 dans Programmation
finalement sa marche.
J'ai essayé avec 4 moteurs et il y a aucune surchauffe je l'ai fait tourné a vide pendant 20 min
Maintenant je dois le faire en fonction du capteur ultrason et humidité
#102948 Projet de fin d'année Très important
Posté par Juventin19 sur 10 avril 2019 - 09:34 dans Programmation
je vais mettre 2 moteurs sur une carte elle peut supporter.
Mais j'arrive pas faire marcher 2 moteurs en même temps.
Individuellement sa marche mais en les 2 en même temps non
voici le code
#102828 Projet de fin d'année Très important
Posté par Juventin19 sur 03 avril 2019 - 11:47 dans Programmation
Finalement la rover était morte, jai testé avec un seul moteur du coup je voulais le tester avec 2 moteurs simultanés et la carte a non seulement fumé mais aussi à pris feu. Le Channel 1 est inutilisable mais les autres oui, la carte était bcq trop veille
Donc mon prof ma donné une autre carte 2 exactement, il ma essayé avec ceux là et si sa marche pas et commandera le driver 4cc
Voici ceux que le prof m'a donnée:
#102824 Projet de fin d'année Très important
Posté par Juventin19 sur 03 avril 2019 - 09:27 dans Programmation
Si c'est bien celle là, ça me parait bon
oui je vais essayer, mais sur l'image tu as envoyé on peut voir écrire "Motor Suppy 4.5V-12V" donc elle doit prendre les 12V non?
#102818 Projet de fin d'année Très important
Posté par Juventin19 sur 03 avril 2019 - 08:04 dans Programmation
Comme Mike vous l'a écrit
là c'est à vous de choisir quelle sortie utiliser sur votre arduino
Par contre t'es sûr que votre carte rover peut accepter du 12v au niveau logique ?
sur l'image que j'ai partagée, il y a 2 connecteurs d'alim, un pour les moteurs de 4.5 à 12Vcc et un autre pour la partie logique en +5Vcc
et je ne suis pas convaincu que du +12Vcc (même fatigué) soit apprécié par la carte...
Il faudrait récupérer le 5Vcc de la carte arduino (vérifier avant si la consommation de la carte rover ne dépasse pas l'intensité max supportée par l'arduino)
il y a un moyen de le tester ?
#102812 Projet de fin d'année Très important
Posté par Juventin19 sur 03 avril 2019 - 07:15 dans Programmation
Jai vu quelle peut supporté les 12v en plus la batterie est un peu veille du coup elle est moins performantefaites attention à la tension d'alim de votre carte, j'ai vu que vous aviez une batterie de 12V
#102811 Projet de fin d'année Très important
Posté par Juventin19 sur 03 avril 2019 - 07:13 dans Programmation
Tu branches tes moteurs sur les prises blanches,
pour les faire tourner tu mets du PWM sur les pins PWM CH1 CH2 CH3 et CH4, pour changer de sens tu mets HIGH ou LOW sur les pins directions CH1 CH2 CH3 et CH4
CH1 pour le moteur 1 jusqu'à CH4 pour moteur 4.
Et niveau connection a larduino ?
#102805 Projet de fin d'année Très important
Posté par Juventin19 sur 02 avril 2019 - 09:21 dans Programmation
D'accord je vais d'abord essayer cette carte avant de commander l'autre
Mais il me faut un peut d'aide. Connaissez vous quelqu'un une personne qui est un expert en rover ?
#102791 Projet de fin d'année Très important
Posté par Juventin19 sur 02 avril 2019 - 04:44 dans Programmation
Et cette Carte la ? C'est une Rover 5 motor driver
Sachant 0.5 A par vide et 2 A a fond pour les moteur CC chaque une
Malheureusement mon professeur ne peut l'acheter car on a pas de partenariat avec Robot Maker, Mais cette carte ne fonctionne pas je l'achèterais personnellement (meme si un 20 euro pour une carte c'est chère)
De plus la Rover peut se connecter n'importe quel 4.5 V-12 V DC moteur avec un décrochage actuelle de moins que 4.5A à ces pins
du coup je ne sais pas comment elle fonctionne
et merci Forthman de nous aidez vraiment sympa
#102775 Projet de fin d'année Très important
Posté par Juventin19 sur 02 avril 2019 - 10:44 dans Programmation
#102759 Projet de fin d'année Très important
Posté par Juventin19 sur 01 avril 2019 - 10:51 dans Programmation
#102720 Projet de fin d'année Très important
Posté par Juventin19 sur 30 mars 2019 - 10:01 dans Programmation
.J'ai l'impression que ce composant est crâmé ...
On voit comme une petite bosse sur le CI ce qui arrive souvent quand un composant fume ...
Non T_T
Du coup je dois en acheter une autre ?
Connaissez-vous une carte qui peut le supporter ?
Pour 4 moteur Cc
#102716 Projet de fin d'année Très important
Posté par Juventin19 sur 30 mars 2019 - 05:57 dans Programmation
- Robot Maker
- → Contenu de Juventin19
- Privacy Policy