- Robot Maker
- → Contenu de alex54-RX
Contenu de alex54-RX
Il y a 34 élément(s) pour alex54-RX (recherche limitée depuis 03-mai 13)
Par type de contenu
Voir pour ce membre
#31736 Problème flyback NE555
Posté par alex54-RX sur 23 juin 2011 - 07:17 dans Electronique
#31734 Problème flyback NE555
Posté par alex54-RX sur 23 juin 2011 - 04:35 dans Electronique
#31731 Problème flyback NE555
Posté par alex54-RX sur 22 juin 2011 - 05:26 dans Electronique
Peut être faut 'il mettre une diode spécial genre 1N... ? .
#31729 Problème flyback NE555
Posté par alex54-RX sur 22 juin 2011 - 04:19 dans Electronique
#31728 Problème flyback NE555
Posté par alex54-RX sur 22 juin 2011 - 01:50 dans Electronique
#31726 Problème flyback NE555
Posté par alex54-RX sur 22 juin 2011 - 12:08 dans Electronique
En attendant merci :) et desoler pour les fautes d'ecriture,je suis sur mon portable,c'est pas comme un ordi ^^.
#31724 Problème flyback NE555
Posté par alex54-RX sur 21 juin 2011 - 04:47 dans Electronique
Alors voilà,depuis le Temp que je voit des vidéos de flyback,j'ai décidé de m'en faire un.
Mais hélas j'ai un problème : au début tout marche bien,et au bout d'un moment quand je rallume le circuit, cela ne marche plus car le ne555 est grillé (c'est déjà le 5eme) mais je ne sais pas pourquoi il grille a chaque fois :( .Voici le Schéma de mon circuit :
Merci d'avance à tous ceux qui pourrais m'aider a ce problème.
Alex54.
#27663 Problème Urgent avec Roby
Posté par alex54-RX sur 19 janvier 2011 - 10:26 dans Aide pour projets scolaire
#27648 Problème Urgent avec Roby
Posté par alex54-RX sur 15 janvier 2011 - 01:18 dans Aide pour projets scolaire
#27644 Problème Urgent avec Roby
Posté par alex54-RX sur 15 janvier 2011 - 12:51 dans Aide pour projets scolaire
#27642 Problème Urgent avec Roby
Posté par alex54-RX sur 15 janvier 2011 - 12:40 dans Aide pour projets scolaire
Pour remplacer les valeur c'est simple puis si tu ne veut pas qu'il recule quand il y'a un obstacle a 30cm ben faut juste supprimer.Donc il faut remplacer (v >=180) et (v >=100).Après cela dépend à combien de distance tu veut qu'il détecte.
{
int v = analogRead(SHARP);
if (v >= 180)
{
move(ARRIERE);
delay(300);
move(DROITE);
delay(900);
}
else if (v >= 100)
{
handleS(SERVOG, VMAX);
handleS(SERVOD, 0);
delay(1500);
}
}[/code]
#27640 Problème Urgent avec Roby
Posté par alex54-RX sur 15 janvier 2011 - 12:22 dans Aide pour projets scolaire
Oui j'ai construit ce robot mais moi j'ai le capteur infrarouge,les capteur a contact puis j'ai rajouté des effets lumineux.
Les valeurs du capteurs dans le code sont ceux du tuto pour faire roby .
Voila ce qui est dit dans le tuto pour Roby : si v était supérieur à 180 (obstacle à 10 cm), alors il fallait reculer pour éviter l'obstacle, alors que si v est supérieur à 100 (obstacle à 30 cm) il suffisait de ralentir d'un coté pour éviter l'obstacle.
J’espère que sa marchera.Mais je ne comprend toujours pas ton problème ?
#27637 Problème Urgent avec Roby
Posté par alex54-RX sur 15 janvier 2011 - 12:08 dans Aide pour projets scolaire
Moi j'aurais plus tôt fais sa pour le schéma :
Puis pour le code :
#define AVANT 1
#define ARRIERE 0
#define GAUCHE 2
#define DROITE 3
#define SERVOG 1
#define SERVOD 0
#define SHARP 4
#define VMAX 5
Servo servog;
Servo servod;
int vLdr = 5;
int getNeutral(int s)
{
if(s == SERVOG)
return 86;
else
return 84;
}
void handleS(int s, int speed)
{
//Vitesse :
// 0 -> 0; 1 -> 1; 2 -> 3; 3 -> 8; 4 -> 10; v => 5 -> 30
int tab[6] = {0,1,3,8,10,30};
int pos = getNeutral(s);
int acc;
if (speed < 0)
acc = - tab[abs(speed)];
else
acc = tab[speed];
if(s == SERVOG)
servog.write(pos += acc);
else
servod.write(pos -= acc);
}
void move(int direction)
{
int m1 = 0, m2 = 0;
switch(direction)
{
case DROITE: m1 = 1; m2 = -1; break;
case GAUCHE: m1 = -1; m2 = 1; break;
case AVANT: m1 = 1; m2 = 1; break;
case ARRIERE: m1 = -1; m2 = -1; break;
}
handleS(SERVOG, m1*VMAX);
handleS(SERVOD, m2*VMAX);
}
void sharp()
{
int v = analogRead(SHARP);
if (v >= 180)
{
move(ARRIERE);
delay(300);
move(DROITE);
delay(900);
}
else if (v >= 100)
{
handleS(SERVOG, VMAX);
handleS(SERVOD, 0);
delay(1500);
}
}
void setup()
{
Serial.begin(9600);
servog.attach(10);
servod.attach(9);
move(AVANT);
}
void loop()
{
sharp();
move(AVANT);
delay(100);
}[/code]
#31120 Code Arduino
Posté par alex54-RX sur 11 janvier 2011 - 05:46 dans Electronique
EDIT : Mince alors, tu avais raison , j'ai mis pinmode...des led avant et maintenant sa marche, merci !
#31118 Code Arduino
Posté par alex54-RX sur 11 janvier 2011 - 04:57 dans Electronique
Oui je sais faire clignoter une led et un buzzer,facile.
EDIT : Hier j'avais essayer de mettre le buzzer en même Temp qu'une led mais sa n'a pas marché . Je pense que sa doit interférer avec l'autre code.
Voici ce que j'avais fais,ligne 116 à 134 :
#define AVANT 1
#define ARRIERE 0
#define GAUCHE 2
#define DROITE 3
#define SERVOG 1
#define SERVOD 0
#define UPDDG 3
#define UPDDD 4
#define SHARP 4
#define VMAX 5
Servo servog;
Servo servod;
//Buzzer
int buzzer = 6;
int ledPin1 = 12;
int ledPin2 = 11;
int ledPin3 = 8;
int ledPin4 = 7;
int ledPin5 = 13;
int vLdr = 5;
int getNeutral(int s)
{
if(s == SERVOG)
return 86;
else
return 84;
}
void handleS(int s, int speed)
{
//Vitesse :
// 0 -> 0; 1 -> 1; 2 -> 3; 3 -> 8; 4 -> 10; v => 5 -> 30
int tab[6] = {0,1,3,8,10,30};
int pos = getNeutral(s);
int acc;
if (speed < 0)
acc = - tab[abs(speed)];
else
acc = tab[speed];
if(s == SERVOG)
servog.write(pos += acc);
else
servod.write(pos -= acc);
}
void move(int direction)
{
int m1 = 0, m2 = 0;
switch(direction)
{
case DROITE: m1 = -1; m2 = 1; break;
case GAUCHE: m1 = 1; m2 = -1; break;
case AVANT: m1 = -1; m2 = -1; break;
case ARRIERE: m1 = 1; m2 = 1; break;
}
handleS(SERVOG, m1*VMAX);
handleS(SERVOD, m2*VMAX);
}
void handleUPDD(int updd)
{
if(digitalRead(updd) == HIGH)
{
move(ARRIERE);
delay(500);
if (updd == UPDDG)
{
move(DROITE);
}
else
{
move(GAUCHE);
}
delay(800);
}
}
void sharp()
{
int v = analogRead(SHARP);
if (v >= 230)
{
move(ARRIERE);
delay(300);
move(DROITE);
delay(900);
}
else if (v >= 140)
{
handleS(SERVOG, VMAX);
handleS(SERVOD, 0);
delay(1500);
}
}
void setup()
{
pinMode(buzzer,OUTPUT);
analogWrite (buzzer, HIGH);
digitalWrite(ledPin1, HIGH);
delay (500);
analogWrite (buzzer, LOW);
delay (500);
analogWrite (buzzer, HIGH);
digitalWrite(ledPin4, HIGH);
delay (500);
analogWrite (buzzer, LOW);
delay (500);
analogWrite (buzzer, HIGH);
digitalWrite(ledPin3, HIGH);
delay (500);
analogWrite (buzzer, LOW);
delay(500);
analogWrite (buzzer, HIGH);
digitalWrite(ledPin2, HIGH);
delay(500);
analogWrite (buzzer, LOW);
pinMode(UPDDG, INPUT);
pinMode(UPDDD, INPUT);
Serial.begin(9600);
servog.attach(10);
servod.attach(9);
move(AVANT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
}
void loop()
{
handleUPDD(UPDDG);
handleUPDD(UPDDD);
sharp();
move(AVANT);
digitalWrite(ledPin1, HIGH);
digitalWrite (ledPin2,LOW);
delay(500);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(500);
digitalWrite(ledPin3, HIGH);
digitalWrite (ledPin4,LOW);
delay(500);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, HIGH);
delay(500);
digitalWrite(ledPin5, HIGH);
delay(100);
digitalWrite(ledPin5, LOW);
delay(100);
}[/code]
Pour l'instant,mon robot,quand j'appuis sur l'interrupteur,fais 4 bip puis démarre normalement .Mais je voudrais en plus rajouter les led avec les bip. 1er bip = led1 2eme bip = led4 3eme bip = led3 4eme bip = led2
#31115 Code Arduino
Posté par alex54-RX sur 10 janvier 2011 - 09:11 dans Electronique
il n'y a pas vraiment de fonction pour l'ordre c'est plutôt l'emplacement dans le code qui régie l'ordre
exemple:
void setup()
{
étape 1
étape 2
}
void loop()
{
étape 3
étape 4
}
[/code]
ce qui nous donne l'ordre 1,2,3,4,3,4,3,4....
sinon essai et apprends à programmer
Oui,je vient de découvrir sa , avant je ne savais pas.Maintenant il ne reste plus qu'a ajouter les leds comme j'ai dit,mais je n'y arrive pas.
Premier BIP avec led1 ; Deuxième BIP avec led4 ; Troisième BIP avec led3 et Quatrième BIP avec led2.
#31113 Code Arduino
Posté par alex54-RX sur 10 janvier 2011 - 07:52 dans Electronique
Merci pour vos réponses :D .
Je vais essayer de tester tout sa :) .
EDIT : J'ai trouvé le code pour faire BIP BIP.
#define AVANT 1
#define ARRIERE 0
#define GAUCHE 2
#define DROITE 3
#define SERVOG 1
#define SERVOD 0
#define UPDDG 3
#define UPDDD 4
#define SHARP 4
#define VMAX 5
Servo servog;
Servo servod;
//Buzzer
int buzzer = 6;
int ledPin1 = 12;
int ledPin2 = 11;
int ledPin3 = 8;
int ledPin4 = 7;
int ledPin5 = 13;
int vLdr = 5;
int getNeutral(int s)
{
if(s == SERVOG)
return 86;
else
return 84;
}
void handleS(int s, int speed)
{
//Vitesse :
// 0 -> 0; 1 -> 1; 2 -> 3; 3 -> 8; 4 -> 10; v => 5 -> 30
int tab[6] = {0,1,3,8,10,30};
int pos = getNeutral(s);
int acc;
if (speed < 0)
acc = - tab[abs(speed)];
else
acc = tab[speed];
if(s == SERVOG)
servog.write(pos += acc);
else
servod.write(pos -= acc);
}
void move(int direction)
{
int m1 = 0, m2 = 0;
switch(direction)
{
case DROITE: m1 = -1; m2 = 1; break;
case GAUCHE: m1 = 1; m2 = -1; break;
case AVANT: m1 = -1; m2 = -1; break;
case ARRIERE: m1 = 1; m2 = 1; break;
}
handleS(SERVOG, m1*VMAX);
handleS(SERVOD, m2*VMAX);
}
void handleUPDD(int updd)
{
if(digitalRead(updd) == HIGH)
{
move(ARRIERE);
delay(500);
if (updd == UPDDG)
{
move(DROITE);
}
else
{
move(GAUCHE);
}
delay(800);
}
}
void sharp()
{
int v = analogRead(SHARP);
if (v >= 230)
{
move(ARRIERE);
delay(300);
move(DROITE);
delay(900);
}
else if (v >= 140)
{
handleS(SERVOG, VMAX);
handleS(SERVOD, 0);
delay(1500);
}
}
void setup()
{
pinMode(buzzer,OUTPUT);
analogWrite (buzzer, HIGH);
delay (500);
analogWrite (buzzer, LOW);
delay (500);
analogWrite (buzzer, HIGH);
delay (500);
analogWrite (buzzer, LOW);
delay (500);
analogWrite (buzzer, HIGH);
delay(500);
analogWrite (buzzer, LOW);
delay (500);
analogWrite (buzzer, HIGH);
delay (500);
analogWrite (buzzer, LOW);
pinMode(UPDDG, INPUT);
pinMode(UPDDD, INPUT);
Serial.begin(9600);
servog.attach(10);
servod.attach(9);
move(AVANT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
}
void loop()
{
handleUPDD(UPDDG);
handleUPDD(UPDDD);
sharp();
move(AVANT);
digitalWrite(ledPin1, HIGH);
digitalWrite (ledPin2,LOW);
delay(500);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(500);
digitalWrite(ledPin3, HIGH);
digitalWrite (ledPin4,LOW);
delay(500);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, HIGH);
delay(500);
digitalWrite(ledPin5, HIGH);
delay(100);
digitalWrite(ledPin5, LOW);
delay(100);
}[/code]
Maintenant,il faut que je trouve comment faire pour que Premier BIP avec led1 ; Deuxième BIP avec led4 ; Troisième BIP avec led3 et Quatrième BIP avec led2.
#31108 Code Arduino
Posté par alex54-RX sur 09 janvier 2011 - 08:48 dans Electronique
J'aimerai bien que quand je démarre le robot il y 'ai un piezzo speaker qui fasse 4 bip et qu'après le robot marche.Mais je n'arrive pas a faire ce code,pouvez vous m'aider?
Puis je pensais que pour la fréquences des bip sa serais : BIP,attente d'une seconde,BIP,attente d'une seconde,BIP,attente d'une seconde,BIP,attente d'une seconde
Merci de vos éventuelles réponses.
#31107 Code Arduino
Posté par alex54-RX sur 09 janvier 2011 - 12:23 dans Electronique
En fait, peut importe comment elles clignotent c'est juste pour faire joli.Et ce n'est pas obligé qu'elles clignotent pareil c’est juste pour décorer :D .
Et merci pour le petit test :).
#31105 Code Arduino
Posté par alex54-RX sur 09 janvier 2011 - 10:59 dans Electronique
Merci d'avoir répondu.
#define AVANT 1
#define ARRIERE 0
#define GAUCHE 2
#define DROITE 3
#define SERVOG 1
#define SERVOD 0
#define UPDDG 3
#define UPDDD 4
#define SHARP 4
#define VMAX 5
Servo servog;
Servo servod;
int ledPin1 = 12;
int ledPin2 = 11;
int ledPin3 = 8;
int ledPin4 = 7;
int ledPin5 = 13;
int vLdr = 5;
int getNeutral(int s)
{
if(s == SERVOG)
return 86;
else
return 84;
}
void handleS(int s, int speed)
{
//Vitesse :
// 0 -> 0; 1 -> 1; 2 -> 3; 3 -> 8; 4 -> 10; v => 5 -> 30
int tab[6] = {0,1,3,8,10,30};
int pos = getNeutral(s);
int acc;
if (speed < 0)
acc = - tab[abs(speed)];
else
acc = tab[speed];
if(s == SERVOG)
servog.write(pos += acc);
else
servod.write(pos -= acc);
}
void move(int direction)
{
int m1 = 0, m2 = 0;
switch(direction)
{
case DROITE: m1 = -1; m2 = 1; break;
case GAUCHE: m1 = 1; m2 = -1; break;
case AVANT: m1 = -1; m2 = -1; break;
case ARRIERE: m1 = 1; m2 = 1; break;
}
handleS(SERVOG, m1*VMAX);
handleS(SERVOD, m2*VMAX);
}
void handleUPDD(int updd)
{
if(digitalRead(updd) == HIGH)
{
move(ARRIERE);
delay(500);
if (updd == UPDDG)
{
move(DROITE);
}
else
{
move(GAUCHE);
}
delay(800);
}
}
void sharp()
{
int v = analogRead(SHARP);
if (v >= 230)
{
move(ARRIERE);
delay(300);
move(DROITE);
delay(900);
}
else if (v >= 140)
{
handleS(SERVOG, VMAX);
handleS(SERVOD, 0);
delay(1500);
}
}
void setup()
{
pinMode(UPDDG, INPUT);
pinMode(UPDDD, INPUT);
Serial.begin(9600);
servog.attach(10);
servod.attach(9);
move(AVANT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
}
void loop()
{
handleUPDD(UPDDG);
handleUPDD(UPDDD);
sharp();
move(AVANT);
delay(100);
digitalWrite(ledPin1, HIGH);
digitalWrite (ledPin2,LOW);
delay(500);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(500);
digitalWrite(ledPin3, HIGH);
digitalWrite (ledPin4,LOW);
delay(500);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, HIGH);
delay(500);
digitalWrite(ledPin5, HIGH);
delay(100);
digitalWrite(ledPin5, LOW);
delay(100); [/code]
}
Donc voilà le code.Dites moi si vous voulez plus de détails :D .
#31103 Code Arduino
Posté par alex54-RX sur 08 janvier 2011 - 11:24 dans Electronique
--> pourtant j'ai dit bonjour et merci mais bon...
Merci pour ta réponse.
#31101 Code Arduino
Posté par alex54-RX sur 08 janvier 2011 - 10:08 dans Electronique
Alors je m'explique,je souhaiterais faire un code qui ferais clignoter 4 leds.Et je me demandais si il était possible de faire fonctionner ce code en même Temp que le code pour roby.
Car quand je met les leds elles interfèrent sur le fonctionnement du robot.
Merci pour vos réponses :D
#31068 Problème code Roby (Moteurs)
Posté par alex54-RX sur 05 janvier 2011 - 05:31 dans Electronique
Merci d'avoir répondu si vite. :)
C'était bien ça,ça marche. :D
Désolé pour l'orthographie,j'ai tendance a écrire vite. :s
#31066 Problème code Roby (Moteurs)
Posté par alex54-RX sur 05 janvier 2011 - 05:00 dans Electronique
Bonjour,
Voilà j'ai un problème avec le code pour Roby,celui la :
#define AVANT 1
#define ARRIERE 0
#define GAUCHE 2
#define DROITE 3
#define SERVOG 1
#define SERVOD 0
#define UPDDG 3
#define UPDDD 4
#define SHARP 4
#define VMAX 5
Servo servog;
Servo servod;
int vLdr = 5;
int getNeutral(int s)
{
if(s == SERVOG)
return 86;
else
return 84;
}
void handleS(int s, int speed)
{
//Vitesse :
// 0 -> 0; 1 -> 1; 2 -> 3; 3 -> 8; 4 -> 10; v => 5 -> 30
int tab[6] = {0,1,3,8,10,30};
int pos = getNeutral(s);
int acc;
if (speed < 0)
acc = - tab[abs(speed)];
else
acc = tab[speed];
if(s == SERVOG)
servog.write(pos += acc);
else
servod.write(pos -= acc);
}
void move(int direction)
{
int m1 = 0, m2 = 0;
switch(direction)
{
case DROITE: m1 = 1; m2 = -1; break;
case GAUCHE: m1 = -1; m2 = 1; break;
case AVANT: m1 = 1; m2 = 1; break;
case ARRIERE: m1 = -1; m2 = -1; break;
}
handleS(SERVOG, m1*VMAX);
handleS(SERVOD, m2*VMAX);
}
void handleUPDD(int updd)
{
if(digitalRead(updd) == HIGH)
{
move(ARRIERE);
delay(500);
if (updd == UPDDG)
{
move(DROITE);
}
else
{
move(GAUCHE);
}
delay(800);
}
}
void sharp()
{
int v = analogRead(SHARP);
if (v >= 180)
{
move(ARRIERE);
delay(300);
move(DROITE);
delay(900);
}
else if (v >= 100)
{
handleS(SERVOG, VMAX);
handleS(SERVOD, 0);
delay(1500);
}
}
void setup()
{
pinMode(UPDDG, INPUT);
pinMode(UPDDD, INPUT);
Serial.begin(9600);
servog.attach(10);
servod.attach(9);
move(AVANT);
}
void loop()
{
handleUPDD(UPDDG);
handleUPDD(UPDDD);
sharp();
move(AVANT);
delay(100);
}[/code]
quand j'allume le robot les moteurs tournent en arrière au-lieu d'aller en avant.Donc je voulais savoir si il etait possible d'inverser le sens des moteurs dans le code et si oui,qui faut il changer ?
Merci d'avance !
#31039 Roby,alimentation
Posté par alex54-RX sur 26 décembre 2010 - 07:09 dans Electronique
Oui en effet Esprit j'ai utilisée Paint pour rajouter le capteur :)
- Robot Maker
- → Contenu de alex54-RX
- Privacy Policy