Pour commencer, pourquoi Arduino Mega 2560?

Quand des cartes moins chères sont disponibles, pourquoi choisir Arduino Mega ? La principale raison derrière cela est les fonctionnalités supplémentaires qui sont intégrées à cette carte. La première caractéristique est la conception d’un grand système d’E/S avec 16 transducteurs analogiques et 54 transducteurs numériques intégrés qui prennent en charge USART et d’autres modes de communication. Deuxièmement, elle possède un RTC intégré et d’autres caractéristiques comme un comparateur analogique, une minuterie avancée, une interruption pour le mécanisme de réveil du contrôleur afin d’économiser plus d’énergie et une vitesse rapide avec une horloge à cristaux de 16 Mhz pour obtenir 16 MIBS. Il a plus de 5 broches pour Vcc et Gnd pour connecter d’autres dispositifs à Arduino Mega.

Les autres caractéristiques comprennent le support JTAG pour la programmation, le débogage et le dépannage. Avec une grande mémoire FLASH et SRAM, cette carte peut gérer un grand programme système avec facilité. Elle est également compatible avec les différents types de cartes comme le signal de haut niveau (5V) ou le signal de bas niveau (3,3V) avec la broche de réf d’E/S.

Le brownout et le chien de garde aident à rendre le système plus fiable et robuste. Il supporte la programmation ICSP ainsi que la programmation USB du microcontrôleur avec un PC.

L’Arduino Mega 2560 est un remplacement de l’ancien Arduino Mega, et donc dans la référence générale, il sera appelé sans l’extension ‘2560’. En raison du grand nombre de broches, il n’est généralement pas utilisé pour les projets courants, mais vous pouvez les trouver dans des projets beaucoup plus complexes comme les détecteurs de radon, les imprimantes 3D, la détection de la température, les applications IOT, les applications de surveillance des données en temps réel, etc.

Arduino Mega 2560 Spécifications

Arduino Mega – Caractéristiques de base

.

.

.

Arduino Mega Caractéristiques
Microcontrôleur AVR ATmega 2560 (8bit)
Alimentation 7-.12V (Régulateur intégré pour le contrôleur)
Pins d’E/S numériques 54
Pins d’E/S analogiques 16
Total E/S numériques 70 (numériques + analogiques)
Vitesse d’horloge 16 MHz (réglé en usine sur 1Mhz)
Mémoire flash 128 Ko
SRAM 8 KB
Communication USB (programmation avec ATmega 8), ICSP (programmation), SPI, I2C et USART

Arduino Mega – Fonctions avancées

. Features

Arduino Mega Fonctions avancées
Timer 2 (8bit) + 4 (16bit) = 6 timer
PWM 12 (2-16 bits)
ADC 16 (10 bits)
USART 4
Changement de broche Interruption 24

L’Arduino Mega 2560 est également doté de fonctionnalités supplémentaires comme le comparateur analogique, Interruption externe & Interruption logicielle, mode économie d’énergie, capteur de température intégré, RTC et plus encore.

Pinning d’Arduino Mega

Pinning d’Arduino Mega

Pinces d’alimentation :

Arduino Mega Pins d’alimentation
VIN Tension d’alimentation (7-12V)
GND Masse
5V Alimentation Pour l’alimentation d’un dispositif matériel externe
3.Alimentation 3V Pour l’alimentation d’un dispositif matériel externe à basse tension

Diagramme des broches de l’Arduino Mega

Configuration des broches de l’Arduino Mega

Broches du contrôleur:

RESET : (Entrée de réinitialisation) Un niveau bas sur cette broche pendant plus longtemps que le cycle de 4 horloges générera une réinitialisation. Arduino Mega a un circuit de réinitialisation intégré avec un bouton poussoir pour réinitialiser le système et cette broche peut être utilisée par d’autres dispositifs pour réinitialiser le contrôleur.

XTAL1,XTAL2 : Crystal (16Mhz) est connecté pour fournir une horloge pour le contrôleur avec 2 condensateurs de dérivation à la masse.

