Aluksi, miksi Arduino Mega 2560?

Kun halvempia levyjä on saatavilla, miksi valita Arduino Mega? Tärkein syy tähän on tämän piirilevyn sisäänrakennetut lisäominaisuudet. Ensimmäinen ominaisuus on suuri I/O-järjestelmän suunnittelu, jossa on sisäänrakennettu 16 analogista anturia ja 54 digitaalista anturia, jotka tukevat USART- ja muita viestintätiloja. Toiseksi siinä on sisäänrakennettu RTC ja muita ominaisuuksia, kuten analoginen komparaattori, kehittynyt ajastin, keskeytys ohjaimen herätysmekanismia varten, jotta voidaan säästää enemmän virtaa ja nopeaa nopeutta 16 Mhz: n kristallikellolla 16 MIBS: n saamiseksi. Siinä on yli 5 nastaa Vcc: lle ja Gnd: lle muiden laitteiden liittämiseksi Arduino Megaan.

Muihin ominaisuuksiin kuuluu JTAG-tuki ohjelmointia, virheenkorjausta ja vianetsintää varten. Suurella FLASH-muistilla ja SRAM-muistilla tämä levy voi käsitellä suuria järjestelmäohjelmia helposti. Se on myös yhteensopiva erityyppisten piirilevyjen kanssa, kuten korkean tason signaalin (5V) tai matalan tason signaalin (3,3V) kanssa I/O ref pin.

Brownout ja watchdog auttavat tekemään järjestelmästä luotettavamman ja kestävämmän. Se tukee ICSP- sekä USB-mikrokontrollerin ohjelmointia PC:llä.

Arduino Mega 2560 on vanhan Arduino Megan korvaaja, joten yleisessä viitteessä sitä kutsutaan ilman ’2560’-laajennusta. Monien nastojen lukumäärän vuoksi sitä ei yleensä käytetä tavallisissa projekteissa, mutta löydät ne paljon monimutkaisemmissa projekteissa, kuten Radon-ilmaisimissa, 3D-tulostimissa, lämpötila-antureissa, IOT-sovelluksissa, reaaliaikaisten tietojen valvontasovelluksissa jne.

Arduino Mega 2560 tekniset tiedot

Arduino Mega – perusominaisuudet

.

.

Arduino Mega Ominaisuudet
Mikrokontrolleri AVR ATmega 2560 (8bit)
Virtalähde 7-12V (Sisäänrakennettu säädin ohjaimelle)
Digitaaliset I/O-nastat 54
Analogiset I/O-nastat 16
Kokonaisdigitaaliset I/O:t 70 kpl (Digitaalinen + Analoginen)
Kellon nopeus 16 MHz (tehdasasetus 1Mhz)
Flash-muisti 128 KB
SRAM 8 KB
Kommunikaatio USB (Ohjelmointi ATmega 8:lla), ICSP (ohjelmointi), SPI, I2C ja USART

Arduino Mega – Lisäominaisuudet

Arduino Mega Lisäominaisuudet. Ominaisuudet
Timer 2 (8bit) + 4 (16bit) = 6 timer
PWM 12 (2-16 bitti)
ADC 16 (10 bitti)
USART 4
Pin Change Interrupt 24

Arduino Mega 2560 on myös täynnä lisäominaisuuksia, kuten analoginen komparaattori, Ulkoinen keskeytys & Ohjelmistokatko, virransäästötila, sisäänrakennettu lämpötila-anturi, RTC ja paljon muuta.

Arduino Mega Pinout

Arduino Mega Pinout

Virtanastat :

Arduino Mega Power Pins
VIN Syöttöjännite (7-12V)
GND Ground
5V Supply Ulkoiselle laitteistolaitteelle virtalähde
3.3V Supply For External low voltage hardware device power supply

Arduino Mega Pin Diagram

Arduino Mega Pin Configuration

Controller Pins:

