Go Down

Topic: Choix de l'arduino (Read 988 times) previous topic - next topic

edwinre

Bonjour à tous,

Je cherche comment connecter la carte arduino a l'ordinateur, l'alimenter ainsi que de transférer le programme sur le logiciel, si il y avait un tuto ce serait génial.

Mes programmes sont faits pour contrôler les moteurs à courant continu et servomoteur, que prendre comme carte, Arduino ono ou Arduino Mega?

Merci à tous.

B@tto

Le choix entre UNO et MEGA se fait surtout par rapport à tes besoins en connexions. Par exemple la mega c'est 54 pin digitaux tandis que la UNO en a 14. La mega a également plus de mémoire, 4 port série hardware (1 seul pour la UNO) et j'en passe. Mais forcement plus chère, le double à peu près
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

edwinre

Merci, comme j'ai les deux, je vais quand même prendre l'Arduino uno.

Existe-il des tutoriels pour transférer un programme sur la carte?

Christian_R

Une petite présentation (pdf) http://www.louisreynier.com/fichiers/KesacoArduino.pdf
Christian

edwinre

Merci, je vais choisir la carte arduino uno. Mais existe t-il des tutoriels pour transférer un programme vers la carte et alimenter la carte car j'ai deux erreurs au cours du téléchargement.

erci

skywodd

Bonjour,


Merci, je vais choisir la carte arduino uno. Mais existe t-il des tutoriels pour transférer un programme vers la carte et alimenter la carte car j'ai deux erreurs au cours du téléchargement.

Quel code ? Quelles erreurs ?
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

edwinre

Ces codes la:

Code: [Select]
const byte PIN_VITESSE = 3; // Broche de contrôle du moteur par PWM
int compteur = 0; // on met le compteur a zero
int x = 1; // x est le nombre de recommencement de boucle pour y et z
int y = 12; // y est la vitesse en tour minutes
int z = 300; // z est le temps de marche du moteur pour y

// Fonction d'initialisation hardware
void setup() {
    pinMode(PIN_VITESSE, OUTPUT); // Mise en sortie de la broche connecté au moteur
}
void loop() {
while(compteur < x) {
analogWrite(PIN_VITESSE, y); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins
delay(z); // le moteur reste allumé 5mins
analogWrite(PIN_VITESSE, 0); // le moteur s'éteint
compteur++; // le compteur fait +1
}
analogWrite(PIN_VITESSE, 0); //quand x
}


et

Code: [Select]
#include <Servo.h> // librairie arduino pour servomoteur

const int POS_MIN=550; // mise a zero pour un servomoteur position minimale
const int POS_MAX=2330; // position maximale servomoteur

int angle_servo=0; //angle pour position minimale

const int broche_servo=2; //broche selon branchement (2)
const int Voie_0=0; //constante pour passage en analogique

int mesure_brute=0;// résultat brut
float mesuref=0.0;// résultat décimal

Servo mon_servo;  // pour le control du servomoteur

void setup()   { // debut de la fonction setup()


mon_servo.attach(broche_servo, POS_MIN, POS_MAX);  // broche commande servo


pinMode(broche_servo, OUTPUT); //met la broche en sortie
}
void loop(){ // fonction loop() sans fin

// acquisition conversion analogique numérique
//sur broche analogique indiquée - résultat 10bits (0-1023)
mesure_brute=analogRead(Voie_0);

angle_servo=map(mesure_brute,0,1023,0,180);  // conversion  en angle °

mon_servo.write(angle_servo); // positionne le servo à l'angle voulu

delay (100); // pause entre 2 mesures et modif position servomoteur
}


J'ai deux cartes UNO, ces la première fois que je programme en Arduino et que j'utilise ces cartes.

Et j'ai ces deux erreurs:


Christian_R

" stk500_getsync() not in sync resp=0x00 " signifie que la communication entre le PC et l'Arduino se passe pas.
Vérifier dans  un premier temps le port COM, le baudrate
Christian

edwinre

Il est sur le port com1, le seul disponible.

numero_744

Salut !
Est-ce que le port "com1" disparaît après débranchement de l'Arduino ?
Est-ce que La bonne carte est sélectionnée ?
- Arduino UNO R3;
- PowerBook G4;
  - Arduino (C)
  - Eclipse (Java)
  - wxLua (µLua)
  - TextWrangler (HTML + JS)
- (3)DS et bientôt R4 (po

edwinre

Non com1 est est toujours actif.
La carte UNO, je ne la trouve pas dans outils/cartes donc je mets MEGA et je branche ma Mega et toujours mêmes erreurs.

Christian_R

J'avais eu ce problème avec l'ancienne IDE avec les menus en français, corrigé avec la  ré-installation de l'IDE version 1.0 (en anglais).

Il est important de configurer dans Tool/Board (Outil/Carte) la carte qu'on utilise (le nom précis et imprimé dessus), "Arduino Uno" est forcément dans cette liste (1er choix en haut).
Christian

numero_744

Bonjour.


"Arduino Uno" est forcément dans cette liste (1er choix en haut).


Lorsque j'ai téléchargé mon IDE, elle n'y était pas.
Je l'ai désinstallé et ait installé la version francisée, elle y est.
Je ne me souviens plus de quelle version j'avais au départ...
- Arduino UNO R3;
- PowerBook G4;
  - Arduino (C)
  - Eclipse (Java)
  - wxLua (µLua)
  - TextWrangler (HTML + JS)
- (3)DS et bientôt R4 (po

edwinre

Je réinstalle mon IDE, je vois après

edwinre

Plein d'autres cartes dont l'Arduino UNO sont apparus.

Merci.

Une dernière question, L'iDE me met maintenant que j'ai une erreur de compilation:

Code: [Select]
#include <Servo.h> // librairie arduino pour servomoteur

const int POS_MIN=550; // mise a zero pour un servomoteur position minimale
const int POS_MAX=2330; // position maximale servomoteur

int angle_servo=0; //angle pour position minimale

const int broche_servo=2; //broche selon branchement (2)
const int Voie_0=0; //constante pour passage en analogique

int mesure_brute=0;// résultat brut
float mesuref=0.0;// résultat décimal

Servo mon_servo;  // pour le control du servomoteur

void setup()   { // debut de la fonction setup()


mon_servo.attach(broche_servo, POS_MIN, POS_MAX);  // broche commande servo


pinMode(broche_servo, OUTPUT); //met la broche en sortie
}
void loop(){ // fonction loop() sans fin

// acquisition conversion analogique numérique
//sur broche analogique indiquée - résultat 10bits (0-1023)
mesure_brute=analogRead(Voie_0);

angle_servo=map(mesure_brute,0,1023,0,180);  // conversion  en angle °

mon_servo.write(angle_servo); // positionne le servo à l'angle voulu

delay (100); // pause entre 2 mesures et modif position servomoteur
}


Et il ne précise par l'erreur.

Merci

Go Up