Aller au contenu


Contenu de Galariel

Il y a 5 élément(s) pour Galariel (recherche limitée depuis 04-avril 13)


#60225 Robot Suiveur de Ligne [Arduino]

Posté par Galariel sur 19 mars 2014 - 07:58 dans Robots roulants, chars à chenilles et autres machines sur roues

Hum c'est un composé avec une lampe et une photorésistance d'après moi ^^
(merci de la réponse 8))



#60184 Robot Suiveur de Ligne [Arduino]

Posté par Galariel sur 13 mars 2014 - 07:04 dans Robots roulants, chars à chenilles et autres machines sur roues

Bonjour!

Je suis en Terminale S, en spécialité ISN mais je ne connais que très peu de choses en informatique, (pour ne pas dire rien...).

Pour le Bac, avec trois camarades de classes nous avons eu comme idée de projet d'organiser un concours de robots suiveurs de lignes dans l'enceinte de notre établissement. (plus précisément nous voulions programmer des robots et notre professeur nous a informés qu'il souhaitait réaliser cette idée depuis quelques années). Nous avons donc comme sous-projet de réaliser un site internet, tenir une communication avec un adresse mail, faire un manuel de codes vulgarisés ou très basiques et de tester des codes sur un robot.

Notre professeur nous as confié un robot diduino avec une carte arduino duemilanove. Je joins des photos car n'y connaissant vraiment pas grand chose mes mots ne sauraient décrire bien précisément ce que nous avons en matériel :
Notre robot : X
Fils : X
Accessoires : X(diodes et résistances)
Une Dell : X

Depuis un certain moment nous arrivons à faire avancer, reculer et tourner le robot. Donc je suppose que nous avons intégré comment les moteurs des roues marchent.

On a recensé les choses suivantes :
LED verte : avance
LED rouge : recule
delay : temps durant lequel on effectue ce qui est indiqué
0 : puissance max
255 : puissance min

M1 E1 = droit
M2 E2 = gauche

//1er Programme, avance par à-coups:
// Moteur droit
int M1 = 5;
int E1 = 4;   
//Moteur gauche
int E2 = 7;
int M2 = 6;

byte pwm_val = 0;

void setup()
{
pinMode(M1, OUTPUT);   
pinMode(M2, OUTPUT);
pinMode(E1, OUTPUT);   
pinMode(E2, OUTPUT);
}
void loop()
{
// Moteur droit en mode avance puissance moyenne
digitalWrite(M1, HIGH);   
analogWrite(E1, 125); 
//Moteur Gauche en mode recul puissance nulle, inutile donc(?) mais je préfère garder le squelette en l'état
  digitalWrite(M2, LOW);   
analogWrite(E2, 255);  
// Temps d'agissement 1 sec
delay(1000);
// Moteur droit en mode recul puissance nulle, inutile donc(?) mais je préfère garder le squelette en l'état
digitalWrite(M1, LOW);   
analogWrite(E1, 255);  
//Moteur Gauche en mode avance puissance moyenne
    digitalWrite(M2, HIGH);   
analogWrite(E2, 125); 
// Temps d'agissement 1 sec
delay(1000);
} 
Pages d'aides utilisées pour ce code :
http://www.apprendre-en-ligne.net/info/robotique/DdR.pdf

On a aussi testé le code qui utilise les moustaches c'est très drôle ! ^^

Par contre pour ce qui concerne les dell j'ai bidouillé quelque chose avec ce que j'ai trouvé, et ça fonctionne ! :D/>/>
//Avancer dans la lumière :
int photocellPin = 0; // the cell and 10K pulldown are connected to a0
int photocellReading; // the analog reading from the analog resistor divider
int M1 = 5;

int E1 = 4;   

// Moteur gauche

int E2 = 7;                    	 

int M2 = 6;                      	 

byte pwm_val = 0;

void setup()

{

	pinMode(M1, OUTPUT);   

	pinMode(M2, OUTPUT);

	pinMode(E1, OUTPUT);   

	pinMode(E2, OUTPUT);

  // We'll send debugging information via the Serial monitor
  Serial.begin(9600);
}

void loop(void) {
  photocellReading = analogRead(photocellPin);
  Serial.print("Analog reading = ");
  Serial.print(photocellReading); // the raw analog reading
  // We'll have a few threshholds, qualitatively determined
  if (photocellReading > 550) {
    digitalWrite(M1, HIGH);   //tout droit
    analogWrite(E1, 0); // 0: puissance max (en mode avance)
    digitalWrite(M2, HIGH);   //
    analogWrite(E2, 0);  // 255 : puissance min (en mode avance)
    delay(100);
  } else {
    digitalWrite(M1, HIGH);
    analogWrite(E1, 125);     
    digitalWrite(M2, LOW);   
    analogWrite(E2, 255);  
    delay(10);
  }
  delay(1000);

}

Auriez-vous des conseils pour rendre ce code plus performant, ou je ne sais quoi ? :D/>/>

Merci d'être passé ! ^^



#60154 Présentation

Posté par Galariel sur 06 mars 2014 - 07:52 dans Et si vous vous présentiez?

Merci beaucoup pour vos réponses, j'avais hésité à poster dans les projets et réalisations robotiques mais j'ai douté que cela puisse être de la construction plutôt que de la programmation... M'enfin peut-être qu'avec du recul ça doit entrer dans le même panier et que je fais mal de les séparer x) Et oui il faudrait que je cherche dans les questions déjà posée, je ne vois pas non plus pourquoi je le fais dans d'autres forum et pas ici °x° Enfin si, surement parce que je débute et j'ai peur d'être noyée dans les infos, une réponse précise correspondant assurément à une question ça rassure ><

Je vais tenter d'expliquer notre projet si je ne trouve rien qui puisse m'aider et je vous poste tout ça :D

Oui je suis consciente que les personne passent du temps gratuitement pour en aider d'autres, pas de soucis avec ça ^^

Arf je sais, l'informatique, c'est vraiment le futur mais bon... En hobby ça a l'air sympa aussi :D



#60147 Présentation

Posté par Galariel sur 05 mars 2014 - 05:49 dans Et si vous vous présentiez?

Pour demander de l'aide par rapport à l'apprentissage du fonctionnement de rédaction de tels trucs, où devrais-je poster? :)



#60125 Présentation

Posté par Galariel sur 02 mars 2014 - 02:55 dans Et si vous vous présentiez?

Bonjour à tous!

Je suis en Terminale S, en spécialité ISN.

J'ai intégré cette spécialité presque uniquement pour la culture générale. Je ne connais que très peu de choses en informatique, (pour ne pas dire rien...) et je ne souhaite pas en faire ma carrière professionnelle. Cependant je m'y intéresse et j'aimerai connaître quelques bases.

Je me suis inscrite sur ce forum parce que "mon" (avec 3 autres personnes) projet de l'année, donc pour le bac, est de créer un concours de robots suiveur de lignes dans mon lycée. Nous devons donc tout d'abord apprendre à faire des programmes nous permettant de faire suivre des lignes à des robots. Néanmoins comme dis précédemment je ne sais pas coder (et mes camarades ont le même niveau que moi)

Notre professeur nous as confié un robot diduino avec une carte arduino duemilanove.

Pour l'instant nous arrivons à faire avancer, reculer et tourner le robot. Donc je suppose que nous avons intégré comment les moteurs des roues marchent. Toutefois pour ce qui est de la dell c'est une autre histoire ^^'

Voila :D