Aller au contenu


Photo
- - - - -

[4WD]Delta 17xx


170 réponses à ce sujet

#61 Jbot

Jbot

    Membre passionné

  • Membres
  • PipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris
  • Interests:Robotics

Posté 23 janvier 2011 - 05:43


-les pins digital 0 et 1 on une flèche et les inscription RX, TX. a quoi cela correspond ? et es que ca empêche de les utiliser comme des out ou des in normal ?


Les pins RX (réception série) et TX (transmission série) sont les pins qui servent a utiliser le protocole série sur ton arduino pour communiquer avec une autre carte.

Tu peux les utiliser comme des In/Out normales si tu n'utilises pas de protocole série.


-le power pas de souci, (juste, les pin 5v et 3.3v sont elles des sorties ?)


Perso j'utilise le 5V comme une entrée moi, je m'en sert pour alimenter mon arduino en 5V plutot qu'avec du 7V-12V ce qui est plus chiant en embarqué.


-par contre quel est la différence entre les pins analog et les pins digital ??


Les pins analog sont des entrées analogique, ce qui veut dire qu'elles lisent une valeur ENTRE 0 ET 5V. Elles lisent la tension à leurs bornes.

Les pins digitales sont des entrées/sorties numérique. Donc elles lisent/écrivent uniquement du 0 OU 5V (considéré comme 0 ou 1 dans le code ensuite).



#62 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 23 janvier 2011 - 06:39

ok! merci beaucoup :)

#63 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 02 février 2011 - 06:08

j'ai encore des question! ^^

Pour le moment j'm'amuse a faire des petit programme tout simple, donc diode et interrupteur. j'vais essayé le servo quand j'aurais compris le truc.

1er question: Es que l'on peut mettre deux (ou plus)fonction loop dans le programme ??
pour par exemple faire tester tout au loin du programme l'etat d'un capteur.

2eme question: J'ai un récepteur de modélisme, donc qui donne les commande au servo, j'aimerai avec l'arduino faire un test d'une valeur de sortie.

par exemple sur ma radio commande je pousse le levier de la voie 1, le récepteur va donner l'ordre au servo 1 de tourné de temps de degrés, et j'aimerai mettre une pin de sorti a 1 si l'angle est au dessus de 30° mettons, et 0 si il est inférieur.

j'espère avoir étais assez claire.

Merci d'avance!


#64 Esprit

Esprit

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique
  • Interests:La robotique !

Posté 04 février 2011 - 10:01

Pour la première question, avec un microcontroleur PIC on utilise les interruptions pour traiter une réaction face à un capteur, par exemple. Pour les ATMEL qu'il y a sur les arduino, j'imagine que ça doit exister mais je n'ai encore jamais fait.





Pour la deuxième, tu peux par exemple utiliser L'oscillo du pauvre, basé sur une arduino. Ça permet de tester ce que tu reçois. ;) Après, si tu veux les utiliser, il faut que tu fasses quelques instructions conditionelles.





Bonne chance ! ;)

#65 Jbot

Jbot

    Membre passionné

  • Membres
  • PipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris
  • Interests:Robotics

Posté 04 février 2011 - 10:26

[quote"Esprit"]Pour la première question, avec un microcontroleur PIC on utilise les interruptions pour traiter une réaction face à un capteur, par exemple. Pour les ATMEL qu'il y a sur les arduino, j'imagine que ça doit exister mais je n'ai encore jamais fait.
[/quote]

Il existe bien entendu aussi sur l'arduino des Interruptions externes et des Interruptions timer (et ptete d'autres interruptions j'ai pas regardé, je n'ai utilisé que les externes et les timers).

#66 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 04 février 2011 - 03:00

les interruption timer, c'est avec la fonction mstimer ?? j'ai vu ca en cherchant sur le net. j'etait ca marche plus ou moin bien pour ce que je veut.

par contre pour les interruption externes je sais pas trés bien compris, je vient de regarder cette explication: http://arduino.cc/fr/Main/AttachInterrupt mais je ne comprend pas quand la fonction blink se déclenche.. quand la pin 0 change d'etat ??

#67 Jbot

Jbot

    Membre passionné

  • Membres
  • PipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris
  • Interests:Robotics

Posté 04 février 2011 - 03:21

Perso je les utilise "à la main", je n'utilise pas les fonctions de la librairie Arduino. Il faut regarder dans la datasheet de l'Atmel qui est sur la carte pour en savoir plus sur l'utilisation.

