Arduino Zero forklarte

Arduino Zero forklarte
Arduino -plattformen har blitt populær for utvikling av elektroniske prosjekter. Arduino -tavler er enkle å bruke, og programmering av dem er grei, selv for nybegynnere. Arduino Zero Board er et kraftig brett som tilbyr avanserte funksjoner som gjør at det skiller seg ut fra andre brett i Arduino -familien. Denne artikkelen er en oversikt over Arduino Zero -brettet, dens spesifikasjoner, funksjoner, programmeringsmiljø og applikasjoner.
  1. Hva er Arduino Zero
  2. Spesifikasjoner for Arduino Zero
  3. Funksjoner av Arduino Zero
  4. Programmeringsspråk for Arduino Zero
  5. Programmering av Arduino Zero -brettet
  6. Armkjernefordeler
  7. Atmel Embedded Debugger
  8. Makt
  9. Arduino Zero Power Pins
  10. Hukommelse
  11. Inngang og utgang
  12. Konklusjon

1. Hva er Arduino Zero

Arduino Zero Board er et Atmel SAMD21-basert brett, som er det første 32-biters Arduino-styret. Den ble introdusert i 2015 og er designet for å gi en kraftig plattform for utviklere å bygge IoT -applikasjoner. Styret er kompatibelt med Arduino -programvaren (IDE), og det kan programmeres ved hjelp av samme Arduino -syntaks som de andre Arduino -tavlene. Det er et svært allsidig brett som kan brukes til et bredt spekter av applikasjoner, inkludert robotikk, automatisering og mer.

2. Spesifikasjoner for Arduino Zero

Arduino Zero -brettet har følgende spesifikasjoner:

Mikrokontroller ATSAMD21G18, 32-bit Arm® Cortex® M0+
Driftsspenning 3.3V
Digital I/O -pinner 20
PWM -pinner 3, 4, 5, 6, 8, 9, 10, 11, 12, 13
Uart 2 (innfødt og programmering)
Analoge inngangspinner 6, 12-biters ADC-kanaler
Analoge utgangspinner 1, 10-bit DAC
Eksterne avbrytelser Alle pinner unntatt pinne 4
DC strøm per I/O -pinne 7 ma
Flashminne 256 KB
Sram 32 kb
Eeprom Ingen. Se dokumentasjon
LED_BUILTIN 1. 3
Klokkefart 48 MHz
Lengde 68 mm
Bredde 53 mm
Vekt 12 gr.

3. Funksjoner av Arduino Zero

Arduino Zero -brettet tilbyr flere funksjoner som gjør det til et svært allsidig og kraftig brett:

  • 32-biters arm cortex-m0+ kjerne
  • Den har et 256 kb flash -minne og en 32 kb SRAM
  • 12-bit ADC og 12 PWM-utganger
  • USB 2.0 Vert/enhetsport
  • 3.3V logikknivå
  • EDBG -feilsøkingsgrensesnitt

4. Programmeringsspråk for Arduino Zero

Programmeringsspråket som brukes til programmering av Arduino Zero -brettet er C++. Arduino Zero -brettet kan programmeres ved hjelp av Arduino -programvaren (IDE), som er tilgjengelig for Windows, MacOS og Linux. Programvaren gir en kodeditor, en kompilator og en seriemonitor, noe som gjør det enkelt å skrive, kompilere og feilsøke kode.

5. Programmering av Arduino Zero -brettet

Å laste opp kode til Arduino Zero er forskjellig fra de normale Arduino -tavlene. Ettersom Arduino Zero er basert på SAMD21 som er forskjellig fra AVR -mikrokontrolleren, ettersom de fleste av de populære Arduino -tavlene er basert på AVR -strukturen.

Arduino Zero kommer med to UART -porter, en er innfødt Og den andre er en Programmeringsport. For å laste opp skisser for å gå ombord, anbefales det å bruke programmeringsporten i stedet for Native Port. Dette skyldes dens evne til å slette dataene om ChIP når koden er lastet opp.

  • Programmeringsport: I Arduino Zero bruker denne havnen EDBG og kan programmere brettet ved hjelp av USB-til-SWD. For å programmere Arduino Zero ved hjelp av denne porten, velg den fra IDE -portdelen og koble denne porten med PC -en ved hjelp av en USB -kabel. For referanse er denne porten nærmere DC -kontakten som fremhevet i bildet ovenfor.
  • Native Port: Den innfødte porten er direkte koblet til Samd21 -mikrokontrolleren på tavlen. For å bruke Native Port, velger du den fra IDE -portdelen, og bruk deretter USB -kabelen til å bygge tilkoblingen til Arduino Zero med PC -en ved å bruke denne porten. Denne porten er plassert på venstre side av tilbakestillingsknappen som fremhevet i bildet ovenfor.