AREF : Cette broche est utilisée, lorsque nous utilisons Adc pour la conversion analogique-numérique avec une tension de référence externe pour la conversion et ne veulent pas utiliser la référence interne de 1,1V ou 5v.

Pins numériques (70):
Digital pins (0-53) + Analog (0-15) = Total Digital I/O pins.

Pins numériques : De 0-53(numérique) et 0-15(analogique) peuvent être utilisés comme entrée ou sortie pour le transducteur numérique et les dispositifs de sortie par pinMode() pour la direction de la broche, digtalWrite() pour écrire la broche et digitalRead() pour lire l’état de la broche.

Application:

Dispositifs de sortie : Relais, LED, buzzer, LCD et autres.

Dispositifs d’entrée : thermistance numérique, bouton poussoir, capteur à ultrasons, joystick et autres

Exemple :

  • Signal de sortie faible sur la carte Arduino mega

pinMode(0,OUTPUT);

digitalWrite(0,LOW) ;

  • Signal de lecture d’entrée sur la carte Arduino mega

pinMode(0,INPUT);

digitalRead(0);

Broches analogiques (16) :

Pins analogiques : De 0-15(analogique) peut être utilisé comme broche d’entrée analogique pour l’adc, si elle n’est pas utilisée qu’il fonctionne comme broche numérique normale. Il peut être utilisé par pinMode() pour la direction de la broche, analogRead() pour lire l’état de la broche et obtenir une valeur numérique pour le signal analogique, il faut faire attention à la sélection de la tension de référence interne ou externe et à la broche Aref.

Application :

Dispositifs d’entrée : Thermistance Ntc, capteurs (comme ldr, irled et humidité) et autres

Exemple :

  • INPUT signal analogique sur la carte Arduino mega

pinMode(0,INPUT);

analogRead(0);

Fonction des broches alternatives :

Broches SPI:
Pin 22 - SS, Pin 23 - SCK, Pin 24 - MOSI, Pin 25 – MISO

Ces broches sont utilisées pour la communication série avec le protocole SPI pour la communication entre 2 ou plusieurs dispositifs. Le bit d’activation SPI doit être activé pour commencer la communication avec d’autres dispositifs.

Application:

Programmation du contrôleur AVR, communication avec d’autres périphériques comme l’écran LCD et la carte SD avec une communication à quatre lignes à haute vitesse.

Pins I2C:

Pinces numériques 20 pour SDA et 21 pour SCK (Vitesse 400khz) pour permettre une communication à deux fils avec d’autres dispositifs. Les fonctions utilisées sont wire.begin() pour démarrer la conversion I2C, avec wire.Read() pour lire les données i2c et wire.Write() pour écrire les données i2c.

Application:

Périphériques de sortie : LCD et communication entre plusieurs dispositifs avec deux fils.

Dispositifs d’entrée : rtc et autres.

Exemple:

Le maître i2c lit les données de l’esclave

Wire.begin();

Wire.requestFrom(2, 1) ; //1byte de données

Wire.Read();

Pins PWM:

La broche numérique 2-13 peut être utilisée comme sortie PWM avec analogWrite() pour écrire une valeur pwm de 0-255.C’est une alternative de DAC pour un système à faible coût pour obtenir un signal analogique en sortie en utilisant un filtre.

Application:

Dispositifs de sortie : contrôle de la vitesse du moteur, variateur de lumière, pid pour un système de contrôle efficace.

Exemple:

  • Sortir un signal analogique sur la carte Arduino mega

pinMode(0,OUTPUT);

analogWrite(0,255);

Broches USART :
Pin 0 – RXD0, pin 1 – TXD0Pin 19 – RXD1, pin 18 – TXD1Pin 17 – RXD2, pin 16 – TXD2Pin 15 – RXD3, pin 14 – TXD3

Cette broche est utilisée pour la communication usart série avec un pc ou un autre système pour le partage et l’enregistrement des données. Elle est utilisée avec serialBegin() pour définir le réglage de la vitesse de transmission et commencer la communication avec la série.Println() pour imprimer le tableau de char sur la sortie d’un autre dispositif.

Application:

Communication entre deux contrôleurs, communication entre pc et contrôleur, débogage avec usart par moniteur série.

