Först av allt, varför Arduino Mega 2560?

När det finns billigare kort, varför välja Arduino Mega? Den främsta anledningen till detta är de ytterligare funktioner som är inbyggda i detta kort. Den första funktionen är det stora I/O-systemet med inbyggda 16 analoga givare och 54 digitala givare med stöd för USART och andra kommunikationslägen. För det andra har den inbyggd RTC och andra funktioner som analog komparator, avancerad timer, interrupt för styrenhetens väckningsmekanism för att spara mer ström och snabb hastighet med 16 Mhz kristallklocka för att få 16 MIBS. Den har mer än 5 stift för Vcc och Gnd för att ansluta andra enheter till Arduino Mega.

Andra funktioner inkluderar JTAG-stöd för programmering, felsökning och felsökning. Med stort FLASH-minne och SRAM kan det här kortet hantera stora systemprogram med lätthet. Det är också kompatibelt med olika typer av kort som högnivåsignal (5V) eller lågnivåsignal (3,3V) med I/O ref pin.

Brownout och watchdog hjälper till att göra systemet mer tillförlitligt och robust. Den stöder ICSP- samt USB-mikrokontrollerprogrammering med PC.

Arduino Mega 2560 är en ersättare till den gamla Arduino Mega, och därför kommer den i allmänna referenser att kallas utan tillägget ”2560”. På grund av det stora antalet stift används den vanligtvis inte för vanliga projekt, men du kan hitta dem i mycket mer komplexa projekt som radondetektorer, 3D-skrivare, temperaturmätning, IOT-tillämpningar, tillämpningar för övervakning av data i realtid osv.

Arduino Mega 2560 Specifikationer

Arduino Mega – Grundläggande funktioner

Arduino Mega Funktioner
Mikrokontroller AVR ATmega 2560 (8bit)
Spänningsförsörjning 7-12V (inbyggd regulator för styrenheten)
Digitala I/O-stift 54
Analoga I/O-stift 16
Totalt digitalt I/O 70 (digitalt + analogt)
Klockhastighet 16 MHz (fabriksinställd på 1Mhz)
Flashminne 128 KB
SRAM 8 KB
Kommunikation USB (programmering med ATmega 8), ICSP (programmering), SPI, I2C och USART

Arduino Mega – Avancerade funktioner

Arduino Mega Avancerat Funktioner
Timer 2 (8bit) + 4 (16bit) = 6 timer
PWM 12 (2-16 bit)
ADC 16 (10 bit)
USART 4
Stiftbyte Interrupt 24

Arduino Mega 2560 är också utrustad med ytterligare funktioner som analog komparator, externt avbrott & mjukvaruavbrott, energisparläge, inbyggd temperatursensor, RTC med mera.

Arduino Mega Pinout

Arduino Mega Pinout

Strömstift :

Arduino Mega Power Pins
VIN Spänning (7-12V)
GND Massa
5V Supply För strömförsörjning av extern hårdvaruenhet
3.3V-försörjning För externt lågspänningsnät för hårdvara

Arduino Mega Pin Diagram

Arduino Mega Pin Configuration

Controller Pins:

RESET: (Återställningsingång) En låg nivå på denna stift under längre tid än 4 klockcykler genererar en återställning. Arduino Mega har en inbyggd återställningskrets med tryckknapp för att återställa systemet och denna stift kan användas av andra enheter för att återställa styrenheten.

XTAL1,XTAL2: Crystal (16Mhz) är ansluten för att leverera klockan till styrenheten med 2 bypass-kondensatorer till jord.

AREF: Denna stift används när vi använder Adc för analog till digital konvertering med extern referensspänning för konvertering och inte vill använda intern 1,1V eller 5V referens.

Digitala stift (70):
Digital pins (0-53) + Analog (0-15) = Total Digital I/O pins.

Digitala stift: Från 0-53 (digitala) och 0-15 (analoga) kan användas som ingång eller utgång för digitala omvandlare och utdataenheter genom pinMode() för stiftriktning, digtalWrite() för att skriva stift och digitalRead() för att läsa stiftstatus.

Användning:

Utdataenheter::

Relä, LED, summer, LCD och andra.

Input-enheter: digital termistor, tryckknapp, ultraljudssensor, joystick och andra

Exempel:

  • Output low signal på Arduino mega board

pinMode(0,OUTPUT);

digitalWrite(0,LOW);

  • Input read signal på Arduino mega board

pinMode(0,INPUT);

digitalRead(0);

Analog Pins (16):

