Először is, miért az Arduino Mega 2560?

Ha olcsóbb lapok is elérhetők, miért az Arduino Mega? Ennek fő oka a kiegészítő funkciók, amelyek ebbe a kártyába vannak beépítve. Az első funkció a nagy I/O rendszer kialakítása beépített 16 analóg átalakítóval és 54 digitális átalakítóval, amely támogatja a USART és más kommunikációs módokat. Másodszor, beépített RTC-vel és más funkciókkal rendelkezik, mint például analóg összehasonlító, fejlett időzítő, megszakítás a vezérlő ébresztési mechanizmusához, hogy több energiát és gyors sebességet takarítson meg 16 Mhz kristályórával, hogy 16 MIBS-t kapjon. Több mint 5 csapot tartalmaz a Vcc és a Gnd számára, hogy más eszközöket csatlakoztasson az Arduino Mega-hoz.

Az egyéb funkciók közé tartozik a JTAG-támogatás a programozáshoz, a hibakereséshez és a hibaelhárításhoz. A nagy FLASH memóriával és SRAM memóriával ez a kártya könnyedén kezelheti a nagy rendszerprogramot. Kompatibilis a különböző típusú táblákkal is, mint a magas szintű jel (5V) vagy alacsony szintű jel (3,3V) I/O ref pin.

A brownout és a watchdog segít a rendszer megbízhatóbbá és robusztusabbá tételében. Támogatja az ICSP, valamint az USB mikrokontroller programozását PC-vel.

Az Arduino Mega 2560 a régi Arduino Mega helyettesítője, ezért az általános hivatkozásban a ‘2560’ kiterjesztés nélkül nevezik. A sok csapszám miatt általában nem használják közös projektekhez, de sokkal összetettebb projektekben, például radonérzékelőkben, 3D nyomtatókban, hőmérséklet-érzékelésben, IOT alkalmazásokban, valós idejű adatfigyelő alkalmazásokban stb.

Arduino Mega 2560 specifikációk

Arduino Mega – alapvető jellemzők

.

Arduino Mega Tulajdonságok
Mikrokontroller AVR ATmega 2560 (8bit)
Tápegység 7-12V (beépített szabályozó a vezérlőhöz)
Digitális I/O csatlakozók 54
Analog I/O csatlakozók 16
Total Digital I/O 70 (Digital + Analog)
Óra sebesség 16 MHz (gyári beállítás 1Mhz)
Flash memória 128 KB
SRAM 8 KB
Kommunikáció USB (programozás ATmega 8-al), ICSP (programozás), SPI, I2C és USART

Arduino Mega – Speciális funkciók

Arduino Mega Szint. Features
Timer 2 (8bit) + 4 (16bit) = 6 timer
PWM 12 (2-16 bit)
ADC 16 (10 bit)
USART 4
Pin Change Interrupt 24

Az Arduino Mega 2560 olyan további funkciókkal is rendelkezik, mint az analóg komparátor, Külső megszakítás & Szoftveres megszakítás, energiatakarékos üzemmód, beépített hőmérsékletérzékelő, RTC és még sok más.

Arduino Mega Pinout

Arduino Mega Pinout

Tápcsatlakozók :

Arduino Mega Tápcsatlakozók
VIN Tápfeszültség (7-12V)
GND Ground
5V Supply A külső hardvereszköz tápellátásához
3.3V tápellátás A külső kisfeszültségű hardvereszköz tápellátásához

Arduino Mega pin diagram

Arduino Mega pin konfiguráció

Controller pinek:

RESET: (Reset bemenet) Ha ezen a pin-en a 4 órajelciklusnál hosszabb ideig alacsony szint van, az resetet generál. Az Arduino Mega beépített reset áramkörrel rendelkezik nyomógombbal a rendszer visszaállításához, és ezt a csapot más eszközök is használhatják a vezérlő visszaállítására.

XTAL1,XTAL2:

AREF: A kristály (16Mhz) a vezérlő órájának ellátására van csatlakoztatva 2 áthidaló kondenzátorral a földre.

AREF: Ez a pin akkor használatos, amikor Adc-t használunk analóg-digitális átalakításhoz külső referenciafeszültséggel az átalakításhoz, és nem akarunk belső 1,1V vagy 5V-os referenciát használni.

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

Digitális csapok: A 0-53 (digitális) és 0-15 (analóg) használható bemenetként vagy kimenetként a digitális átalakítók és kimeneti eszközök számára a pinMode() a pin irányához, a digtalWrite() a pin írásához és a digitalRead() a pin állapotának olvasásához.

Alkalmazás:

Kimeneti eszközök : Relé, LED, zúgó, LCD és mások.

Bemeneti eszközök: digitális termisztor, nyomógomb, ultrahangos érzékelő, joystick és mások

Példa:

  • Kimeneti alacsony jel az Arduino mega táblán

pinMode(0,OUTPUT);

digitalWrite(0,LOW);

  • Bemeneti olvasójel az Arduino mega kártyán

pinMode(0,INPUT);

digitalRead(0);

Analóg pinek (16):

Analóg csapok:

Analóg csapok: A 0-15 (analóg) analóg bemeneti csapként használható az adc számára, ha nem használják, akkor normál digitális csapként működik. Használható pinMode() a pin irányához, analogRead() a pin állapotának olvasásához és az analóg jel digitális értékének lekérdezéséhez, ügyelni kell a belső vagy külső referenciafeszültség kiválasztására és az Aref pin-re.

Alkalmazás :

Bemeneti eszközök:

Példa :

  • INPUT analóg jel az Arduino mega boardon

pinMode(0,INPUT);

analogRead(0);

Alternatív pin funkció:

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

Ezek a csapok az SPI protokollal történő soros kommunikációra szolgálnak 2 vagy több eszköz közötti kommunikációhoz. Az SPI engedélyező bitet be kell állítani a más eszközökkel való kommunikáció megkezdéséhez.

Alkalmazás:

Az AVR vezérlő programozása, kommunikáció más perifériákkal, mint LCD és SD kártya négysoros kommunikációval nagy sebességgel.

I2C Pins:

Digitális pin 20 az SDA és 21 az SCK számára (sebesség 400khz) a kétvezetékes kommunikáció lehetővé tételéhez más eszközökkel. A használt funkció a wire.begin() az I2C konverzió elindításához, a wire.Read() az i2c adatok olvasásához és a wire.Write() az i2c adatok írásához.

Alkalmazás:

Kimeneti eszközök : LCD és kommunikáció több eszköz között két vezetékkel.

Bemeneti eszközök : rtc és egyéb.

Példa:

I2c master adatot olvas a slave-ről

Wire.begin();

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

Wire.Read();

PWM Pins:

A 2-13-as digitális csapot PWM-kimenetként lehet használni az analogWrite() segítségével a pwm érték 0-255 közötti pwm-érték írására.Ez a DAC alternatívája az alacsony költségű rendszer számára, hogy analóg jelet kapjon a kimeneten a szűrő használatával.

Alkalmazás:

Kimeneti eszközök: motor sebességszabályozás, fényerőszabályozás, pid a hatékony vezérlőrendszerhez.

Példa:

  • Az analóg jel kimenete az Arduino mega boardon

pinMode(0,OUTPUT);

analogWrite(0,255);

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

Ez a pin a soros usart kommunikációra szolgál pc-vel vagy más rendszerrel az adatmegosztáshoz és naplózáshoz. Ezt a serialBegin() funkcióval használjuk a baud rate beállításához és a soros kommunikáció elindításához.Println() a char tömb nyomtatásához más eszköz kimenetén.

Alkalmazás:

Két vezérlő kommunikációja, pc és vezérlő kommunikációja, hibakeresés usarttal soros monitor segítségével.

Példa:

Serial.begin(9600);

Serial.Println(“hello”);

Pinchange Interrupt Pins:
Digital Pin 0,22,23,24,25,10,11,12,13,15,14Analog Pin 6,7,8,9,10,11,12,13,14,15

Ez a pin a pinváltás megszakítására szolgál. A pinchange megszakítás engedélyező bitjét a globális megszakítás engedélyezéssel kell beállítani.

Alkalmazás :

Pörgőkódoló, nyomógomb alapú megszakítás és mások.

Példa :

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

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

Hardware Interrupt Pins :

Digitális pin 18 – 21,2,3 hardware interrupt a megszakítási szolgáltatásokhoz használatos. A hardveres megszakítást engedélyezni kell a globális megszakítás engedélyezésével, hogy megszakítást kapjon más eszközökről.

Alkalmazás:

Gombnyomás az ISR programhoz, ébresztő vezérlő külső eszközökkel, érzékelőkkel, mint például ultrahangos és mások.

Példa:

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

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

Arduino Mega Schematic Components:

DC Jack tápegység :

A külső tápegység az Arduino Mega számára a 7-12 voltos tartományból ezzel a porttal adott. Az Arduino Mega R3 rendelkezik egy feszültségszabályozóval az 5v és 3,3v tápellátáshoz az Arduino vezérlő és az érzékelők ellátásához.

AVR 2560 :

Ez a fő vezérlő, amelyet a rendszer programozására és a feladat futtatására használnak. Ez a rendszer agya a fedélzeten lévő összes többi eszköz vezérléséhez.

ATmega8 :

Ez a vezérlő a fő vezérlő és a többi eszköz közötti kommunikációra szolgál. Ez a vezérlő USB-kommunikációs és soros programozási funkciókkal van programozva.

ICSP 1 (ATmega8) és 2 (AVR 2560):

Az AVR programozóval SPI-kommunikációt használó soros buszon keresztül történő programozás jellemzőivel rendelkezik. Az AVR 2560 a rendszer futtatására van programozva, az ATmega 8 pedig a soros kommunikációhoz és a programozáshoz van programozva.

Arduino Mega ICSP Pinout for ATmega 2560

Reset :

Ez rendelkezik reset áramkörrel kondenzátorral, gombbal és ellenállással a vezérlő visszaállításához. Egy nyomógombot használnak, hogy 4 ciklusos alacsony jelet kapjanak a reset pin-en, hogy a vezérlő reset üzemmódba kerüljön.

Kristály :

Egy kristály áramkörrel rendelkezik két kondenzátorral és egy 16 Mhz-es kristállyal az 1. és 2. xtal csapokhoz, amelyek az avr 2560-hoz kapcsolódnak.

I2C :

Az I2C (kétvezetékes kommunikáció) jellemzőivel rendelkezik, külső pull-up ellenállással.

USART :

TXD és RXD tűvel rendelkezik a soros kommunikációhoz LED kijelzővel.

Néhány egyszerű program az Arduino Mega 2560

Program 1: Villogó LED (digitális 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: Led Light Dimmer (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: Led Light Dimmer (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: Analóg olvasási feszültség (analóg pin USART-tal) :

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}

A saját logikáját is kipróbálhatja és megvalósíthatja az Arduino mega programokat az alapvető C és Arduino funkcióval.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.