Som andre brett som er basert på avrdude For å laste opp kode til mikrokontroller. Arduino Zero er avhengig av Bossac og Arduino Zero Programmering Port bruker openocd.

6. Armkjernefordeler

Arduino Zero er basert på en 32-bits armkjerne mens andre mikrokontrollere bruker 8-biters AVR-struktur. Armkjernen er mer avansert i å fungere enn AVR -strukturen. Her er noen hovedhøydepunkter:

  • Armkjernen har en CPU -klokke på 48MHz.
  • Arduino Zero Arm Core har en 12 -kanaler DMA -kontroller som hjelper CPU i minneintensive oppgaver.
  • Arduino Zero kan håndtere 4-byte-dataene veldig enkelt ved å bruke 32-biters armkjerne over den enkle CPU-klokken.
  • Den har 32-bit RTC med klokke/kalenderstøtte.
  • Det kommer med en 32-bit CRC generator.
  • Armkjernen har en to-kanals (I2s) grensesnitt.
  • Den har en innebygd perifer berøringskontroller (PTC).

7. Atmel Embedded Debugger

Arduino Zero -brettet inkluderer en Atmel Embedded Debugger (EDBG) Chip som gir en rekke feilsøkings- og programmeringsfunksjoner.

EDBG -brikken på Arduino Zero -brettet kan brukes til å programmere og feilsøke styret via Programmeringsport, som er porten nærmest DC Power Jack. Programmeringsporten bruker EDBG-brikken som en USB-til-SWD (Serial Wire Debug) -omformer, slik at du kan programmere og feilsøke SAMD21-mikrokontrolleren ved hjelp av SWD-protokollen.

I tillegg til programmerings- og feilsøkingsfunksjonene, gir EDBG -brikken på Arduino Zero -brettet også et virtuelt COM -portgrensesnitt, slik at du kan kommunisere med brettet via den opprinnelige USB -porten, som er porten nærmest tilbakestillingsknappen. Dette grensesnittet kan brukes til forskjellige protokoller i Arduino Zero som UART, SPI og I2C.

8. Makt

Arduino Zero har to forskjellige kraftkilder akkurat som Arduino Uno:

  • USB -kontakt
  • Ekstern strømforsyning

Styret er intelligent nok til å automatisk velge strømkilden, noe som gjør det enkelt for deg å veksle mellom strømmodus.

Eksterne strømkilder for Arduino Zero

Eksterne strømkilder for Arduino Zero kan komme fra en AC-til-DC-adapter eller batteri. For å koble til en ekstern strømkilde, en 2.1mm senter-positiv plugg kan brukes med en Arduino Zero DC tønne jekkkontakt. Vi kan også koble eksterne strømkilder direkte med VIN -pinnen som vi gjør i Arduino Uno. Dette gir deg fleksibilitet til å velge den mest passende strømkilden for prosjektet ditt.

Spenningsområdet for Arduino Zero

Arduino null spenning som den kan ta som nevnt på databladet er mellom 6 til 20 volt, men det anbefales å ikke bruke mer enn 12V, da det kan forårsake overoppheting på spenningsregulatoren som et resultat av overflødig spenningstap under konvertering til 3.3V.

Å operere utenfor dette området kan føre til skade på styret eller underprestasjonen av prosjektet ditt. Det er viktig å merke seg at spenningen til den eksterne strømkilden vil påvirke styrets ytelse, så det er viktig å velge riktig strømkilde for prosjektet ditt.

9. Arduino Zero Power Pins

Arduino Zero har et mangfoldig utvalg av kraftkilder. Det kan drives opp ved å følge forskjellige kilder:

Vin Pin: Power the Board

Når du bruker en ekstern strømkilde for å betjene Arduino Zero -brettet, kommer VIN -pinnen godt med. Denne pinnen er ansvarlig for å motta spenningsinngang til brettet. I tillegg, hvis du leverer spenning gjennom kraftkontakten, kan du også få tilgang til den via denne pinnen.

5V PIN: Regulert spenningsutgang

Arduino Zero-brettet har en innebygd regulator som sender ut en regulert 5V gjennom 5V-pinnen. Arduino Zero kan være direkte koblet til 7V til 12V ved hjelp av en DC -knekt eller VIN -pinne. Denne spenningen føres deretter gjennom en regulator som konverterer den til 5V. Disse 5V kan brukes som strømkilde for 5V -driftssensorer. Vær imidlertid forsiktig så du ikke leverer spenning via 5V eller 3.3V -pinner da det kan omgå regulatoren og forårsake skade på styret.