RESET: (Reset-tulo) Tämän nastan matala taso pidempään kuin 4 kellojakson ajan aiheuttaa nollauksen. Arduino Megassa on sisäänrakennettu nollauspiiri, jossa on painike järjestelmän nollaamiseksi, ja muut laitteet voivat käyttää tätä nastaa ohjaimen nollaamiseen.

XTAL1,XTAL2: Crystal (16Mhz) on kytketty syöttämään kelloa ohjaimelle 2 ohituskondensaattorin kanssa maahan.

AREF: Tätä nastaa käytetään, kun käytämme Adc:tä analogia-digitaalimuunnokseen ulkoisella referenssijännitteellä muunnosta varten ja emme halua käyttää sisäistä 1.1V tai 5v referenssiä.

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

Digitaaliset nastat: Vuodesta 0-53 (digitaalinen) ja 0-15 (analoginen) voidaan käyttää tulona tai lähtönä digitaalisille muuntimille ja lähtölaitteille pinMode() nastan suuntaan, digtalWrite() nastan kirjoittamiseen ja digitalRead() nastan tilan lukemiseen.

Sovellus:

Lähtölaitteet : Rele, LED, summeri, LCD ja muut.

Tulolaitteet: Digitaalinen termistori, painike, ultraäänianturi, joystick ja muut

Esimerkki:

  • Output low-signaali Arduino mega boardissa

pinMode(0,OUTPUT);

digitalWrite(0,LOW);

  • Tulon lukusignaali Arduino mega -levyllä

pinMode(0,INPUT);

digitalRead(0);

Analogiset nastat (16):

Analogiset nastat: Jos sitä ei käytetä, se toimii normaalina digitaalisena nastana. Sitä voidaan käyttää pinMode():lla nastan suuntaan, analogRead():lla nastan tilan lukemiseen ja analogisen signaalin digitaalisen arvon saamiseen, sisäisen tai ulkoisen referenssijännitteen valintaan ja Aref-nastaan on kiinnitettävä huomiota.

Sovellus :

Tulolaitteet:

Esimerkki :

  • INPUT analoginen signaali Arduino mega boardilla

pinMode(0,INPUT);

analogRead(0);

Vaihtoehtoiset nastat Toiminto:

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

Nämä nastat käytetään sarjaliikenteeseen SPI-protokollalla 2 tai useamman laitteen väliseen viestintään. SPI-aktivointibitti on asetettava, jotta viestintä muiden laitteiden kanssa voidaan aloittaa.

Sovellus:

AVR-ohjaimen ohjelmointi, viestintä muiden oheislaitteiden, kuten LCD- ja SD-kortin, kanssa nelirivisellä viestinnällä suurella nopeudella.

I2C-nastat:

Digitaalinen nasta 20 SDA:ta varten ja 21 SCK:ta varten (nopeus 400 khz), jolla mahdollistetaan kaksijohdinliikenne muiden laitteiden kanssa. Käytetyt toiminnot ovat wire.begin() I2C-muunnoksen käynnistämiseksi, wire.Read() i2c-tietojen lukemiseen ja wire.Write() i2c-tietojen kirjoittamiseen.

Sovellus:

Lähtölaitteet : LCD ja kommunikaatio useiden laitteiden välillä kahdella johdolla.

Syöttölaitteet : rtc ja muut.

Esimerkki:

I2c master lukee dataa orjalta

Wire.begin();

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

Wire.Read();

PWM-pinnit:

Digitaalipinniä 2-13 voidaan käyttää PWM-lähtönä analogWrite(): n avulla pwm-arvon kirjoittamiseen 0-255. Se on vaihtoehto DAC: lle edullisessa järjestelmässä analogisen signaalin saamiseksi ulostuloon käyttämällä suodatinta.

Sovellus:

Lähtölaitteet: moottorin nopeuden säätö, valon himmennin, pid tehokkaaseen ohjausjärjestelmään.

Esimerkki:

  • OUTPUT analoginen signaali Arduino mega board

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

