Arduino

  • Ce sujet est vide.
15 sujets de 1 à 15 (sur un total de 42)
  • Auteur
    Messages
  • #79010
    Bince
    Bloqué

      chalu

      C’est décidé, je relève le gant et les manches ! :D . Je me lance dans l’apprentissage sur la programmation Arduino.

      Pour ce faire je suis tombé sur ce super site qui reprend tout de A à Z, tip top pour les nuls comme moi ! :)

      le lien:

      http://sciences.siteduzero.com/tutoriel-3-515602-arduino-pour-bien-commencer-en-electronique-et-en-programmation.html

      Une suggestion…. il serait cool de dédier un post, où les virtuoses de l’arduino pourrait aider les nuls qui s’y mettent. Au moins il n’y aurais q’une rubrique avec des bouts de programmes incompréhensibles.. 😆. Et seuls ceux voulant flirter avec un AVC, s’y risqueront…

      Tchuss…

      #97872
      dede62
      Bloqué

        je me lance aussi avec toi

        #97874
        Bince
        Bloqué

          cool ! ;)

          #97875
          frederic54
          Bloqué

            je suis partant pour vous suivre sur cette longue route :calimero: , je n’ais encore rien compris a ce système . :boulet:

            #97873
            kethry
            Bloqué

              Le post est donc créé, on peut s’entre aider ici…

              #97881
              Anonyme

                aller, avant de jouer ma carte R2-noob, je vais tâcher de faire gagner quelques points d’expériences dans un domaine que je connais à peut près. J’ai déjà partagé des infos et des tutos sur un autres forums.

                Je sais que l’anglais, ça coince pas mal ici, cependant je vous conseille de regarder la vidéo suivante (sous titrée)

                http://vimeo.com/18539129” class=”bbcode_url”>http://vimeo.com/18539129

                vous y verrez la motivation initiale de Massimo Banzzi et de Tom Igoe sur le projet. Pour les plus témerraires, je vous recommande “Physical Computing” de Tom Igoe, sur les bases d’interfaçage entre un arduino, des capteurs et le monde physique. Exemple d’application : prendre en photo son chat avec la webcam lorsqu’il passe devant et poster la photo sur un site automatiquement.

                Qu’est ce qu’Arduino ?

                Le site du zéro reprend assez bien les bases mais il n’explique pas certains points essentiel.

                ** Arduino est une carte électronique avec un microcontrolleur qui a été créé pour les artistes et les designers, pour aborder la programmation interactive avec le monde extérieur, pour des installations interactive ou pour créer des scénario d’intéraction entre un objet et son utilisateur.

                Pourquoi Arduino ?

                M. Banzzi s’est rendu compte qu’il essayait d’apprendre à ses étudiants l’électronique (embarquée) avec le binaire, la config bas niveau d’un µC (microcontrolleur, que je nommerais régulièrement MCU pour MicroController Unit) etc. Au final, il s’est rendu compte que c’était pas du tout adapté pour les designers mais en même temps COMMENT les faire démarrer sur un µP sans avoir à faire la config bas niveau, les registres de configuration etc.

                La réponse est venu d’un projet qui s’appellait Wiring, programmé en Processing. A l’époque, il y avait déja des alternatives pour tout le monde puisse écrire du code simple sur une carte / µP sans avoir à comprendre les détails de la config : le Basic Stamp de Parallax en est un assez bon exemple.

                Problème : le BASIC est un langage interprété et très lent, pas de nombre flottant (même pas en virgule fixe). Wiring standardisait la programmation avec un “niveau caché” configurant le microcontrolleur d’une certaine manière sans que l’utilisateur ait à faire quoi que ce soit.

                C’est la définition d’une PLATEFORME de développement.

                Elle est généralement composée d’un processeur ou MCU, des périphériques, des connecteurs pour brancher des choses dessus.

                Vient ensuite l’environnement de développement, appelé aussi IDE (integrated development environment). Dans le cas de l’arduino, c’est lui qui réalise le niveau caché de la programmation. Il est composé d’un pre processeur qui ajoute le code “qui va bien” pour que l’arduino soit configuré… comme un arduino :

                – choix de l’horloge / vitesse de calcule (via un quartz externe la plupart du temps, 8 ou 16 MHz)

                – affectation des entrées / sorties : c’est à dire quelles pattes physiques du µP seront utilisée pour quoi. Entrées sorties standard, analogique, protocole de communication numérique, liaison série

                C’est PRECISEMENT cet aspect qui a fait que arduino est devenu une plateforme simple. Quand vous ouvrer l’IDE, vous arrivez dans une page blanche avec un squelette de code qui ressemble à du langage C (c’en est, à 98%) et jamais vous n’avez (sauf si nécessaire) à aller mettre du code obscur pour configurer l’arduino, juste l’essentiel de votre programme. Le code manquant est ajouté par le pre processeur.

                Ensuite, vous avez un Code Wrapeur, il “emballe” littéralement le code pour le rendre compatible langage C à 100%.

                Enfin, le code est compilé avec le compilateur GCC (Gnu C compiler) issu de Linux et porté sur les µP Atmel il y a fort longtemps. Enfin, le code est envoyé à la carte via le port série (USB) du PC en utilisant un bootloader, un petit bout de code résidant dans le µP d’un arduino qui, au démarrage (boot) attend un bref instant une instruction spéciale du PC qui lui indiquera si il doit charger un nouveau programme, ou exécuter celui déja en place.

                Au final, ce qui fait de l’arduino qq chose si particulier c’est :

                – le fait qu’il y ait eu une standardisation des entrées sorties. Vous trouverez sur TOUS les arduinos grande taille les même connecteurs physiques pour brancher des trucs dessus (ce sont des headers au pas de 2.54mm) avec la même implantation, du MEGA au UNO en passant par le léonardo.

                – le fait qu’il y ait un bootloader dans le µP permettant de transférer le code du PC dans la carte / µP sans programmateur spécifique

                – le fait qu’il y ait un IDE permettant une édition simple et standardisée de code “clair” dans un langage évolué (C et C++)

                si vous enlevez tout cela, vous avez une carte à microcontrolleur classique, équipée d’un µP ATMEL AT mega 328 (ou autre, de la même famille) que vous pouvez programmer en profondeur et de manière traditionnelle avec les outils de votre choix.

                QUEL ARDUINO ?

                Je vous conseille d’acheter au moins UN arduino pour travailler, un UNO ou un leonardo (qui est juste la nouvelle version du UNO). L’arduino final (celui qui est installé par exemple dans le R2) n’est que “l’exécutant final” de votre programme. La phase de Dev, et bien c’est mieux de la faire sur une carte… de dev.

                Si vous voulez contribuer un peu à l’économie du open hardware, achetez un arduino de dev italien (uno, leonardo). Sachez cependant qu’il est LEGAL de faire son propre arduino puisque le code et le design son libre, par contre il n’est pas “ok” de faire une copie conforme et de la vendre comme un arduino d’origine. Par contre, vous trouverez bon nombre de clones (le terme ne convient pas vraiment) chez deal extreme ou ailleurs, qui marchent au moi aussi bien.

                Achetez avec votre aduino de dev une shield “breadboard”, soit un petite plaque à trous qui se mettra au dessus ou à coté de l’arduino pour votre phase de bricolage.

                Je conseille de démarrer avec un UNO mais tant qu’a investir, prenez un UNO/LEONARDO et un MEGA, cela vous permettra de permuter si vous manquez de place de code ou de pattes.

                Au final, lorsque tout est prêt, vous pouvez acheter un arduino équipé du même µP que votre plateforme de dev mais en version réduite / Miniaturisée si nécessaire car vous n’avez plus besoin de la breadboard. Je suis fan du pro mini car il a 100% des fonctionnalités du UNO. Il peut être facilement intégré sur un circuit imprimé pour communiquer avec le reste de votre projet.

                A titre d’exemple, voici un cadeau de noël fait pour un ami, un carnet de note arduino, pour prendre des notes et bricoler avec son laptop sur un arduino n’importe ou.

                http://hackaday.com/2011/12/21/arduino-notebook-cover-makes-it-easy-to-tinker-anywhere/[/img][/color]

                c’est un pro mini 5V, alimenté par USB, intégré sur un circuit imprimé de mon cru pour remplacer la couverture du notebook.

                Comment faire un programme sur arduino

                ** Télécharger la suite logicielle arduino sur le site arduino.cc et l’installer. De mémoire, il suffit de télécharger le ZIP, choisir un endroit pour installer la suite (mes documents/Arduino par exemple) et dé-zipper l’ensemble.

                (.cc se réfère à Creative Commons, la première licence orientée Matériel Libre (Open Hardware) créée vers 2007 de mémoire)

                ** si votre arduino est un MEGA ou un léonardo, il est probable qu’il faille installer un driver pour communiquer avec l’arduino. Ces nouveaux arduinos ont un port série USB qui n’est plus de marque FTDI, mais les drivers sont fournis dans le répertoire de la suite arduino.

                ** Brancher l’arduino, installer le driver si nécessaire.

                ** lancer l’environnement de dev arduino

                a partir de la, vous avez des tutoriaux dans l’IDE arduino (fichier / exemples). Un programme arduino s’appelle un sketch. Prenez par ex. le tuto “blink LED” et câblez une LED sur la sortie indiquée dans les commentaires du programme. Compilez et transferez le programme dans l’arduino, si ca clignote, bravo, bienvenu dans le monde magique de l’électronique embarquée.

                Comment programmer un arduino “mini”

                *mode chouination* mais mais mais mon arduino pro mini, il a pas de port USB */mode chouination*

                les arduinos réduit à leur plus simple expression (les mini, nano ou pro mini) ont bien un port série et un bootloader, mais ils n’intègrent pas le port série USB. Il faut donc un câble de programmation qui se nomme “USB serial” en général. FTDI en propose des tout fait, j’utilse aussi énormément de module CP2102 (marque silabs) sur ebay, car $3 livré (!) vs $15-19 pour un FTDI chez sparkfun.

                Les modules CP2102 sont en général des dongles USB sans cordon, mais avec un peu de gaine thermo, on obtient au final la même chose. J’ai un FTDI pour le dev, ceci dit (qualité) et du CP2102 ebay pour les voyages, déplacement, ou appli pas cher nécessitant un port série USB intégré.

                http://www.ebay.com/itm/1pcs-USB-2-0-to-TTL-UART-6PIN-Module-Serial-Converter-CP2102-STC-new-/110954294607?pt=LH_DefaultDomain_0&hash=item19d5642d4f[/url][/color]

                une fois le dev du code terminé et votre maquette montée avec le pro mini, prêt à être installé dans le droid, ajouter sur l’arduino un petit connecteur 3 broches pour le RX-TX-Masse du port série vers le module USB. Mise sous tension, appuyez sur le bouton reset pour redémarrer en bootloader, lacher le bouton reset et clicker immédiatement dans l’IDE arduino pour télécharger le code. Vous pouvez aussi cabler le fil supplémentaire (DTS de mémoire) du port série USB sur l’arduino, cela permet de faire un reset automatique depuis l’IDE qui télécharge le code tout seul sans manip de l’utilisateur et sans avoir besoin de faire un reset.

                Voilou, c’est les bases, si vous êtes coincé avec votre arduino, postez ici, je tâcherais de vous aider.

                (et pour le mal de crâne due à la lecture de ceci, adressez vous à Himron, il a déja eu à me subir)

                #97876
                Bince
                Bloqué

                  😯 donc si je te suis bien… tu as une plateforme de dev (uno ou autre) et une carte mini dans le droid..

                  Question pourquoi ne pas utiliser la carte de dev en final dans le droid ? en gros programmer la carte puis l’installer dans le droid…

                  Merci

                  #97877
                  kethry
                  Bloqué

                    tu verras que l’aspect programmation est perpétuellement en progression

                    tu auras de nouvelles idées, des choses à tester,…

                    cela n’empêche pas vraiment de le faire directement sur une carte dans le droide, mais cela n’est pas vraiment pratique, par exemple si tu désires t’interfacer avec des équipements non encore montés dans le droide

                    une carte de développement est donc un confort, d’ailleurs il faut que je m’en achète une ^^

                    #97878
                    Anonyme

                      @lorenzo : non, la carte de dev reste sur ton établi. Tu peux tout à fait travailler sur la carte “mini” finale. Simplement, avant d’en être au point du circuit imprimé, ca peut etre utile de travailler en prototypage / test de code avec la “grosse” carte. J’ai un ou deux arduino type uno ou mega dont je me sers exclusivement comme cela. Une fois la phase dev terminée, tu peux migrer vers une solution plus intégrée.

                      Bien sur, on peut considérer que dans un droid y a de la place et qu’on peut toujours utiliser un arduino taille “normale”. Cependant, mon expérience c’est que la place fini toujours par manquer donc je miniaturise au max (mais c’est mon métier).

                      [edit] xoff est plus rapide que moi à répondre

                      #97882
                      Anonyme

                        [img]http://ecx.images-amazon.com/images/I/4163WUnkOyL._SL500_AA300_.jpg[/img]

                        la connaissance tu apprendra la force te conduira vers la sagesse de la part de yoda :mrgreen:

                        #97883
                        Anonyme

                          traduction de l’ouvrage original par massimo banzi lui même, bon bouquin.

                          J’ai aussi un ebook PDF sur le sujet, email ou PM si besoin.

                          #97884
                          Bince
                          Bloqué

                            darknutella wrote:

                            [img]http://ecx.images-amazon.com/images/I/4163WUnkOyL._SL500_AA300_.jpg[/img]

                            la connaissance tu apprendra la force te conduira vers la sagesse de la part de yoda :mrgreen:


                            je l’ai commander celui là ! ;) et j’attend de l’avoir

                            #97879
                            Anonyme

                              voici un fichier expliquant les base de arduino

                              http://www.craslab.org/arduino/LivretArduinoFr06.pdf” class=”bbcode_url”>http://www.craslab.org/arduino/LivretArduinoFr06.pdf

                              #97880
                              Anonyme

                                bon tuto :welldone: un peu âgé cependant. Au dela de l’acronyme pourri de ce centre de ressource que je connais bien, ils ont pas mal contribué à la formation dans le domaine de l’open hardware.

                                #97885
                                Anonyme
                                15 sujets de 1 à 15 (sur un total de 42)
                                • Vous devez être connecté pour répondre à ce sujet.