Bonjour,
bienvenue sur le tout nouveau topic unique Arduino
Mais qu'est qu'un arduino ?
wikipedia a écrit :
Arduino est une plateforme basée sur une interface entrée/sortie simple et sur un environnement de développement utilisant la technique du Processing/Wiring. Arduino peut être utilisé pour construire des objets interactifs indépendants (prototypage rapide), ou bien peut être connecté à un ordinateur pour communiquer avec ses logiciels (ex: Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider). Les versions vendues actuellement sont pré-assemblées, des informations sont fournies pour ceux qui souhaitent assembler l'Arduino eux-mêmes.
Le design matériel de l'Arduino est distribué sous licence Creative Commons Attribution Share-Alike 2.5 et est disponible sur le site d'Arduino. Les schémas ainsi que les typons de circuits sont également disponibles.[1] Le code source de l'environnement de programmation et les librairies embarquées sont disponibles sous licence LGPL.
|
En plus simple, c'est une carte électronique programmable de manière assez facile dans le langage C, et qui permet de faire pas de chose.
On commence par allumer des leds, utiliser des interrupteur, puis on branche un afficheur 7 segment, on pilote des moteurs, on branche des afficheurs LCD, OLED. L'étendue des possibilité est énorme, c'est plus votre imagination (et un peu vos compétences en électronique) qui seront le facteur limitant.
Arduino, Arduino Nano, Arduino Diecimila, Arduino Duemilanove, freeduino, boarduino, iDuino, j'y pige que dale!
Bon, vous avez cherché un peu essayer de vous renseigner, voir d'acheter une carte, mais vous êtes un peu perdu devant toutes les références.
La première chose est que les différentes versions officielles de l'arduino ont des noms différents. La plus courante aujourd'hui duemilanove, en gros les autres sont soit des versions plus petites (nano), soit avec quelques fonctionnalités en plus (mega, bluetooth), soit avec une puce ancienne (diecimila, NG, NG plus...)
Il faut savoir que l'Arduino est un projet libre, que l'on peut reproduire le design comme on veut, mais que les responsables du projet ont demandé a ce que le nom d'arduino ne soit utiliser que pour les produit officiels. De fait, on se retrouve il a été créé des design compatibles avec l'arduino, certains quasi tel quel, d'autres avec certaines spécificités de taille, de connectique...
il y a 3 niveaux de compatibilité :
- il existe des cartes d'extensions. Le niveau de compatibilité maximal est donc la compatibilité avec ces cartes. On trouve dans cette catégorie Freeduino SB, Freeduino MaxSerial, Freeduino, Illuminato Genesis, metaboard, Seeeduino
- le deuxième niveau est la compatibilité avec le code source, mais pas avec les cartes d'extension standard. les cartes sont Boarduino, iDuino, Sanguino parmi tant d'autres
- il faut savoir que le coeur d'une carte arduino est une puce ATMEL (ATmega8 pour les anciens, ATmega168, ATmega328, et ATmega1280 pour l'Illuminato Genesis), il existent des cartes compatible avec les cartes d'extensions arduino officielles, mais qui ont leur propre IDE et langage, et donc le code source arduino n'est pas compatible.
cartes d'extensions
il existent plusieurs cartes d'extension, appelé plus couramment shield permettant d'augmenter simplement les possibilités.
parmi celle ci, on trouvera
- l'Arduino Ethernet Shield : permettant d'implementer une interface ethernet à la carte
- le XBee Shield : rajoute l'interface XBee a la carte, qui est iun protocole de transmission sans fils
- le Liquidware's TouchShield qui permet d'avoir une interface tactile, par exemple :
http://www.youtube.com/v/1cwX6ctA_vI
IDE ?
L'IDE (l'environnement de développement) est lui aussi libre. c'est un programme java dérivé du programme pour le langage processing. Sa nature le rend portable, et on peut donc l'utiliser autant sous linux, mac que windows
L'éditeur de texte de l'IDE supporte l'indentation automatique, la coloration syntaxique et le "brace matching", recherche des correspondances des crochets.
Il vient avec une librairie C/ C++ qui permet une programmation tres simple des entées / sorties.
un programme arduino a besoin de 2 fonctions pour marcher :
- setup : qui va initialisé la carte au démarrage du programme
- loop : qui est la fonction réalisée en boucle
Il faut alors choisir quelle carte on utilise, choisir la bonne interface (il y a une pont USB serie qui est créé, il faut savoir sur quel port série ça a été configuré)
Il y a alors un bouton pour compiler son programme (le bouton "lecture" ) et si le programme compile, on peut l'envoyer sur la carte "upload"
entrée / sorties
le principe de l'arduino est d'offrir une multitude d'entrée / sortie analogique ou numérique.
l'arduino duemilanove se présente de la manière suivante :
sur cette carte, on trouve :
- 1 : connecteur USB, permettant la transmission des programmes, la communication avec l'ordinateur via une interface serie, et l'alimentation de la carte
- 2 : 13 entrées / sorties numériques
- 3 : connecteur d'alimentation, permet de faire fonctionner la carte sans la présence d'un pc et de son port USB. Il admet en entrée une tension de 7 à 12V (6 a 20V en valeur limite)
- 4 : connecteurs d'alimentation pour des cartes filles. la pin reset permet en la mettant a la masse de remettre a zero un arduino planté
- 5 : entrées analogique, pour des capteurs par exemple
- 6 :
- 7 :
- 8 : led power, indiquant le fonctionnement
- 9 : led intégrée à la pin 13
- 10 : leds indiquant la transmission montante et descendante sur l'USB
les 13 entrées sorties sont programmable soit dans un mode soit dans l'autre au moment de l'initialisation de la carte.
de la même manière, certaines de ces pins ( 3, 5, 6, 9, 10, et 11) sont configurables afin de donnée une régulation du courant de type PWM pour faire varié l'intensité sur ces pins.
les entrées analogiques sont codés sur 10 bits, donc 1024 valeurs, avec par défaut une valeur basse de 0V et une haute de 5V qu'il est possible de modifier.
attention, autant pour une entrée ou une sortie, ca ne se branche pas directement avec une led ou un interrupteur, sinon c'est court circuit assuré!!
Mon premier programme
pour tout le monde le premier programme va être de faire clignoter une LED.
sur l'arduino duemilanove, il y a une led integré a la pin 13, il n'y a donc aucun branchement à faire pour faire ce premier exercice
Code :
- int ledPin = 13; // la led que l'on veut configurer est sur la broche 13
- void setup() // fonction d'initialisation
- {
- pinMode(ledPin, OUTPUT); // on configure cette broche comme une sortie
- }
- void loop() // fonction qui tourne en boucle
- {
- digitalWrite(ledPin, HIGH); // on met la led a un niveau haut (allumée)
- delay(1000); // attente d'un seconde (1000ms)
- digitalWrite(ledPin, LOW); // on met la led à un niveau bas (éteinte)
- delay(1000); // attente d'un seconde (1000ms)
- }
|
voila normalement vous avez votre led qui tourne.
l'exercice suivant pourrait être de faire la même chose sur la pin 12, il faut alors brancher une led (et une résistance à la bonne valeur pour éviter un court circuit!).
puis on va introduire un interrupteur, un capteur etc...
des exemples de réalisations
bon, c'est bien gentil de faire clignoter des leds, mais ca va vite me saouler!
qu'est ce qu'on peut faire?
http://www.youtube.com/watch?v=m6urXlhzcnE
http://nezoomie.wordpress.com/2009 [...] tiometers/
celle ci est plutot complexe, on peut plus simplement commencer par le pilotage automatique de 3 leds différentes avant de rajouter des fonctionnalités
http://www.instructables.com/id/Th [...] no-Version
http://www.youtube.com/watch?v=0DqcnHE6r9M
http://www.semageek.com/la-ball-ba [...] r-plateau/
http://www.youtube.com/watch?v=z4OMdLe9POY
http://www.semageek.com/diy-fabriq [...] r-magique/
projet assez complexe, mais au résultat plutôt fun!
pour aller plus loin sur l'arduino
http://www.arduino.cc
http://www.ladyada.net/learn/arduino/
site non spécifique sur l'arduino, mais beaucoup de réalisations
http://hackaday.com/
http://makezine.com/
http://www.instructables.com/
boutiques en ligne
http://www.liquidware.com/
http://www.makershed.com/
http://www.sparkfun.com/
http://www.adafruit.com/
http://www.alyasoft.com/ - boutique francaise
http://www.lextronic.fr/ - boutique francaise
http://www.gotronic.fr/ - boutique francaise avec pas mal de choix
http://www.coolcomponents.co.uk
http://fr.hobbytronics.co.uk/ - vends des articles de sparkfun, mais avec des frais de port plus raisonnables
note : je suis débutant en arduino, et ceci est un premier jet, sujet à modification ultérieure. ne pas hésiter à remonter les erreurs ou aider à compléter.
edit : changement titre
Message édité par TotalRecall le 23-11-2015 à 18:39:19
---------------
ras