Tämä tappi käytetään sarjamuotoiseen usart-viestintään pc: n tai muun järjestelmän kanssa tietojen jakamista ja kirjaamista varten. Sitä käytetään serialBegin():n kanssa baudinopeusasetuksen asettamiseen ja viestinnän aloittamiseen sarjaliikenteellä.Println():n avulla tulostetaan merkkijono toisen laitteen ulostuloon.

Sovellus:

Kahden ohjaimen viestintä, pc:n ja ohjaimen välinen viestintä, virheenkorjaus usartilla sarjamonitorin avulla.

Esimerkki:

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

Tämä nasta käytetään nastanvaihdon keskeytykseen. Pinchange-keskeytyksen enable-bitti on asetettava globaalilla interrupt enable:lla.

Sovellus :

Rotary encoder, push button based interrupt ja muut.

Esimerkki :

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

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

Hardwarekeskeytyspinnit :

Digitaaliset pinnejä 18 – 21,2,3 laitteistokeskeytystä käytetään keskeytyspalveluihin. Laitteistokeskeytys on otettava käyttöön globaalilla keskeytyksen sallimisella, jotta voidaan saada keskeytys muilta laitteilta.

Sovellus:

Paina painiketta ISR-ohjelmaa varten, herätä ohjain ulkoisilla laitteilla, antureilla, kuten ultraääni ja muut.

Esimerkki:

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

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

Arduino Mega Schematic Components:

DC Jack Virtalähde :

Ulkoinen syöttö Arduino Megalle 7-12 voltin alueelta annetaan tällä portilla. Arduino Mega R3 on jännitteensäädin 5v ja 3,3v syöttö Arduino-ohjaimelle ja anturisyötölle.

AVR 2560 :

Tämä on tärkein ohjain, jota käytetään järjestelmän ohjelmointiin ja tehtävän suorittamiseen. Tämä on järjestelmän aivot, jotka ohjaavat kaikkia muita aluksella olevia laitteita.

ATmega8 :

Tätä ohjainta käytetään pääohjaimen ja muiden laitteiden väliseen viestintään. Tämä ohjain on ohjelmoitu USB-viestintä- ja sarja-ohjelmointiominaisuuksia varten.

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

Siinä on ohjelmointiominaisuudet sarjaväylää käyttäen AVR-ohjelmointilaitteen kanssa SPI-viestintää käyttäen. AVR 2560 on ohjelmoitu käyttämään järjestelmää ja ATmega 8 on ohjelmoitu sarjaliikennettä ja ohjelmointia varten.

Arduino Mega ICSP Pinout for ATmega 2560

Nollaus :

Se on nollauspiiri kondensaattorilla, painikkeella ja vastuksella ohjaimen nollaamiseksi. Painiketta käytetään 4 syklin low-signaalin saamiseksi reset-pinniin, jotta ohjain saadaan reset-tilaan.

Crystal :

Se on kristallipiiri, jossa on kaksi kondensaattoria ja yksi 16 Mhz:n kristalli xtal-nastojen 1 ja 2 rajapintaa varten avr 2560: n kanssa.

I2C :

Se sisältää I2C-ominaisuudet (kaksijohtiminen tiedonsiirto) ulkoisella pull-up-vastuksella.

USART :

Se sisältää TXD- ja RXD-nastat sarjaliikennettä varten LED-ilmaisimella.

Joitakin yksinkertaisia ohjelmia kokeiltavaksi Arduino Mega 2560

Ohjelma 1: Vilkkuva LED (digitaalinen tappi)

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

Ohjelma 2: Led-valon himmennin (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);}

Ohjelma 3: Analoginen lukujännite (Analoginen pin USART:lla) :

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}

Voit myös kokeilla omaa logiikkaasi ja toteuttaa ohjelmia Arduino mega:lle perus C- ja Arduino-toiminnolla.

Vastaa

Sähköpostiosoitettasi ei julkaista.