Blog Archive

Cours Arduino

Introduction 

Le modèle UNO de la société ARDUINO est une carte électronique dont le coeur est un
microcontrôleur ATMEL de référence ATMega328. Le microcontrôleur ATMega328 est un
microcontrôleur 8bits de la famille AVR dont la programmation peut être réalisée en langage C.
L'intérêt principal des cartes ARDUINO (d'autres modèles existent) est leur facilité de mise en
oeuvre. ARDUINO fournit un environnement de développement s'appuyant sur des outils opensource.
Le chargement du programme dans la mémoire du microcontrôleur se fait de façon très
simple par port USB. En outre, des bibliothèques de fonctions "clé en main" sont également
fournies pour l'exploitation d'entrées-sorties courantes : gestion des E/S TOR, gestion des
convertisseurs ADC, génération de signaux PWM, exploitation de bus TWI/I2C, exploitation de
servomoteurs ...
L'objectif de ce document est de mettre en évidence certaines informations techniques concernant
l'exploitation des périphériques intégrés, en particulier lorsqu'on n'utilise pas les fonctions "clé en
main" d'ARDUINO, dans l'objectif de comprendre comment ça marche !


Plusieurs broches multi-fonctions : 
certaines broches peuvent avoir plusieurs fonctions différentes choisies par programmation
PWM = 6 broches OC0A(PD6), OC0B(PD5), 0C1A(PB1), OC1B(PB3), OC2A(PB3), OC2B(PD3)
Analog to Digital Converter (résolution 10bits) = 6 entrées multiplexées ADC0(PC0) à ADC5(PC5)
Gestion bus I2C (TWI Two Wire Interface) = le bus est exploité via les broches SDA(PC5)/SCL(PC4).
Port série (USART) = émission/réception série via les broches TXD(PD1)/RXD(PD0)
Comparateur Analogique = broches AIN0(PD6) et AIN1 (PD7) peut déclencher interruption Watchdog Timer programmable.
Gestion d'interruptions (24 sources possibles (cf interrupt vectors)) : en résumé
– Interruptions liées aux entrées INT0 (PD2) et INT1 (PD3)
– Interruptions sur changement d'état des broches PCINT0 à PCINT23
– Interruptions liées aux Timers 0, 1 et 2 (plusieurs causes configurables)
– Interruption liée au comparateur analogique
– Interruption de fin de conversion ADC
– Interruptions du port série USART
– Interruption du bus TWI (I2C)

Structure interne de l'ATMega328 (extraits de documentations ATMEL)L'utilisation des périphériques intégrés (Entrées Sorties TOR, Timers, ...) repose sur l'exploitation
(lecture/écriture) de registres internes. Ces registres, essentiellement 8 bits, sont décrits par un nom,
y compris dans la programmation en C. Cette section fournit quelques détails importants sur les
registres internes du microcontrôleur ATMega328.
Notation : par la suite, pour un registre nommé R, la notation R.n désigne le bit de rang n du
registre R. Le bit R.0 est le bit de poids faible de R.

Status Register (SREG)
Le registre SREG contient des indicateurs liés aux opérations et le bit d'autorisation générale des interruptions. Les bits de ce registre sont : Z (Zero), C (Carry), S (Sign) ...
Le bit d'activation général du système d'interruptions est le bit I (SREG.7)
Note : en langage C, ce bit I est modifiable via les appels sei() (set IT) cli() (Clear IT) 4.2 Digital

http://www.mediafire.com/file/ha89i3trn4bbkse/ArduinoCottenceau1112.pdf/file

Aucun commentaire:

Enregistrer un commentaire

Popular