Accueil

Ardu? Programmer une carte Uno? Non pas vraiment. Il suffit de s'y mettre. Si on veut, on y arrive. C'est simplement une question de centre d'intérêt.

Dans ce tutoriel (ou tuto?), je vais m'intéresser à la programmation en C/C++ des cartes Arduino Uno, Nano, Méga. Beaucoup de choses qui sont dites ici fonctionneront sur d'autres cartes, mais je ne peux pas le garantir.

Arduino est un assemblage de briques élémentaires

Écrire une application est un assemblage de briques élémentaires. Certains ont un besoin, récoltent du code à droite et à gauche, et tentent de le modifier pour l'adapter à leur besoin. Si cela fonctionne tant mieux, mais dans le cas contraire c'est difficile à dépanner. Quand on construit une maison, on pose d'abord les fondations avant de mettre la porte. Dans ce cours, je développerai les bases du langage avant d'attaquer le fonctionnement d'un moteur, je parlerai individuellement des composants avant de les regrouper.

J'ai vu des gens appeler à l'aide avec un projet quasiment fini, mais qui ne fonctionne pas, les différents composants n'ont pas été testés individuellement avant. Il faut au contraire tester un moteur, le deuxième, un bouton, tous les boutons, puis enfin, si tout fonctionne, on va gérer l'ensemble.

Ça sert à quoi?

Une carte Arduino comporte principalement un microcontrôleur. C'est un peu comme un ordinateur, en moins puissant. Il peut faire la même chose qu'un gros (calcul, affichage, mémorisation, entrées/sorties...) mais n'est pas dédié aux mêmes tâches. On l'utilisera surtout pour résoudre un besoin spécifique et on le verra comme un automate. Chez vous vous avez des objets qui comportent un microcontrôleur. Ce sont les objets informatisés qui ne sont pas très puissants. Tout sauf les ordinateurs, tablettes, téléphones portables. Nous allons en trouver dans:
- la machine à laver; le microcontrôleur reçoit des informations (niveau d'eau, choix du programme, température) et va donner des ordres en conséquence (faire tourner le moteur, remplir ou vider la cuve, chauffer)
- le compteur linky qui mesure et affiche la consommation ainsi que quelques autres données
- le réveil matin a affichage numérique
- la souris, le clavier de l'ordinateur
- l'imprimante
- les montres
- les mp3...

Il est difficile de dire ce qu'on peut lui demander ou pas, les puissances de calcul augmentent sans arrêt. L'ENIAC, le premier ordinateur pesait 30 tonnes, et faisait 5000 opérations par seconde. La Uno en fait 16 millions. J'ai connu les premiers ordinateurs familiaux (ZX80) qui disposaient de moins de mémoire qu'une Uno. Ce que vous allez demander à une Arduino, c'est principalement de faire la gestion entre des capteurs (interrupteurs, fins de course, température, vitesse du vent...) et des actionneurs (moteurs, leds, servomoteurs...). La limite avec les ordinateurs est floue, on peut utiliser des Arduino avec le wifi, on peut avoir des écrans graphiques couleur... Mais principalement une Arduino s'occupera d'une tâche bien précise.

Des réalisations que l'on voit passer peuvent être;
- gestion de la porte d'un poulailler
- compteur d'individus, de voiture
- gestion de la piscine
- gestion de lumières, principalement à leds
- gestion ce machine à commande numérique...

Le matériel nécessaire

Dans un premier temps, il faut commencer par apprendre le C, et une carte Nano ou Uno suffit. La Uno est un peu plus imposante, mais le connecteur USB est plus costaud. Si vous êtes impatient de commencer, achetez donc une carte Uno en France, sinon commandez-en une en Chine. C'est moins cher, mais il faudra patienter un mois. Par sécurité il vaut mieux en avoir une ou deux sous la main en plus, on n'est pas à l'abri d'un problème. Si la première est commandée en France, les cartes de dépannage peuvent attendre une livraison un peu lente.

Carte Uno

Choisissez une carte "UNO R3 ATmega328 USB". En chine vous ajouterez sans doute "CH340". Cela coûte entre 5€ et 20€ suivant le lieu d'achat. Pensez éventuellement à acheter en même temps le câble USB si vous n'en avez pas. Si vous accrochez, prévoyez d'acheter ou de récupérer un peu plus de matériel. Je déconseille les kits de démarrages au départ qui coûtent cher surtout si vous abandonnez. Ils contiennent tout un tas de trucs dont vous n'aurez jamais besoin dans vos vraies réalisations.

Il ne me sera pas possible de faire une initiation sur tous les capteurs et sur tous les actionneurs (moteurs, lampes, servomoteurs, vibreurs, relais, écrans...). Il n'est pas non plus utile que vous appreniez à vous servir de tous ces composants. Il y a de nouveau des bases indispensables (bouton, led, moteur) qu'il est bon de posséder. Avec de bonnes bases vous pourrez plus facilement utiliser un composant que je n'ai pas décrit.

Pour la partie initiation, commencez par exemple avec une carte Uno. Un bout de fil électrique de petit diamètre (qui rentre dans le connecteur) sera utile. Pour les autres parties, plus de matériel sera indispensable.

Forums

Pour des questions d'ordre général, il existe de nombreux forums, et j'utilise celui le forum français d'Arduino. Pour suivre ce cours, un forum Ardu,No! est mis en place, pour demander de l'aide (pas les solutions, c'est à vous de les chercher). Si vous ne trouvez pas la bonne solution, montrez ce que vous avez fait, on peut vous aiguiller. Il n'est pas impossible de demander une correction, mais bien souvent on comprend vite si cela fonctionne ou pas. Les forums permettent de partager les problèmes. Si vous posez une question sur un de mes exercices et que cela ne fonctionne pas, il est probable que je réponde, mais il se peut aussi que quelqu'un qui a suivi le même cours mais qui est plus avancé, réponde à ma place. Il me suffit de ne rien dire si je suis d'accord avec la réponse. Je peux ainsi me consacrer à faire de nouvelles pages. L'un a reçu gratuitement de l'aide, il peut en retour aider les suivants.

Il est possible de lire les messages des forums. Pour poster sur le forum français d'Arduino, il faut s'inscrire. Pour poster sur le forum de ce cours, ce n'est pas nécessaire, mais il faut alors que je valide votre message. Ce peut être utile si vous n'arrivez pas à vous inscrire. L'inscription et la désinscription est gratuite, et se fait sans intervention humaine (VOUS êtes libre d'adhérer ou d'arrêter).

Il n'y a qu'en cas de problème avec les pages (faute d'orthographe, lien qui ne fonctionne pas...) que vous devez m'adresser directement un message à Guyat Pecheux point fr

        >>   Installation