Exemple:

Serial.begin(9600);

Serial.Println(« hello »);

Pins d’interruption de changement de broche:
Digital Pin 0,22,23,24,25,10,11,12,13,15,14Analog Pin 6,7,8,9,10,11,12,13,14,15

Cette broche est utilisée pour l’interruption de changement de broche. Le bit d’activation de l’interruption de changement de broche doit être défini avec l’activation d’interruption globale.

Application :

Codeur rotatif, interruption basée sur un bouton poussoir et autres.

Exemple :

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(1), LOW, CHANGE);

Pins d’interruption matérielle :

L’interruption matérielle des broches numériques 18 – 21,2,3 est utilisée pour les services d’interruption. L’interruption matérielle doit être activée avec l’activation d’interruption globale pour obtenir l’interruption d’autres dispositifs.

Application:

Bouton poussoir pour le programme ISR, contrôleur de réveil avec des dispositifs externes, des capteurs comme les ultrasons et autres.

Exemple:

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(1), LOW, LOW);

Composants du schémaArduino Mega :

Jack DC Alimentation :

L’alimentation externe pour Arduino Mega de la gamme 7-12 volts est donnée avec ce port. Arduino Mega R3 a un régulateur de tension pour 5v et 3,3v d’alimentation pour le contrôleur Arduino et l’alimentation du capteur.

AVR 2560 :

C’est le contrôleur principal utilisé pour programmer et exécuter la tâche pour le système. C’est le cerveau du système pour contrôler tous les autres dispositifs à bord.

ATmega8 :

Ce contrôleur est utilisé pour la communication entre le contrôleur principal et les autres dispositifs. Ce contrôleur est programmé pour la communication USB et les fonctions de programmation série.

ICSP 1 (ATmega8) et 2 (AVR 2560) :

Il présente des caractéristiques de programmation par bus série avec le programmateur AVR en utilisant la communication SPI. AVR 2560 est programmé pour faire fonctionner le système et ATmega 8 est programmé pour la communication série et la programmation.

Arduino Mega ICSP Pinout for ATmega 2560

Reset :

Il a un circuit de réinitialisation avec un condensateur, un bouton et une résistance pour réinitialiser le contrôleur. Un bouton poussoir est utilisé pour obtenir un signal bas de 4 cycles sur la broche de réinitialisation pour mettre le contrôleur en mode de réinitialisation.

Cristal :

Il a un circuit de cristal avec deux condensateurs et un cristal de 16 Mhz pour les broches xtal 1 et 2 en interface avec l’avr 2560.

I2C :

Il possède des caractéristiques d’I2C (communication à deux fils) avec une résistance pull-up externe.

USART :

Il possède une broche TXD et RXD pour la communication série avec un indicateur LED.

Quelques programmes simples à essayer sur Arduino Mega 2560

Programme 1 : clignotement de la LED (broche numérique)

/*Turns on an LED on for two second, then off for two second on pin 13, repeatedly.*/// the setup function runs once when you press reset or power the boardvoid setup() {// initialize digital pin 13 as an output.pinMode(13, OUTPUT);}// the loop function runs again and againvoid loop() {digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)delay(2000); // wait for two seconddigitalWrite(13, LOW); // turn the LED offdelay(2000); // wait for two second}

Programme 2 : gradateur de lumière Led (PWM) :

int brightness = 0; //pwm valuevoid setup(){pinMode(3, OUTPUT);}void loop(){analogWrite(3, brightness); // pwm write on pin 3++brightness; // brightness is incremented by 1if (brightness <= 0 || brightness >= 255) {brightness=0; // brightness limited to 0-255}delay(10);}

Programme 3 : Tension de lecture analogique (broche analogique avec USART) :

void setup(){Serial.begin(9600); // usart communication start function with baudrate set to 9600}void loop(){int sensorValue = analogRead(A0); // analog pin 0 data is read and converted into digital value stored in sensorValue.Serial.println(sensorValue); // usart to output sensor value on serial monitor}

Vous pouvez également essayer votre propre logique et mettre en œuvre des programmes pour Arduino mega avec le C de base et la fonction Arduino.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.