Především, proč Arduino Mega 2560?

Když jsou k dispozici levnější desky, proč jít do Arduino Mega? Hlavním důvodem jsou další funkce, které jsou v této desce zabudovány. První funkcí je rozsáhlá konstrukce systému I/O s vestavěnými 16 analogovými převodníky a 54 digitálními převodníky, které podporují s USART a dalšími komunikačními režimy. Za druhé má vestavěný RTC a další funkce, jako je analogový komparátor, pokročilý časovač, mechanismus přerušení pro probuzení řadiče, aby se ušetřilo více energie a vysoká rychlost s 16 Mhz krystalovými hodinami pro získání 16 MIBS. Má více než 5 pinů pro Vcc a Gnd pro připojení dalších zařízení k Arduino Mega.

Další funkce zahrnují podporu JTAG pro programování, ladění a řešení problémů. Díky velké paměti FLASH a paměti SRAM tato deska snadno zvládne velký systémový program. Je také kompatibilní s různými typy desek, například s vysokoúrovňovým signálem (5 V) nebo nízkoúrovňovým signálem (3,3 V) s ref. pinem I/O.

Brownout a watchdog pomáhají zvýšit spolehlivost a odolnost systému. Podporuje programování ICSP i USB mikrokontroléru pomocí PC.

Arduino Mega 2560 je náhradou starého Arduina Mega, a proto se v obecných referencích bude nazývat bez přípony „2560“. Vzhledem k velkému počtu pinů se obvykle nepoužívá pro běžné projekty, ale najdete je v mnohem složitějších projektech, jako jsou detektory radonu, 3D tiskárny, snímání teploty, IOT aplikace, aplikace pro monitorování dat v reálném čase atd.

Arduino Mega 2560 Specifikace

Arduino Mega – základní funkce

.

Arduino Mega Vlastnosti
Mikrokontrolér AVR ATmega 2560 (8bit)
Napájecí zdroj 7-násobný12V (vestavěný regulátor pro řadič)
Digitální I/O piny 54
Analogové I/O piny 16
Celkem digitální I/O 70 (digitální + analogové)
Taktovací frekvence 16 MHz (z výroby nastaveno na 1Mhz)
Paměť flash 128 KB
SRAM 8 KB
Komunikace USB (programování pomocí ATmega 8), ICSP (programování), SPI, I2C a USART

Arduino Mega – Pokročilé funkce

Arduino Mega Pokročilé funkce Funkce
Timer 2 (8bit) + 4 (16bit) = 6 timer
PWM 12 (2-16bitové)
ADC 16 (10bitové)
USART 4
Změna pinu Přerušení 24

Arduino Mega 2560 je také vybaveno dalšími funkcemi, jako je analogový komparátor, Externí přerušení & Softwarové přerušení, úsporný režim, vestavěný teplotní senzor, RTC a další.

Rozložení vývodů Arduino Mega

Rozložení vývodů Arduino Mega

Napájecí piny :

Arduino Mega Napájecí piny
VIN Napájecí napětí (7-.12V)
GND Zem
5V napájení Pro napájení externího hardwarového zařízení
3.3V napájení Pro externí nízkonapěťové napájení hardwarového zařízení

Schéma pinů Arduino Mega

Konfigurace pinů Arduino Mega

Piny řadiče:

RESET: (Vstup resetu) Nízká úroveň na tomto pinu po dobu delší než 4 hodinové cykly vygeneruje reset. Arduino Mega má vestavěný resetovací obvod s tlačítkem pro resetování systému a tento pin může být použit jinými zařízeními pro resetování řadiče.

XTAL1,XTAL2: Krystal (16Mhz) je připojen k napájení hodin pro řadič s 2 bypassovými kondenzátory na zem.

AREF: Tento pin se používá, pokud používáme Adc pro analogově digitální převod s externím referenčním napětím pro převod a nechceme používat interní 1,1V nebo 5V referenci.

Digitální piny (70):
Digital pins (0-53) + Analog (0-15) = Total Digital I/O pins.

Digitální piny: Od 0-53 (digitální) a 0-15 (analogové) lze použít jako vstup nebo výstup pro digitální převodníky a výstupní zařízení pomocí pinMode() pro směr pinů, digtalWrite() pro zápis pinů a digitalRead() pro čtení stavu pinů.

Použití:

Výstupní zařízení : Relé, LED, bzučák, LCD a další.

Vstupní zařízení: digitální termistor, tlačítko, ultrazvukový senzor, joystick a další

Příklad:

  • Výstupní signál low na desce Arduino mega

pinMode(0,OUTPUT);

digitalWrite(0,LOW);

  • Vstupní signál pro čtení na desce Arduino mega

pinMode(0,INPUT);

digitalRead(0);

Analogové piny (16):

Analogové piny: Pokud není použit, funguje jako normální digitální pin. Může být použit pomocí pinMode() pro směr pinů, analogRead() pro čtení stavu pinů a získání digitální hodnoty pro analogový signál, je třeba dbát na výběr interního nebo externího referenčního napětí a Aref pin.