3.3V PIN: Ombordregulator

Ombordregulatoren genererer en 3.3V forsyning for styret. Denne 3.3V er gitt til periferiutstyr ombord inkludert SAMD21 mikrokontroller. Denne 3.3V kan også sendes ut fra ombord 3.3V -pinne og den maksimale mengden strøm vi kan trekke fra Arduino Zero 3.3V pin er 800mA.

GND PIN: Grounding the Board

Zero Board har flere bakkestifter (GND) som hjelper til med å etablere en bakketilkobling. Du kan bruke dem til å bakke komponentene du kobler til brettet.

Ioref pin: spenningsreferanse

IOREF -pinnen gir spenningsreferansen for mikrokontrollerens drift. Denne pinnen hjelper Arduino Zero -brettet med å velge den beste strømkilden for å fungere. Det gjør det også mulig for spenningsoversetter som hjelper Arduino -styret til å jobbe med 3.3V.

10. Hukommelse

Minnetfordelingen av Arduino Zero (SAMD21) er som følger:

Hukommelse Verdi
Flashminne 256 KB
Sram 32 kb
Eeprom 16 kb

11. Inngang og utgang

Arduino Zero har totalt 20 generelle formål I/O -pins. Følgende er noen spesifikasjoner for disse GPIO -pinnene:

  • Arduino Zero Pins kan kontrolleres med Arduino -programmeringsfunksjonene som PinMode (), DigitalWrite () og DigitalRead ().
  • Arduino null PWM -pinner er 3, 4, 5, 6, 8, 9, 10, 11, 12, 13. For å få tilgang til disse pinnene AnalogWrite () funksjon brukes.
  • Alle disse pinnene fungerer på 3.3 volt.
  • Hver av disse pinnene har en maksimal kapasitet til å synke strøm opp til 7 ma. Disse pinnene har også en intern opptrekksmotstand på 20-50 kohms. Disse motstandene kobles fra som standard på Arduino Zero.

For er noen ekstra pinner av Arduino Zero med spesialisert funksjon:

  • Analoge innganger: A0 til A5 (6 kanaler). Hver av disse pinnene har 12 biter av oppløsning. Som standard er referansen satt fra bakken til 3.3V, men den øvre grensen for ADC kan justeres ved bruk av analogreference () -funksjonen.
  • Digitale inngangsutgangspinner: 0 til 13.
  • PWM -utgangspinner: 0 til 13.
  • SPI -grensesnitt: Spi Mosi (pinne 11), SPI Miso (pin 12), SPI SCK (pinne 13).
  • I2C -grensesnitt: SDA (pinne 20) og SCL (pinne 21).
  • UART -grensesnitt: RX (pin 0) og TX (pinne 1).
  • Native USB -grensesnitt: Native USB Port (programmeringsport).
  • DAC -utgang: DAC0 og DAC1.
  • SWD -feilsøkingsgrensesnitt: SWDIO og SWCLK.
  • Tilbakestill pin: Tilbakestill pin.
  • Eksterne avbrytelser: Det er tilgjengelig på alle Arduino Zero PIN -pinne unntatt pinne 4.
  • Twi: SDA/SCL -pinne. Det har støtte for TWI -kommunikasjon. For å etablere TWI brukes et Arduino Wire -bibliotek.
  • Aref: Referansespenningstift for analoge verdier. Kan kontrolleres ved hjelp av analogreference () -funksjonen.
  • Nullstille: Dette tilbakestilles for en linje eller et brett. Den kan tilbakestille mikrokontrolleren ved å bringe linjen til lav.

Legg merke til at noen av de ovennevnte pinnene også har dobbel funksjon. For eksempel kan pinnene 0 og 1 brukes som digital I/O eller som UART -grensesnittet. Tilsvarende kan pinnene 11, 12 og 13 brukes som SPI -grensesnitt eller som digital I/O.

Konklusjon

Arduino Zero -brettet er et kraftig og allsidig brett som er perfekt for nybegynnere og avanserte brukere. Med sine avanserte funksjoner, kompatibilitet med Arduino -programvaren (IDE) og et bredt spekter av applikasjoner, er Arduino Zero Board et godt valg for alle som ønsker å bygge elektroniske prosjekter. Ved å følge trinnene som er beskrevet i denne guiden, kan du enkelt komme i gang med Arduino Zero -brettet og begynne å bygge dine egne prosjekter.