Le monde des objets (1)
Un peu d’histoire Le C est un vieux langage des années 1970 qui a évolué lentement dans sa syntaxe et ses possibilités. Au départ, proche du matériel qu’il est chargé de faire fonctionner, son (...)
vendredi 29 mars 2024
Visiteurs connectés : 58
Un peu d’histoire Le C est un vieux langage des années 1970 qui a évolué lentement dans sa syntaxe et ses possibilités. Au départ, proche du matériel qu’il est chargé de faire fonctionner, son (...)
Visibilité, encapsulation Nous allons maintenant développer une petite classe qui va nous servir d’exemple très simple à comprendre, mais qui fera partie d’un ensemble plus ambitieux dans les (...)
L’héritage sans soucis Depuis le deuxième article, nous avons vu une jolie classe Led. Mais comment ferions nous pour coder une classe LedBicouleur qui s’occuperait d’une diode à deux couleurs (...)
’Vis’ ? Non ! ’this’ . Reprenons ma version du constructeur Led() de Led pour illustrer un aspect parfois difficile à expliquer... Led(int pin) pin = pin; // ??? pinMode(pin, OUTPUT); (...)
Processing est l’une des alternatives pour réaliser des interfaces graphiques dont la programmation s’apparente à celle de l’Arduino. Son utilisation se fait en lignes de code et repose sur (...)
Tous les fichiers que nous allons utiliser pour ce deuxième article sont téléchargeables ici : Archive2 Comme pour l’article précédent, vous devez les déposer dans votre répertoire (...)
Tous les fichiers utilisés dans cet article sont téléchargeables ici : Archive3 Ces dossiers et fichiers sont à placer dans le même répertoire que pour les articles précédents.
Un contrôleur USB/série, Ethernet et WiFi pour DCC++ Dans un premier temps, nous allons voir comment piloter notre Arduino directement relié au port USB/Série de notre ordinateur. C’est la (...)
Les pointeurs permettent de manipuler ce que tout langage évolué tente de masquer : l’organisation interne de la machine. Avant de voir la syntaxe de ces pointeurs, un peu de géographie... (...)
Les poupées Russes : les pointeurs de pointeur. Un pointeur est en réalité un entier qui représente une adresse, mais c’est avant tout un entier. Et la conséquence immédiate de cette (...)
Si le registre du timer comporte 8 bits, il est alors capable de compter de 0 à 255 (en hexadécimal, de 00 à FF). Lorsqu’il arrive à 255 (FF), un coup d’horloge supplémentaire devrait le faire (...)
Qu’est-ce qu’une interruption ? C’est ce qui nous arrive à tous dans notre vie de tous les jours. Imaginez que vous soyez au téléphone et que l’on sonne à votre porte. Vous demandez à votre (...)
Rôle d’un registre OCR On peut charger un nombre dans le registre OCR2A ; lorsque le timer 2, en comptant, devient égal à OCR2A (les deux valeurs correspondent, ce qui se dit Match en (...)
PWM et broches de sortie Le module Arduino Uno est capable de générer de la PWM sur 6 broches de sorties grâce à la fonction analogWrite. D’une manière transparente pour l’utilisateur, cette (...)
Structure du timer1 La figure 1 montre le schéma synoptique du timer1 ; dans cette figure, la lettre n qui est le numéro du timer vaut 1. On remarque tout d’abord une grande ressemblance avec (...)
Présentation de l’IDE Les différences entre les différents systèmes d’exploitation dans la présentation de l’IDE Arduino sont présentées en texte italique. Nous n’avons pas trouvé de (...)
A quoi ça sert ? Votre but est de faire fonctionner l’Arduino comme vous le voulez. Pour y arriver, vous devrez taper du texte ésotérique, puis demander à l’Arduino de l’exécuter. Pour vous (...)
Prérequis pour la lecture de cet article Cet article s’adresse à ceux qui débutent vraiment. Présenté comme un tutoriel, il vous guide pas à pas pour découvrir et programmer un module Arduino (...)
Nous avons déjà rencontré les opérateurs de comparaison dans « Instructions conditionnelles : le if ... else ». Nous n’allons pas revenir dessus mais ce que nous allons voir s’applique également (...)
Dans ce qui suit, les bits sont numérotés comme montré dans la figure ci-dessous. Chaque case peut contenir un bit, au dessus on a le numéro du bit. Le bit 0 est le bit le plus à droite, le bit (...)
Il est par exemple assez fréquent de voir des programmes où la déclaration et l’initialisation des broches sont faites de la manière suivante : const int Pin23 = 23; const int Pin24 = 24; const (...)
Avant de se lancer dans une programmation spaghetti sans savoir exactement où l’on va, il est nécessaire de modéliser le système que l’on veut mettre en œuvre. La modélisation consiste à poser (...)
En programmation, nous souhaitons habituellement que les choses soient déterministes, c’est à dire que les mêmes causes produisent les mêmes effets et que le programme se comporte toujours d’une (...)
Dès vos premières applications, vous avez pu constater que la gestion du temps revient très fréquemment dans la programmation des diverses applications qui nous concernent. Cela va de choses (...)
Vous avez déjà vu des programmes en Processing sur le site Locoduino : Des articles de Pierre59 sur la programmation : Un gestionnaire en C++ pour votre réseau (1) Un gestionnaire en C++ pour (...)
Dernière mise à jour : 31 janvier 2022. Dernière version de l’IDE : 1.8.19 Il est recommandé de faire l’installation de l’IDE avant de connecter pour la première fois une carte Arduino en USB (...)
Un premier exemple simple d’utilisation du if Pour prendre un exemple concret, supposons que vous vouliez que l’Arduino signale sur une DEL la présence d’un train dans une gare cachée. Les (...)
La condition qui est évaluée par un if ... else est de nature booléenne, elle ne peut être que vraie ou fausse, ce qui correspond à l’exécution des instructions du if ou bien à l’exécution des (...)
Disons-le une bonne fois pour toutes, cette série d’articles n’est pas écrite pour vous inciter à programmer en assembleur mais nous allons voir que dans certains cas, l’assembleur est la seule (...)
Relation entre matériel et logiciel Programmer en assembleur demande d’avoir une très bonne connaissance des possibilités matérielles du microcontrôleur cible (encore appelées ressources). Il (...)
Avant d’entrer dans le vif du sujet, voici la réponse à la petite question posée en fin de l’article 2. Le PC doit être capable d’adresser l’ensemble de la mémoire flash de programme. Sur un MCU (...)
Programme d’assemblage Il n’y a pas de bons ouvriers sans de bons outils ; l’IDE d’Arduino est un petit programme qui joue très bien son rôle et qui a contribué au succès des cartes Arduino. (...)
Qu’est-ce qu’un chenillard ? Ne cherchez pas ce terme dans un dictionnaire car il n’existe pas ! Pourtant, il est couramment utilisé en électronique pour désigner un dispositif qui fait (...)
Un exemple simple Le programme que nous allons écrire envoie un certain nombre de flashes sur la LED_BUILTIN d’une carte Uno et le certain nombre constitue un argument qu’il faut passer à la (...)
Un programme ne fait rien d’autre que manipuler des informations, elles-mêmes représentées par des variables plus ou moins complexes. Avec le langage C/C++, il suffit de donner un nom à cette (...)
Avant de vous plonger dans la lecture de cet article, il est nécessaire d’avoir bien assimilé les différents modes d’adressage des microcontrôleurs AVR que nous avons décrits dans l’article (...)
Cette série d’articles avait vocation à s’appliquer à tous les microcontrôleurs de la gamme AVR. Cependant, nous avons insisté un peu plus sur l’ATmega328P qui équipe les cartes Uno et les (...)
Cet article est le premier d’une série visant à vous apprendre la programmation en général et la programmation sur un Arduino en particulier. Il n’y a pas de pré-requis particulier, sauf, (...)
Un peu d’histoire... Depuis toujours, les processeurs, qu’ils soient simples comme les Atmel, ou complexes comme ceux de nos ordinateurs reposent tous sur des octets (des bytes en Anglais). (...)
Nous avons déjà rencontré les fonctions de nombreuses fois. Tout d’abord, dans « La programmation, qu’est ce que c’est », nous avons vu les fonctions setup() et loop(). Ces deux fonctions sont (...)
Article mis à jour le 18 septembre 2021 pour prendre en compte les évolutions de l’API du logiciel Arduino.Principe de fonctionnement des interruptions On a vu dans « La programmation, qu’est (...)
Nous avons vu dans « Types, constantes et variables » comment déclarer des données, variables et constantes, et comment les utiliser dans « Calculer avec l’Arduino (1) » et « Calculer avec (...)
Processing est très semblable à l’Arduino, c’est normal car Arduino s’est fortement inspiré de Processing. Les deux sont en fait très différents vis à vis de leur utilisation, mais très (...)
Le langage permettant de programmer l’Arduino offre 3 types de boucles qui ont chacune un usage. La boucle while ( ... ) ... La boucle permet de répéter des instructions tant qu’une (...)
Dans l’article Types, constantes et variables, on a vu que les octets sont constitués de 8 bits et peuvent constituer des nombres. Dans les programmes, on peut représenter ces nombres soit en (...)
Dans l’article Processing pour nos trains on a vu comment faire des pavés pour TCO en Processing. On va généraliser ici cette méthode pour réaliser (à la demande) des TCOs. Pour faire cela (...)
Pavés divers Commençons par quelques pavés utiles, des butoirs et des sens de circulation : Ces pavés vont nécessiter des formes qui ne seront utilisées que par un pavé, de plus ces (...)
Pourquoi parler de codage avant d’avoir spécifié les besoins d’un réseau ? Quand nous concevons un réseau, en tout cas pour ma part, mon souhait est de diversifier les tâches. En effet, coder, (...)
Déclaration avec le mot-clé const Nous y avons vu la déclaration d’une constante sous cette forme : const byte pinDEL = 10; Où const indique qu’il s’agit d’une constante, byte est le type de (...)
Nous allons présenter 2 parties : les erreurs classiques à éviter les trucs et astuces à utiliser Les erreurs classiques à éviter absolument Lorsqu’on clique sur le bouton "vérifier", le (...)
Un chiffre binaire est communément appelé un bit, contraction de l’anglais Binary digIT. Comme en base 10, on va utiliser plusieurs chiffres pour représenter des grands nombres. Les bits ne sont (...)
.
.
.
.
.
Ces tableaux qui peuvent nous simplifier le développement Arduino
– Voilà qui est fait. En fait, c’est à cause du rachat d’Atmel par (...)
– Merci pour les compliments et pour m’avoir signalé ce lien mort ; tout le (...)
– Bonjour Christian Merci beaucoup pour ton travail, tout à fait (...)
– Et merci à vous de nous avoir fait savoir que ça vous avait plu. Je ne (...)
– merci pour cette géniale série d’articles sur l’assembleur. AL
– Bonjour chère camarades, comment allez-vous ? J’espère que vous allez bien (...)