Použití :

Vstupní zařízení:

Příklad :

  • INPUT analogový signál na desce Arduino mega

pinMode(0,INPUT);

analogRead(0);

Alternativní funkce pinů:

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

Tyto piny se používají pro sériovou komunikaci s protokolem SPI pro komunikaci mezi 2 nebo více zařízeními. Pro zahájení komunikace s dalšími zařízeními musí být nastaven povolovací bit SPI.

Použití:

Pro programování řadiče AVR, komunikaci s dalšími periferiemi, jako je LCD a SD karta se čtyřřádkovou komunikací při vysoké rychlosti.

I2C Piny:

Digitální pin 20 pro SDA a 21 pro SCK (rychlost 400khz) pro umožnění dvouvodičové komunikace s dalšími zařízeními. Používají se funkce wire.begin() pro zahájení konverze I2C, s wire.Read() pro čtení dat i2c a wire.Write() pro zápis dat i2c.

Použití:

Výstupní zařízení : LCD a komunikace mezi více zařízeními pomocí dvou drátů.

Vstupní zařízení : rtc a další.

Příklad:

I2c master čte data ze slave

Wire.begin();

Wire.requestFrom(2, 1); //1byte data

Wire.Read();

PWM piny:

Digitální pin 2-13 lze použít jako PWM výstup s analogWrite() pro zápis pwm hodnoty od 0-255. Je to alternativa D/A převodníku pro nízkonákladový systém pro získání analogového signálu na výstupu pomocí filtru.

Použití:

Výstupní zařízení: řízení otáček motoru, stmívače světla, pid pro efektivní řídicí systém.

Příklad:

  • Výstup analogového signálu na desce Arduino mega

pinMode(0,OUTPUT);

analogWrite(0,255);

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

Tento pin se používá pro sériovou komunikaci usart s počítačem nebo jiným systémem pro sdílení dat a záznam. Používá se s funkcí serialBegin() pro nastavení přenosové rychlosti a zahájení komunikace se sériovým zařízením.Println() pro vypsání pole znaků na výstup jiného zařízení.

Použití:

Komunikace dvou řadičů, komunikace pc a řadiče, ladění s usart pomocí sériového monitoru.

Příklad:

Serial.begin(9600);

Serial.Println(„hello“);

Přerušení výměny pinů:
Digital Pin 0,22,23,24,25,10,11,12,13,15,14Analog Pin 6,7,8,9,10,11,12,13,14,15

Tento pin se používá pro přerušení výměny pinů. Enable bit pinchange interrupt musí být nastaven pomocí global interrupt enable.

Aplikace :

Rotary encoder, push button based interrupt a další.

Příklad :

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

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

Hardwarové přerušení pinů :

Hardwarové přerušení digitálních pinů 18 – 21,2,3 se používá pro služby přerušení. Hardwarové přerušení musí být povoleno pomocí globálního povolení přerušení, aby bylo možné získat přerušení z jiných zařízení.

Použití:

Tlačítko pro program ISR, probuzení řadiče s externími zařízeními, senzory jako ultrazvuk a další.

Příklad:

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

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

Schématické komponenty Arduino Mega:

Napájení DC Jack :

Externí napájení pro Arduino Mega v rozsahu 7-12 V je dáno tímto portem. Arduino Mega R3 má regulátor napětí pro napájení 5 V a 3,3 V pro řadič Arduino a napájení senzorů.

AVR 2560 :

Jedná se o hlavní řadič používaný k programování a spouštění úloh pro systém. Je to mozek systému, který řídí všechna ostatní zařízení na desce.

ATmega8 :

Tento řadič se používá pro komunikaci mezi hlavním řadičem a ostatními zařízeními. Tento řadič je naprogramován pro komunikaci přes USB a funkce sériového programování.

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

Má funkce programování pomocí sériové sběrnice s programátorem AVR pomocí komunikace SPI. AVR 2560 je naprogramován pro běh systému a ATmega 8 je naprogramována pro sériovou komunikaci a programování.

Arduino Mega ICSP Pinout for ATmega 2560

Reset :

Má resetovací obvod s kondenzátorem, tlačítkem a odporem pro resetování řadiče. Tlačítko se používá k získání 4 cyklů nízkého signálu na resetovacím pinu, aby se regulátor dostal do režimu resetování.

Krystal :

Má krystalový obvod se dvěma kondenzátory a jedním 16 Mhz krystalem pro xtal piny 1 a 2 pro propojení s avr 2560.

I2C :

Má funkce I2C (dvouvodičová komunikace) s externím pull-up rezistorem.

USART :

Má vývod TXD a RXD pro sériovou komunikaci s LED indikátorem.

Několik jednoduchých programů k vyzkoušení na Arduino Mega 2560

Program 1: Blikající LED (digitální pin)

/*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}

Program 2: Stmívač LED světla (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);}

Program 3: Stmívač LED světla (PWM): (Analogový pin s 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}

Můžete si také vyzkoušet vlastní logiku a implementovat programy pro Arduino mega se základními funkcemi jazyka C a Arduino.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.