[Arduino] Les bases
|
22-11-2012, 23h43
(Modification du message : 01-12-2012, 14h18 par Swissky.)
Message : #1
|
|
Swissky
Bon membre Messages : 523 Sujets : 32 Points: 96 Inscription : Apr 2012 |
[Arduino] Les bases
Les bases de l'Arduino 1 - Définition L'arduino est un circuit imprimé contenant un microcontroleur , généralement un ATmega. Il est utilisé dans de nombreux projets à bas cout :
2 - IDE Il faut ensuite connecter notre arduino à notre ordinateur afin de le programmer, pour cela on utilise un cable usb type B : Faites attention, il faut généralement l'acheter en plus de l'arduino. Une fois votre arduino connecté, il vous faut l'IDE, il est compatible MAC OSX/ GNU Linux / Microsoft Windows (XP, Vista, 7). L'IDE est intégré par défaut dans Backtrack depuis la version 5. Vous devez utiliser le langage arduino qui est un dérivé du C, concrètement il y a très peu de différence.
Et si vous ne programmez pas en C, vous pouvez utiliser un NetDuino (Arduino fonctionnant avec le .NET sous Visual Studio, plus de renseignement sur le site officiel : http://netduino.com/ ). 3 - Premier programme En programmation , on a l'habitude de faire un Hello World, mais ce n'est pas possible sur un arduino (sauf si vous avez acheté un écran ). Aussi le code de base consiste à faire clignoter une LED, que vous pouvez acheter sur Snootlab il y a des pack de 10 LED pour 1€50 : Code PHP : /* Dans le code on met la LED sur le PIN 13 ,un PIN est un endroit permettant l'entrée ou la sortie d'un flux, par exemple pour controler un moteur et le faire tourner dans le sens des aiguilles d'une montre ou en sens inverse. Les pins sont tout simplement les portes d'entrée et de sortie du microcontroleur. Ce sont les connexions du microcontroleur vers des capteurs ou des shields. Le microcontroleur communique avec d'autres circuits, et normalement il les commande. Lorsqu'on programme le microcontroleur, on ouvre ou on ferme ces portes; on écoute un signal ou on envoie un signal. Pour configurer un PIN on utilise la fonction pinMode(numéro du PIN, Entrée ou Sortie) , ici on allume la LED c'est donc une sortie , contrairement à la réception de valeurs à partir d'un capteur comme un capteur de lumière. Voici où il se trouve sur l'arduino : Une fois le programme terminé, on l'upload dans l'arduino en cliquant sur le triangle : 3 - Les shields Les shields sont des extensions pour les arduinos , ils sont très simple à utiliser, en effet , il suffit juste de les emboiter sur l'arduino : Je ne vais pas détailler tous les shields, il en existe pour un peu toutes les finalités, je vous présenterais seulement les plus connus. Il faudra vous référer à la documentation, aux exemples et aux tutoriaux sur le net , si vous utilisez un shield. a) Le Motor Shield / MotoDuino Un must, il sert principalement à gérer des moteurs, qu'ils soient à courant continu , servomoteur et autres. b) Ethernet Shield Tout simplement le shield incontournable si vous souhaitez faire une connexion entre un arduino et un site, par exemple envoyer des valeurs récupérées par un capteurs de chaleurs . c) GPRS Shield Ce shield permet de communiquer par SMS, Voix, Data et Fax. 4 - Bonus Voici une petite liste de site où vous pourrez acheter des composants : http://www.cooking-hacks.com/ http://snootlab.com/ http://www.evola.fr/ J'ai déjà testé les deux derniers, commande reçue en moins d'une semaine. Voici un petit PDF récapitulant certains points : http://dl.dropbox.com/u/53604363/prez_arduino.pdf (de Skyduino) Merci à Evolax pour ces précisions. |
|
23-11-2012, 00h22
(Modification du message : 23-11-2012, 00h26 par Shirobi.)
Message : #2
|
|
Bannis Messages : 207 Sujets : 19 Points: 17 Inscription : Oct 2012 |
RE: [Arduino] Les bases
Moi je fini d'abbord mon apprentissage C, comme c'est dérivé ca devrait être plus facile plus tard...
Ca à l'air très interessant j'ai jamais vu|essayé ce genre de chose, j'espère que ca me plaira . En tout cas, merci pour ton petit thread |
|
23-11-2012, 18h05
Message : #3
|
|
spin
Contributeur Messages : 325 Sujets : 15 Points: 38 Inscription : Nov 2011 |
RE: [Arduino] Les bases
Bonsoir, merci bien de te dévouer à la rédaction d'un tutoriel à ce sujet.
Je trouve que tu vas un peu trop vite, à la section 3. Tu balances le code en parlant de PIN, mais qu'est-ce qu'un PIN d'abord ? Les gens qui se lancent vraiment dans la programmation sur µC -- ceux qui connaissent uniquement la programmation sur PC -- ne sont pas censés connaître ces notions propres aux µC. Il faut donc aller plus lentement sur cette partie, je pense. J'ai compris cette section uniquement parce-que j'ai déjà eu à programmer sur µC une fois dans ma vie, personnellement. J'ai la même remarque à faire sur la section des shields. Sauf que là, je ne sais vraiment pas ce que c'est, et en lisant le tutoriel je n'ai pas appris ce que c'était. Qu'est-ce donc un shield ? Là encore, il faudrait y aller plus doucement. J'ai l'impression que le tutoriel s'adresse aux gens déjà familier en programmation sur µC et qui souhaitent se mettre à Arduino. Or, il me semble, que ton tutoriel se veut accessible à tout programmeur, non ? Autre petite remarque, pourquoi ne pas traduire les commentaires des codes d'exemple ? Je te souhaite bonne continuation dans la rédaction |
|
23-11-2012, 18h57
Message : #4
|
|
Swissky
Bon membre Messages : 523 Sujets : 32 Points: 96 Inscription : Apr 2012 |
RE: [Arduino] Les bases
Merci pour ton retour, j'ai édité 2/3 trucs pour essayer d'expliquer ce qu'est un PIN et un shield, j'ai aussi commenté le code en français
|
|
23-11-2012, 23h36
Message : #5
|
|
Wabouz
Membre actif Messages : 96 Sujets : 8 Points: 16 Inscription : Nov 2012 |
RE: [Arduino] Les bases
Personnellement, je conseil aussi le mbed (http://mbed.org/) qui est peut-être un peu plus cher (40-50€) mais plus puissant. L'une des principales différences vient aussi du fait que le compilateur est en ligne. Pas besoin d'IDE ni rien, on se connecte sur le site on fait notre programme et on le charge sur le µC. ( Je parle en connaissance du mbed NXP LPC1768:
http://mbed.org/handbook/mbed-Microcontrollers) |
|
23-11-2012, 23h43
Message : #6
|
|
Swissky
Bon membre Messages : 523 Sujets : 32 Points: 96 Inscription : Apr 2012 |
RE: [Arduino] Les bases
N'hésite pas à nous présenter le mbed, je ne connais pas du tout et ne doit surement pas être le seul, un thread sur les bases du mbed serait super apprécié
|
|
23-11-2012, 23h44
Message : #7
|
|
Wabouz
Membre actif Messages : 96 Sujets : 8 Points: 16 Inscription : Nov 2012 |
RE: [Arduino] Les bases
Okay mais pour l'instant je suis un peu occupé avec mes bacs blancs etc, je m'y met dès que j'ai un moment
|
|
24-11-2012, 16h32
Message : #8
|
|
EpicOut
Membre actif Messages : 121 Sujets : 10 Points: 23 Inscription : Feb 2012 |
RE: [Arduino] Les bases
Au poil ton topic, thx.
Plein de mouches peuvent rentrer en boucle close.
|
|
24-11-2012, 16h35
Message : #9
|
|
ark
Psyckomodo! Messages : 1,033 Sujets : 48 Points: 317 Inscription : Sep 2011 |
RE: [Arduino] Les bases
Sympathique, il va vraiment falloir que j'en achète un un de ces jours !
|
|
01-12-2012, 12h45
Message : #10
|
|
evolax
Open Hackware Messages : 10 Sujets : 1 Points: 0 Inscription : Nov 2012 |
RE: [Arduino] Les bases
J'aime bien ce petit tutoriel d'intro sur Arduino car il est concis et se lit très vite et bien.
Je crois pas qu'il faille trop l'étoffer, mais ensuite faire d'autres topics. Tu peux ajouter 2 ou 3 petits trucs sur le concept: L'intérêt d'Arduino c'est sa facilité d'utilisation: même une personne ne connaissant rien à l'électronique peut réaliser un projet. Aucune soudure n'est nécessaire, aucun composant à ajouter (souvent). Tout est déjà monté pour vous. Arduino c'est aussi un langage (off: je passe le débat sur "c'est pas un vrai langage") Open Source: les codes sont ouverts et modifiables. Des exemples de codes et des librairies sont disponibles en nombre énorme. Open hardware: les schémas sont disponibles, utilisables et modifiables. En bref, hackez en toute légalité, c'est fait pour ça! (off: il y a des limites mais peu contraignantes pour en faire un projet commercial). |
|
01-12-2012, 13h53
Message : #11
|
|
evolax
Open Hackware Messages : 10 Sujets : 1 Points: 0 Inscription : Nov 2012 |
RE: [Arduino] Les bases
Aide sur les pins:
Les pins sont tout simplement les portes d'entrée et de sortie du microcontroleur. Ce sont les connexions du microcontroleur vers des capteurs ou des shields. Le microcontroleur communique avec d'autres circuits, et normalement il les commande. Lorsqu'on programme le microcontroleur, on ouvre ou on ferme ces portes; on écoute un signal ou on envoie un signal. Il y a deux grandes catégories de signaux: - Numérique : un signal binaire, 0 ou 1. En électronique cela se traduit par du courant ou pas de courant. Les pins numériques sont identifiables avec un D (pour digital) - Analogique : le signal n'est plus binaire mais varie selon la tension du courant. Par exemple 0 Volt pourra être associé à la valeur 0 et 5V à la valeur 1000. Un courant de 2.5V vaudra donc 2500. C'est dans le programme que l'on définit la valeur que l'on souhaite donner au signal reçu. Les pins analogiques sont identifiables par un A. Il y a aussi différents protocoles de communication: Série ou UART : pins 1 et 2 (hardware) - il est possible d'émuler d'autres liaisons série avec la librairie SoftwareSerial. C'est le plus simple à utiliser pour échanger quantités de données avec un capteur disposant d'une liaison série (Rx, Tx). SPI : pins 10, 11, 12, 13 - il permet de controler plusieurs capteurs en même temps, indépendamment des uns des autres (par exemple controler plusieurs leds, une à une) en paramétrant une horloge (la première seconde, on communique avec le capteur 1, la deuxième seconde avec le capteur 2 etc.). C'est un bus de données simple mais qui ne permet que la communication entre un maitre (Arduino) et plusieurs esclaves (capteurs). I2C (TWI - 2fils):A4, A5 - Permet la communication avec plusieurs capteurs ou d'autres microcontroleurs. Chacun ayant une "adresse" pour communiquer. Il peut donc y avoir plusieurs maitres pour plusieurs esclaves. Beaucoup plus compliqué, pas conseillé aux débutants. |
|
01-12-2012, 14h20
(Modification du message : 01-12-2012, 14h20 par Swissky.)
Message : #12
|
|
Swissky
Bon membre Messages : 523 Sujets : 32 Points: 96 Inscription : Apr 2012 |
RE: [Arduino] Les bases
Merci j'ai ajouté ta petite définition sur les PINs
Par contre je pense que l'on pourrait faire un tutoriel à part entière sur les signaux et les protocoles de communications. Et puis le langage Arduino , c'est du C avec 2/3 bizarreries |
|
01-12-2012, 19h33
Message : #13
|
|
spin
Contributeur Messages : 325 Sujets : 15 Points: 38 Inscription : Nov 2011 |
RE: [Arduino] Les bases
Je viens de lire la version corrigée d'après les remarques, et c'est mieux
Je pense aussi qu'il faut un tutoriel consacré aux signaux et aux protocoles de communication, mais peut-être alors qu'il serait judicieux de le faire en tant qu'introduction au tutoriel Arduino. Parce-que ce que dit evolax me semble assez pertinent pour ceux qui veulent commencer avec Arduino en ne connaissant rien à la programmation sur micro. |
|
01-01-2013, 17h32
Message : #14
|
|
WizOut
Black Slave Coder Messages : 111 Sujets : 13 Points: 14 Inscription : Apr 2012 |
RE: [Arduino] Les bases
Ah merci du tutoriel Whisky ; ) Je vais surement m'en acheter un , ça à l'air très intéressant , sur le site du zero, ils ont déjà commencé leur cours sur Arduino en section sciences
"Il existe deux choses infinies : l'univers et la bêtise humaine" Einstein.
PHP/MySQL (POO & PDO) : OK HTML5/CSS3 : OK JAVA : En cours |
|
06-01-2013, 13h46
Message : #15
|
|
Ettorhake
Newbie Messages : 11 Sujets : 1 Points: 1 Inscription : Dec 2012 |
RE: [Arduino] Les bases
Je connaissais mais sans jamais m'y attarder, mais maintenant que j'ai des bases en C , je bave rien qu'en pensants aux possibilités infinies , je crois que je vais passer le pas et commander les bases pour bidouiller ! , merci
|
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Domotique en Arduino/Raspberry | badTasTe | 16 | 4,043 |
10-01-2014, 01h19 Dernier message: badTasTe |
|
ARDUINO/Raspberry : les inventions | notfound | 3 | 1,326 |
26-03-2013, 22h13 Dernier message: -Mat- |
|
Arduino : buzzer et photorésistances! | Dobry | 1 | 979 |
12-03-2013, 17h14 Dernier message: Swissky |
|
Arduino : Faites briller des LEDs | Dobry | 3 | 1,502 |
14-12-2012, 17h39 Dernier message: Dobry |
|
Arduino : cartes électroniques Open Source | artis | 5 | 1,554 |
24-08-2011, 03h13 Dernier message: datareaver |
Utilisateur(s) parcourant ce sujet : 2 visiteur(s)