Voici un article qui décrit dans plusieurs langages les échanges qu’il faut mettre en œuvre entre deux dispositifs équivalents (deux micro-contrôleurs par exemple) pour une liaison I2C.
Il ne s’agit pas de piloter un périphérique I2C mais de programmer à la fois le maitre et l’esclave, afin d’expliquer les différentes étapes. Pour compléter cet exercice, on utilisera plusieurs langages et si possible plusieurs cibles.
Les principes
Pour établir une communication sur un bus I2C, il (...)
Accueil > Mots-clés > Composants > AVR
AVR
Le constructeur de composants Atmel propose une famille de microcontrôleurs 8 bits de type RISC appelée AVR.
On y trouve de tous petites puces (8 pattes) comme les ATtinyXX ou TinyAVR, mais également de plus grosses (28 pattes et même plus) comme les ATmegaXX ou MegaAVR.
Il y a désormais les XMega, ainsi que d’autres contrôleurs spécialisés ayant un cœur AVR, même des FPGA. Nous utilisons principalement la famille Mega AVR qui équipait les robots des Coupes de France 2006 et 2008, et bien sûr les ATmega8 et dérivés qu’on retrouve sur les Arduino.
Articles
-
Echanges maître/esclaves en I2C
17 mars 2011, par Julien H. -
LCD sur I2C simplement
25 septembre 2011, par Julien H.Le prix des afficheurs à cristaux liquides est en baisse, et il est de plus en plus fréquent de trouver des circuits de commande simples, évitant la gestion du protocole et économisant surtout le nombre de pattes d’entrée/sortie nécessaires. Georges utilise pour son projet un LCD sur bus I2C à base de PCF8574 dont voici la mise en œuvre.
Il y autant de circuits de communication avec un écran LCD que de contrôleurs de LCD. Deux possibilités de se retrouver bloquer par un manque de (...) -
Débuter avec une carte Arduino
11 octobre 2008, par Julien H.Arduino est une carte programmable open-source devenue un standard de fait pour ses extensions pratiques pour la robotique ludique et les montages électroniques amateurs. C’est simple, c’est pratique et nous sommes là pour vous aider !
La famille Arduino est apparue en 2006 sous forme d’une carte programmable avec un port série. Puis de nouvelles versions sont apparues, toujours aussi simples, avec différents formats : petites, grandes, plus puissantes, plus économiques, avec USB, avec (...) -
In Situ Programming
17 octobre 2005, par PatrickOn appelle ISP ou In Situ Programming la méthode de chargement du code dans les microcontrôleurs (Atmels)directement sur le support d’utilisation finale (carte électronique, robot, balise).
-
Vecteurs d’interruption pour AVR
7 mars 2010, par Julien H.Le principe d’interruption est rapidement nécessaire pour gérer des comportements non-linéaires. En effet concevoir un programme de robot (ou tout autre système électronique) avec seulement des séquences d’instructions et des boucles arrive rapidement à ses limites.
Il n’est pas non plus toujours nécessaire de recourir à un système d’opérations temps réel (même si nous avons traité ce sujet : RTOS sur AVR). On va donc présenter ici comment écrire un programme "réactif" qui gère des (...) -
Utiliser WinAVR et MFile et AVRDUDE
16 février 2010, par Julien H.Pour programmer un microcontrôleur Atmel AVR, on doit écrire du code source sur son ordinateur et le compiler pour le transformer en un programme pour AVR, puis le transférer dans le micro-contrôleur.
Toutes ces étapes nécessitent une suite de logiciels différents (un éditeur de texte, un compilateur spécifique selon le langage choisi, et un logiciel de transfert, pour simplifier) plus tous les outils de vérification de code, d’optimisation de taille, etc...
C’est ce que permet WinAVR, (...) -
Carte AVR mySmartControl
17 décembre 2008, par Julien H.Test d’une carte minimale à base de microcontrôleur ATmega8 (Atmel AVR) offerte par Devtronic.
-
Premiers pas avec l’OpenSCB
9 février 2011, par Julien H.Pobot a la chance d’être parmi les premiers à pouvoir tester l’OpenSCB, une carte de contrôle de servomoteurs programmable open source. Nous présentions le projet à ses débuts en décembre 2010, et nous avons eu le plaisir de recevoir le premier prototype en version 0.1.
Voici ce que cette carte contient : le micro-contrôleur programmable : un AVR32 "AT32UC3B1256" un connecteur HE10 pour le JTAG (test et debug) trois leds (bleu, rouge, vert) deux boutons poussoirs : 1 de reset, 1 de (...) -
Optimisation de code
18 février 2009, par Julien H.Quelques exemples de code optimisé pour montrer qu’il n’y a rien de magique et qu’un peu de raisonnement et d’expérience peut vous faire gagner beaucoup de performances.
-
Ma carte AVR avec le langage Arduino
14 janvier 2013, par Jean-Pierre, Julien H.Certains d’entre nous disposent de circuits personnels ou de cartes du marché utilisant les micro-contrôleurs de la famille AVR : gamme myAVR de Devtronic, gamme EasyAVR de mikroElectronika gamme ICmega de In-Circuit pour ne citer que les cartes utilisées au club.
Tous fonctionnent sur le même principe : une compilation sur l’ordinateur de développement, puis l’envoi d’un fichier binaire dans la puce par bootloader série ou par programmateur ISP.
Ces points ont été développés dans (...)