Mais en gros oui avec la fonction AttachInterrupt, ta fonction va se déclencher dés qu'il y aura un changement d'etat sur la pin séléctionnée (tu ne peux pas séléctionner n'importe quelle pin). Tu peux faire en sorte que la fonction se déclenche sur un front montant, sur un front descendant, ou sur les deux.

#68 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 04 février 2011 - 09:52

finalement mstimer j'arrive pas a le faire fonctionné.. comprend pas tout.

pareil pour les interruption externe j'ai des bug.. j'vais bosser ca.

par contre je fait fonctionné les servo maintenant j'suis content,

d'ailleurs je penser éventuellement gérer la réception de ma radio commande en considérant les sorti comme des servo, et en récupérant les angle. c'est faisable ?

#69 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 20 février 2011 - 10:29

voila, j'ai fait l'organigramme de mon programme, de la première partie en tout cas.

Ensuite je fait un switch case et je me retrouve avec une radio commande 12 voies ^^




#70 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 24 février 2011 - 09:25

J'ai terminé mon programme pour le moment. je n'ai pas encore pu l'appliqué sur mon robot.

Maintenant je cherche quelque camera (sans fil) je vais pouvoir acheter.

j'en cherche une avec bonne porté, bonne qualité, avec récepteur, adaptation facile sur un pc ect..

avez vous quelques suggestions ?? moi j'ai chercher mais je ne sais vraiment pas quoi prendre

#71 julkien

julkien

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 02 mars 2011 - 07:59

faut ce poser plusieur question

  • budget?
  • motoriser?
  • avec recepteur ? ( pas besoin si elle est en wifi)
  • et l'alimentation ??
  • vision nocturne ??

c'est sur que avec le wifi la porté seras moindre que sur les camera hertzienne mais le faite qu'il n'y est pas de récepteur spéciale

de plus il est possible de la motorisé pour environ 100€ (je préviens qu'il est quand même compliqué d'utiliser de manière autonome la motorisation )

un petit exemple :



Image IPB

camera Wifi; alimentation 5 v; prise ethernet; vision nocturne le tout pour environ 95€

après niveau qualité d'image sa reste une webcam ( 640x480 Pixels (300 000 Pixels) 30 image/s)





#72 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 18 mars 2011 - 07:14

pour la camera

budget, j'aimerai ne pas dépasser les 10 euros quand même..
motoriser pas la peine.
récepteur, tant que je la connecte au pc c'est bon.
alim, du 6 ou 9v.
vision nocturne m'en fou.

je cherche aussi a piloter sans fils ma carte arduino via le pc. je sais pas ce qu'est le mieux :| j'voudrai une porté correcte, genre 100 mètre!

il n'y a pas des kit permettant de communiqué par onde radio comme les appareil de modélisme, ou même qui simulerai une radio commande ?

#73 julkien

julkien

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 19 mars 2011 - 03:00

salut

10 € sa me semble très court comme budget! ;)

en googlelisant j'ai trouvé ça

tu pourrais imaginer de branché cette cam

Image IPB

bon ok le budjet exploser mais une porté de 200M



#74 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 19 mars 2011 - 04:10

euh ouais, c'etait pas 10 mais 100 j'ai zaper une touche ^^

sinon pour piloter ma carte, es qu'il est possible de récupéré un module bluetooh dans mon vieux téléphone et de le connecté a l'arduino ?

#75 corbo

corbo

    Membre

  • Membres
  • 50 messages

Posté 23 mars 2011 - 08:28

salut, super ton robot ! sinon pour les batteries tu peux utiliser ceux des téléphones portables =D c'est ce que je fais moi .

#76 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 23 mars 2011 - 10:10

Voila, j'ai fait mon code arduino en C, j'ai fait une interface de commande sur pc en java! et tout fonctionne a merveille! me manque plus qu'a installé une camera dessus et me voila avec un fps non virtuel ^^

je doit aussi redimensionné l'alimentation, la prise usb seul ne suffit pas :/

#77 Hexa Emails

Hexa Emails

    Habitué

  • Membres
  • PipPip
  • 439 messages
  • Gender:Male

Posté 24 mars 2011 - 02:54

Bonjour,
est-ce que tu pourrais détailler le fonctionnement de ton interface de commande? j'en fais en Processing, et c'est toujours intéressant de pouvoir comparer!

#78 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 25 mars 2011 - 11:31

euh ouais pas de problème, j'ai apporté quelque changement pour amelioré la rapidité d'execution. par contre du coup il y a des petit problème. demain matin je refait toute une partie du code et quand ca fonctionne je te l'envoie et te l'explique