Analoga stift: Om de inte används fungerar de som vanliga digitala stift. Den kan användas av pinMode() för stiftriktning, analogRead() för att läsa stiftstatus och få digitalt värde för analog signal, försiktighet måste iakttas vid val av intern eller extern referensspänning och Aref-stift.

Användning :

Inputenheter:

Exempel :

  • INPUT analog signal på Arduino mega board

pinMode(0,INPUT);

analogRead(0);

Alternativ Pins Funktion: Ntc termistor, sensorer (som ldr, irled och fuktighet) och andra:

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

Dessa stift används för seriell kommunikation med SPI-protokoll för kommunikation mellan två eller flera enheter. SPI-aktiveringsbiten måste ställas in för att starta kommunikationen med andra enheter.

Användning:

Programmering av AVR-kontroller, kommunikation med andra perifera enheter som LCD och SD-kort med fyrlinjig kommunikation med hög hastighet.

I2C-stift:

Digitala stift 20 för SDA och 21 för SCK (Hastighet 400 khz) för att möjliggöra tvåtrådskommunikation med andra enheter. Funktioner som används är wire.begin() för att starta I2C-konvertering, med wire.Read() för att läsa i2c-data och wire.Write() för att skriva i2c-data.

Användning:

Utgångsenheter : LCD och kommunikation mellan flera enheter med två trådar.

Input-enheter : rtc och andra.

Exempel:

I2c master läser data från slav

Wire.begin();

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

Wire.Read();

PWM Pins:

Digitala stift 2-13 kan användas som PWM-utgång med analogWrite() för att skriva pwm-värde från 0-255.Det är ett alternativ till DAC för lågkostnadssystem för att få en analog signal vid utgången genom att använda filter.

Användning:

Utgångsenheter: hastighetsreglering av motor, ljusdimmer, pid för effektivt styrsystem.

Exempel:

  • UTGÅR analog signal på Arduino megakortet

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

Denna pin används för seriell usart-kommunikation med pc eller annat system för datadelning och loggning. Den används med serialBegin() för att ställa in baud rate-inställningen och starta kommunikationen med serial.Println() för att skriva ut array av char på annan enhetsutgång.

Användning:

Två styrenheters kommunikation, pc och styrenhetskommunikation, felsökning med usart genom seriell monitor.

Exempel:

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

Denna pin används för pin change interrupt. Aktiveringsbiten för pinchange interrupt måste ställas in med global interrupt enable.

Användning :

Rotary encoder, tryckknappsbaserad interrupt och andra.

Exempel :

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

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

Hårdvaruavbrottstift :

Hårdvaruavbrottstift 18 – 21,2,3 används för avbrottstjänster. Hårdvaruavbrott måste aktiveras med global interrupt enable för att få avbrott från andra enheter.

Användning:

Dryckknapp för ISR-program, väckningskontroller med externa enheter, sensorer som ultraljud och andra.

Exempel:

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

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

Arduino Mega Schematiska komponenter:

DC Jack Power Supply :

Externt nät för Arduino Mega från intervallet 7-12 volt ges med denna port. Arduino Mega R3 har en spänningsregulator för 5v och 3,3v för Arduinos styrenhet och sensorförsörjning.

AVR 2560 :

Detta är huvudstyrenheten som används för att programmera och köra uppgifter för systemet. Detta är systemets hjärna som styr alla andra enheter ombord.

ATmega8 :

Denna styrenhet används för kommunikation mellan huvudstyrenheten och andra enheter. Denna styrenhet är programmerad för USB-kommunikation och seriella programmeringsfunktioner.

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

Den har funktioner för programmering med hjälp av seriell buss med AVR-programmerare som använder SPI-kommunikation. AVR 2560 programmeras för att köra systemet och ATmega 8 programmeras för seriell kommunikation och programmering.

Arduino Mega ICSP Pinout for ATmega 2560

Reset :

Den har en resetkrets med kondensator, knapp och motstånd för att återställa styrningen. En tryckknapp används för att få 4 cykler låg signal på reset-stiftet för att få regulatorn i reset-läge.

Kristall :

Den har en kristallkrets med två kondensatorer och en 16 Mhz-kristall för xtal-stift 1 och 2 för gränssnittet mot avr 2560.

I2C :

Den har funktioner för I2C (tvåtrådskommunikation) med ett externt pull-up motstånd.

USART :

Den har TXD- och RXD-stift för seriell kommunikation med LED-indikator.

Några enkla program att prova på Arduino Mega 2560

Program 1: Blinkande lysdiod (digital stift)

/*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: Analog lässpänning (analog stift med 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}

Du kan också prova din egen logik och genomföra program för Arduino mega med grundläggande C och Arduino-funktioner.

Lämna ett svar

Din e-postadress kommer inte publiceras.