Show Posts
|
|
Pages: [1]
|
|
4
|
International / Français / Re: Projet Capteur de température
|
on: March 24, 2013, 03:34:25 pm
|
|
Effectivement, pour une plage réduite a un usage meteo le choix est pas très judicieux !
La fonction map est pas mal pour ce genre de chose ! Cela évite les conversions pour un échelle proportionnelle !
|
|
|
|
|
5
|
International / Français / Re: Recuperation vitesse ethernet
|
on: March 24, 2013, 03:27:12 pm
|
|
Non, le robot est piloter par le programme de l'arduino suivant des capteurs.
Sinon j'avais penser faire une requête HTML(PHP), avec remise a zero de la valeur de nombre d’incrémentation de mes codeurs a chaque requête. Puis une intégration au niveau de l'ordi pour avoir la vitesse ...
J'aimerai ensuite faire un script en python qui fasse cette requête toutes les .5s secondes, puis créer une interface graphique qui me montre le chemin sur l'ordi.
|
|
|
|
|
6
|
International / Français / Recuperation vitesse ethernet
|
on: March 23, 2013, 04:18:02 pm
|
|
Salut a tous, voila j'ai fait un robot a base d'arduino qui suit une ligne.
Dans le code, je fait des mesures de vitesses ...
J'aimerai pouvoir récupérer en temps reel ces donnée par ethernet.
Comment faire ?
Merci de votre aide
|
|
|
|
|
11
|
International / Français / Programme robot suiveur de ligne. Erreur introuvable !
|
on: November 30, 2012, 02:02:52 pm
|
Salut a tous, voila j'ai ecrit un petit programme pour guidée un robot avec un 6 led. * Si une led vois une ligne noir, la tension passe a environ 2v soit une valeur de 320. * Si une led ne vois rien ( ligne blanche ) environ 4v soir une valeur de 550 les moteurs sont commandés par un PWM de 0 - 255. // Initialisation de la Variable de comparaison
const int ligne = 410;
// Initialisation des Variables des entrées / sorties
// LEDS const int ledG2 = 0; // capteur connectée à la broche numérique 12 const int ledG1 = 1; // capteur connectée à la broche numérique 11 const int ledCG = 2; // capteur connectée à la broche numérique 10 const int ledCD = 3; // capteur connectée à la broche numérique 9 const int ledD2 = 5; // capteur connectée à la broche numérique 7 const int ledD1 = 4; // capteur connectée à la broche numérique 6
// MOTEURS
const int MGs = 4; // Commande sens Moteur Gauche const int MDs = 2; // Commande sens Moteur Droit
const int MG = 5; // Commande vitesse Moteur Gauche - PWM - 0/255 const int MD = 3; // Commande vitesse Moteur Droit - PWM - 0/255
// Initialisation des Variables vitesses moteur
int VMG; int VMD;
// Initialisation des Variables internes ( Capteurs )
int etatledG3; //variable qui enregistre l'état du capteur int etatledG2; //variable qui enregistre l'état du capteur int etatledG1; //variable qui enregistre l'état du capteur int etatledCG; //variable qui enregistre l'état du capteur int etatledCD; //variable qui enregistre l'état du capteur int etatledD3; //variable qui enregistre l'état du capteur int etatledD2; //variable qui enregistre l'état du capteur int etatledD1; //variable qui enregistre l'état du capteur
// On créer des variables tension afin de pouvoir afficher la tension de chaque LED
float tensionledG2; float tensionledG1; float tensionledCG; float tensionledCD; float tensionledD2; float tensionledD1;
void setup() //fonction d'initialisation de la carte et des variables { Serial.begin(9600); // ouvre le port série à 9600 bauds // Initialisation broche sens moteurs / sortie pinMode(MGs, OUTPUT); //broche 4 comme étant une sortie pinMode(MDs, OUTPUT); //broche 2 comme étant une sortie
// Mise a l'etat haut du sens des moteurs - NV digitalWrite(MGs, HIGH); // Sens moteur gauche Avancer digitalWrite(MDs, HIGH); // Sens moteur droit Avancer
}
void loop() //fonction principale
{
// Lecture des valeurs des capteurs pour le guidage
etatledG2 = analogRead(ledG2); //Lecture de la valeurs du capteur etatledG1 = analogRead(ledG1); //Lecture de la valeurs du capteur etatledCG = analogRead(ledCG); //Lecture de la valeurs du capteur etatledCD = analogRead(ledCD); //Lecture de la valeurs du capteur
etatledD2 = analogRead(ledD2); //Lecture de la valeurs du capteur etatledD1 = analogRead(ledD1); //Lecture de la valeurs du capteur
// Stop si pas de ligne if(etatledG2 > ligne && etatledG1 > ligne && etatledCG > ligne && etatledCD > ligne && etatledD2 > ligne && etatledD1 > ligne) // Si les capteurs ne voient rien, les moteurs restent a l'arret { VMG = 0; VMD = 0; }
if(etatledCG < ligne && etatledCD < ligne ) // Si les capteurs centres vois la ligne -> moteur 255 { VMG = 255; VMD = 255; }
// Verification Gauche
if(etatledG1 < ligne && etatledCG < ligne) // Si le capteur vois la ligne sur le G1 { VMG = 255; VMD = 200; }
if(etatledG2 < ligne && etatledG1 < ligne) // Si le capteur vois la ligne sur le G2 { VMG = 255; VMD = 125; }
if(etatledG2 < ligne ) // Si le capteur vois la ligne sur le D3 ET D2 - Permet de faire un niveau de correction supplémentaire { VMG = 255; VMD = 0; }
// Verification Droite
if(etatledD1 < ligne && etatledCD < ligne) // Si le capteur vois la ligne sur le D1 { VMG = 200; VMD = 255; }
if(etatledD2 < ligne && etatledD1 < ligne) // Si le capteur vois la ligne sur le D2 { VMG = 125; VMD = 255; }
if(etatledD3 < ligne) // Si le capteur vois la ligne sur le D3 et D2 - Permet de faire un niveau de correction supplémentaire { VMG = 0; VMD = 255; }
//Ecriture des valeurs pour les moteurs analogWrite(MG,VMG); analogWrite(MD,VMD); }
J'ai donc par la suite ajouter des serialprint pour lire toutes mes variables. Tout est correct. Sauf que quelque soit le cas VMG et VMD reste a 0 !!!! Merci de votre aide. Ps : Comment fait ont, dans le moniteur serie, pour que les lectures se mettent a la ligne et non a la suite ?
|
|
|
|
|
13
|
International / Français / Commande d'un robot par 2 voies PPM
|
on: November 17, 2012, 04:53:31 pm
|
|
Salut a tous, voila je suis en train de faire un projet, qui pour vous va surrement parraitre facile; mais pour moi ! Comme travaux d'etude en electronique cette année, mes profs m'on acheté un robot tout simple avec 2 moteurs, contrôlée par une carte de commande. 1 entrées PWM ( 0 - 255 ) pour la vitesse, et broche ( 0 / 1 ) selon le sens. ( par moteur )
Mon travail était de faire suivre une ligne a ce robot ... nickel!
La, pour faire mumuse j'aimerai compliquer un peu le truc !
Mon but étant :
De récupérer sur un récepteur, sur 2 vois séparer, le signal pour dirigé le robot. La moi, la voie 1 correspondrait a la puissance moteur. ( avec évidement, marche avant / arrière ), et la seconde pour la direction, qui viendrait simplement créer une différence dans la PWM de chaque moteur.
Ce qui me pose souci, est d'arriver a lires c'est 2 voies, et a stocker les valeurs dans un bits.
J'ai trouvé des projects sur certain site, mais je ne comprend pas leurs fonctionnement.
Merci par avance
|
|
|
|
|