#79 arthael

arthael

    Habitué

  • Membres
  • PipPip
  • 479 messages
  • Gender:Male

Posté 26 mars 2011 - 12:15

Voila, l'es parfait mon code ;) (j'ai viré la dizaine de boucle qui polluer le sketch ^^)

donc pour d’expliquer simplement, j'utilise déjà les deux fonction key pressed et key relased.

Donc dés que tu appuie sur un touche du clavier, j'enregistre cette touche dans un tableau (a une place bien définit grâce a un switch). Si tu appuie sur une autre touche sans relâcher la première la deuxième sera elle aussi stocké a sa place.

Quand tu lâche une touche c'est le même principe, tu stocke une valeur neutre a l'emplacement ou se trouvé la touche relâché.

après dans la fonction Draw, j'ai mi des else if, pour indiquer les priorité d’exécution.

par exemple pour les commande de mouvement, tu teste dans l'ordre ( d q z s ) et tu envoie la valeurs correspondant sinon tu envoie une valeurs qui stoppe les moteur.

pareil pour l'axe de la camera, je test (p m) et j’envoie la valeur qui correspond, sinon une autre valeurs neutre qui stoppe le servo.


le code processing (j'ai viré les commande graphique pour plus de lisibilité)


void draw() {

frameRate(10);

if (touche[0] == 'd') {
MySerialPort.write('d');

}
else if (touche[1] == 'q') {
MySerialPort.write('q');

}
else if (touche[2] == 'z') {
MySerialPort.write('z');

}
else if (touche[3] == 's') {
MySerialPort.write('s');

}
else {
MySerialPort.write(0);
}



if (touche[4] == 'p') {
MySerialPort.write('p');

}
else if (touche[5] == 'm') {
MySerialPort.write('m');

}
else {
MySerialPort.write(1);
}



if (touche[6] == 'l') {
MySerialPort.write('l');

}
else {
MySerialPort.write(2);

}

}




void keyPressed() {


switch (key) {

case 'd':

touche[0] = 'd';
break;

case 'q':

touche[1] = 'q';
break;

case 'z':

touche[2] = 'z';
break;

case 's':

touche[3] = 's';
break;

case 'p':

touche[4] = 'p';
break;

case 'm':

touche[5] = 'm';
break;

case 'l':

if (touche[6] == 'l') {
touche[6] = 2;
}
else {
touche[6] = 'l';
}

break;

}
}


void keyReleased() {


switch (key) {

case 'd':

touche[0] = 0;
break;

case 'q':

touche[1] = 0;
break;

case 'z':

touche[2] = 0;
break;

case 's':

touche[3] = 0;
break;

case 'p':

touche[4] = 1;
break;

case 'm':

touche[5] = 1;
break;

}
}
[/code]

Et le code Arduino qui interprète ce qu'il reçoit:


void serie () { // fonction appeler par un ms timer

if (Serial.available() > 0) {

switch (Serial.read()) {

case 'd':
Move = 3;
break;

case 'q':
Move = 4;
break;

case 'z':
Move = 1;
break;

case 's':
Move = 2;
break;

case 'p':
Cam = 1;
break;

case 'm':
Cam = 2;
break;

case 'l':
digitalWrite(L,HIGH); // active la rampe d’éclairage auto
break;

case 0:
Move = 0;
break;

case 1:
Cam = 0;
break;

case 2:
digitalWrite(L,LOW); // désactive la rampe d’éclairage auto
break;


default:
Move = 0;
Cam = 0;
break;

}
}


[/code]






#80 Hexa Emails

Hexa Emails

    Habitué

  • Membres
  • PipPip
  • 439 messages
  • Gender:Male

Posté 26 mars 2011 - 06:15

Okay! merci ça fait plaisir de voir un français qui fait du processing ^^

Moi j'avais fait un sketch qui avait un peu les mêmes fonctionnalitées, mais plus épuré, je me permets de la mettre, ça faisait quelque chose comme:

{
background(0); //fond noir
fill(255); // pour écrire le texte (couleur)
textFont(font1); //met en place la police
text("ROBOT", 10,50); // écrit "ROBOT" aux coordonnées, avec les réglages d'ériture précédentes
text("tapé:",10,115);
println(byte(key));
text(key, 200, 115);
Arduino.write(byte(key));
}[/code]

En gros le processing ne faisait aucun traitement, c'est l'arduino qui triait tout.
le println c'est juste pour le débuggage sur mon eeepc.
et "arduino.write" c'est mon port série.



Répondre à ce sujet



  


1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users