LOCODUINO

Aide
Forum de discussion
Dépôt GIT Locoduino
Flux RSS

vendredi 29 mars 2024

Visiteurs connectés : 58

Rubrique « Programmation », 51 articles

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 (...)

Le monde des objets (2)

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 (...)

Le monde des objets (3)

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 (...)

Le monde des objets (4)

’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); (...)

Piloter son Arduino avec son navigateur web et Node.js (1)

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 (...)

Piloter son Arduino avec son navigateur web et Node.js (2)

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 (...)

Piloter son Arduino avec son navigateur web et Node.js (3)

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.

Piloter son Arduino avec son navigateur web et Node.js (4)

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 (1)

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 pointeurs (2)

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 (...)

Les Timers (I)

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 (...)

Les Timers (II)

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 (...)

Les Timers (III)

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 (...)

Les Timers (IV)

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 (...)

Les Timers (V)

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 (...)

Bien utiliser l’IDE d’Arduino (1)

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 (...)

Bien utiliser l’IDE d’Arduino (2)

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 (...)

Arduino : toute première fois !

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 (...)

Calculer avec l’Arduino (1)

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 (...)

Calculer avec l’Arduino (2)

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 (...)

Ces tableaux qui peuvent nous simplifier le développement Arduino

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 (...)

Comment concevoir rationnellement votre système

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 (...)

Comment gérer l’aléatoire ?

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 (...)

Comment gérer le temps dans un programme ?

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 (...)

Démarrer en Processing (1)

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 (...)

Installation de l’IDE Arduino

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 (...)

Instructions conditionnelles : le if ... else

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 (...)

Instructions conditionnelles : le switch ... case

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 (...)

L’assembleur (1)

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 (...)

L’assembleur (2)

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 (...)

L’assembleur (3)

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 (...)

L’assembleur (4)

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. (...)

L’assembleur (5)

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 (...)

L’assembleur (6)

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 (...)

L’assembleur (7)

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 (...)

L’assembleur (8)

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 (...)

L’assembleur (9)

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 (...)

La programmation, qu’est ce que c’est

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, (...)

Les chaînes de caractères

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). (...)

Les fonctions

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 (...)

Les interruptions (1)

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 (...)

Les structures

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 pour nos trains

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 (...)

Répéter des instructions : les boucles

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 (...)

Systèmes de numération

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 (...)

TCOs en Processing (1)

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 (...)

TCOs en Processing (2)

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 (...)

Transcription d’un programme simple en programmation objet

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, (...)

Trois façons de déclarer des constantes

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 (...)

Trucs, astuces et choses à ne pas faire !

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 (...)

Types, constantes et variables

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 (...)

Les derniers articles dans « Programmation »

L’assembleur (9)

. Christian

L’assembleur (8)

. Christian

L’assembleur (7)

. Christian

L’assembleur (6)

. Christian

L’assembleur (5)

. Christian

Les articles les plus lus

Les Timers (I)

Les interruptions (1)

Instructions conditionnelles : le if ... else

Comment gérer le temps dans un programme ?

Ces tableaux qui peuvent nous simplifier le développement Arduino

Les Timers (II)

Les derniers commentaires

– 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 (...)