Raspored pinova: micro:bit, Arduino Uno, Nano, Mega i Giga

Što radi koji pin micro:bita (V1 i V2) i Arduina Uno, Nano, Mega i Giga: napajanje, GND, digitalni i analogni pinovi, PWM, I2C, SPI, UART i granice struje.

Micro:bit, Arduino Uno, Nano, Mega i Giga jedan do drugoga, a u pinove nekih utaknute su šarene žice

Što je pin?

Pin je mjesto na micro:bitu ili Arduinu na koje spajamo žicu. Kroz pin mikrokontroler šalje i prima signale: pali LED-icu, čita tipkalo ili razgovara s modulom. Neki pinovi ne služe za signale, nego daju napajanje (3V, 5V) ili su spojeni na minus (GND).

Svaki pin ima ime, a ono piše pokraj pina. Kad u programu napišeš pin P0 ili digitalWrite(13, HIGH), misliš upravo na taj pin. Raspored pinova (engleski pinout) je karta koja pokazuje gdje je koji pin i što sve može. Bez nje lako spojiš žicu na krivi pin, pa program ne radi ili se nešto ošteti.

Kako čitati kartu pinova

Na slikama ove stranice uz svaki pin stoji niz oznaka. Prva je ime pina, a ostale govore što još taj pin može. Boja oznake kaže kakav je to pin:

OznakaŠto znači
5Vnapajanje: 5V, 3V3, VIN, a na micro:bitu 3V
GNDminus, masa
D2digitalni pin: zna samo za 0 i 1 (LOW i HIGH)
A0analogni ulaz Arduina: mjeri napon, a ne samo 0 i 1
analogni ulaz micro:bita
pin micro:bita koji osjeti dodir
~PWM: pin se brzo pali i gasi, pa LED-ica može svijetliti slabije ili jače
TXveza UART (RX i TX)
SDAveza I2C (SDA i SCL)
MOSIveza SPI (MOSI, MISO, SCK i SS)
LEDpin koji koristi sam micro:bit ili Arduino: LED-ica, tipke, zaslon
RESETposebni pinovi: RESET, AREF, IOREF, NC i pin koji ne smiješ koristiti

Veze UART, I2C i SPI služe za razgovor s modulima. Objašnjene su na stranici Kako uređaji razgovaraju.

micro:bit

Veliki pinovi

Na donjem rubu micro:bita je pet velikih pinova s rupama: P0, P1, P2, 3V i GND. Na njih spajamo kabele s krokodil štipaljkama, kao u lekciji Životi i uvjeti.

Micro:bit sprijeda s pet velikih pinova na donjem rubu: P0, P1 i P2 sivo, 3V crveno i GND crno

  • P0, P1 i P2 su pinovi za tvoje dijelove. Svaki od njih može paliti LED-icu, čitati tipkalo, mjeriti napon i osjetiti dodir. Kad držiš GND jednom rukom, a drugom dodirneš P1, micro:bit to osjeti blokom pin P1 is pressed.
  • 3V daje napajanje od oko 3 V za ono što spojiš. Iz njega smiješ uzeti malo struje: najviše 90 mA na micro:bitu V1 i 190 mA na micro:bitu V2.
  • GND je minus. Svaki dio koji spojiš na micro:bit treba i žicu do GND-a.

Micro:bit radi s 3 V

Na pin micro:bita nikada ne spajaj 5 V, na primjer s pina 5V Arduina ili iz USB punjača. Napon veći od 3,6 V može ga trajno oštetiti. Zašto je to tako, objašnjava zabluda 9.

V1 ili V2?

Postoje dvije glavne verzije micro:bita. Verzije 1.3 i 1.5 zovemo V1, a verzije 2.0 i 2.2 V2. Pinovi su im na istim mjestima i zovu se isto, pa se dijelovi spajaju jednako. Razlikuju se po onome što imaju na sebi:

micro:bit V1 (1.3, 1.5)micro:bit V2 (2.0, 2.2)
Logo iznad zaslonasamo nacrtanzlatan, osjeti dodir
Mikrofonnemaima, uz rupicu i LED-icu pokraj loga
Zvučniknema, zvuk izlazi na pin P0ima, na stražnjoj strani
Struja s pina 3Vnajviše 90 mAnajviše 190 mA
Veza I2Cista za senzore na micro:bitu i za tvoje modulesenzori na micro:bitu imaju svoju

Programi iz MakeCodea rade na objema verzijama, osim blokova za zvučnik, mikrofon i logo, koji trebaju V2.

Svi pinovi micro:bita

Između velikih pinova je još dvadeset uskih. Na njih se ne može spojiti krokodil štipaljka, nego se micro:bit utakne u priključak: u robota Maqueen ili u pločicu s pinovima za breadboard. Na slici je micro:bit okrenut tako da su svi pinovi lijevo, od P3 na vrhu do GND na dnu. Stupac V1 pokazuje za što pin koristi micro:bit V1, a stupac V2 micro:bit V2. Redovi u kojima se razlikuju obojeni su žuto: stupci zaslona na P3, P4, P6, P7, P9 i P10 te struja koju smiješ uzeti s pina 3V.

Svi pinovi micro:bita, od vrha: P3, P0, P4, P5, P6, P7, P1, P8, P9, P10, P11, P12, P2, P13 do P16, tri pina 3V, P19, P20 i tri pina GND. Zelene točke ima šest analognih ulaza, a zlatne P0, P1 i P2, koji osjete dodir. U stupcima V1 i V2 piše za što ih koristi micro:bit: na V1 su to P3 COL1, P4 COL2, P6 COL9, P7 COL8, P9 COL7 i P10 COL3, a na V2 P3 COL3, P4 COL1, P6 COL4, P7 COL2 i P10 COL5, dok je P9 slobodan. Na obje verzije P5 je tipka A, P11 tipka B, P13 do P15 SCK, MISO i MOSI, a P19 i P20 SCL i SDA. Pin 3V daje najviše 90 mA na V1 i 190 mA na V2

  • Zaslon i tipke koriste dio pinova. Smeđe oznake COL su stupci LED-ica na zaslonu, a A i B su tipke. Kad program nešto prikazuje na zaslonu, pinovi COL su zauzeti. Ako ih trebaš, zaslon isključi blokom led enable false.
  • Analogni ulazi su P0, P1, P2, P3, P4 i P10, ali P3, P4 i P10 dijele se sa zaslonom.
  • Dodir osjete P0, P1 i P2, a na micro:bitu V2 i logo.
  • P12 je rezerviran, pa ga ne koristi za svoje dijelove.
  • P13, P14 i P15 su veza SPI, a P19 i P20 veza I2C. Na micro:bitu V1 istom vezom I2C razgovaraju i senzori na micro:bitu.

Pinovi robota Maqueen

Robot Maqueen koristi ove pinove micro:bita:

PinNa robotu
P1 i P2ultrazvučni senzor (P1 šalje zvuk, P2 čeka jeku)
P8 i P12lijeva i desna crvena LED-ica
P13 i P14lijevi i desni senzor linije
P19 i P20veza I2C do čipa koji pokreće motore (adresa 0x10)

Zato na Maqueenu ultrazvučni senzor i branik ne mogu biti spojeni u isto vrijeme: oba koriste pin P1. Maqueen koristi i rezervirani pin P12, za desnu LED-icu. To je u redu, jer ga je tako predvidio proizvođač robota.

Arduino

Od ovog mjesta stranica je za Arduino radionicu.

Arduino Uno

Na radionici koristimo Arduino Uno. Na slici je okrenut tako da je USB priključak gore. Desno su digitalni pinovi, a lijevo pinovi za napajanje i analogni ulazi.

Raspored pinova Arduina Uno. Desno od vrha: SCL, SDA, AREF, GND, D13 SCK LED, D12 MISO, D11 PWM MOSI, D10 PWM SS, D9 PWM, D8, D7, D6 PWM, D5 PWM, D4, D3 PWM, D2, D1 TX, D0 RX. Lijevo od vrha: NC, IOREF, RESET, 3V3, 5V, GND, GND, VIN, A0 do A5, koji su i D14 do D19, uz A4 SDA i A5 SCL

  • D0 do D13 su digitalni pinovi. Postavljaš ih s pinMode(), a koristiš s digitalWrite() i digitalRead().
  • Pinovi s valovitom crtom (~), D3, D5, D6, D9, D10 i D11, znaju PWM, pa na njima radi analogWrite(). PWM je objašnjen u lekciji Djelilo napona, Arduino i PWM.
  • A0 do A5 su analogni ulazi. analogRead() na njima mjeri napon od 0 do 5 V i vrati broj od 0 do 1023, kao u lekciji Arduino - korak po korak. Mogu biti i obični digitalni pinovi, s brojevima 14 do 19.
  • D13 je spojen na LED-icu L na Unu, pa ona svijetli kad je na pinu HIGH.
  • D0 i D1 su veza UART, a ona je spojena i na USB. Dok je na njih spojeno nešto drugo, učitavanje programa može ne uspjeti.
  • A4 i A5 su veza I2C, a isti signali izvedeni su i na pinove SDA i SCL pokraj pina AREF. D10 do D13 su veza SPI.
  • D2 i D3 mogu pokrenuti prekid (attachInterrupt()): Arduino tada odmah reagira na promjenu na pinu, makar radio nešto drugo.

Pinovi za napajanje:

  • VIN je napon s priključka za napajanje. Preko njega se Uno može i napajati, s 7 do 12 V.
  • 5V i 3V3 daju napajanje za module. Pin 3V3 daje najviše 50 mA.
  • GND je minus. Na Unu je nekoliko pinova GND i svi su spojeni zajedno.
  • IOREF kaže modulima s kojim naponom Arduino radi (na Unu 5 V), RESET ponovno pokreće program kad ga spojiš na GND, a AREF može promijeniti najveći napon koji mjeri analogRead(). NC (not connected) nije nigdje spojen.

Razmak između pinova D7 i D8 veći je nego između ostalih (4 mm umjesto 2,54 mm). Zato se pločica s rupama na razmaku od 2,54 mm ne može izravno nataknuti na Uno.

Koliko struje smije pin Arduina

  • Iz jednog pina uzmi najviše 20 mA. To je dovoljno za LED-icu s otpornikom od 220 Ω, ali ne i za motor, servo motor ili relej.
  • Svi pinovi zajedno smiju dati najviše oko 200 mA.
  • Pin postavljen kao OUTPUT nikada ne spajaj izravno na GND ili 5V. To je kratki spoj, koji može uništiti pin.
  • Na pin ne dovodi više od 5 V, a na pin 5V ne spajaj bateriju od 9 V. Ona ide na VIN ili na priključak za napajanje.

Arduino Nano

Nano ima isti mikrokontroler kao Uno, ATmega328P, pa su i pinovi isti: D0 do D13, PWM na istim pinovima, I2C na A4 i A5, SPI na D10 do D13. Program napisan za Uno radi na Nanu bez promjena. Nano je mnogo manji (45 × 18 mm) i ima pinove s donje strane, pa ga utakneš u breadboard preko srednjeg utora.

Raspored pinova Arduina Nano s USB priključkom gore. Lijevo od vrha: D13 SCK LED, 3V3, AREF, A0 do A7, 5V, RESET, GND, VIN. Desno od vrha: D12 MISO, D11 PWM MOSI, D10 PWM SS, D9 PWM, D8, D7, D6 PWM, D5 PWM, D4, D3 PWM, D2, GND, RESET, D0 RX i D1 TX

Po čemu se razlikuje od Una:

  • Ima dva analogna ulaza više, A6 i A7. Oni mogu samo mjeriti napon s analogRead(), a ne mogu biti digitalni pinovi.
  • Nema priključak za napajanje. Napaja se preko USB-a ili preko pina VIN, sa 7 do 12 V.
  • Pinovi D0 i D1 su na dnu desnog reda, a ne na vrhu.

Arduino Mega

Mega 2560 ima mikrokontroler ATmega2560, s mnogo više pinova i memorije. Koristimo ga kad Uno nema dovoljno pinova, na primjer za mnogo tipkala i LED-ica.

Raspored pinova Arduina Mega 2560 s USB priključkom gore. Desno: SCL, SDA, AREF, GND, D13 do D2 s PWM-om, D1 TX0, D0 RX0, D14 TX3, D15 RX3, D16 TX2, D17 RX2, D18 TX1, D19 RX1, D20 SDA i D21 SCL. Lijevo: NC, IOREF, RESET, 3V3, 5V, GND, GND, VIN i A0 do A15, koji su i D54 do D69. Na dnu je dvostruki red pinova 22 do 53

Pinovi 22 do 53 nalaze se u dvostrukom redu na kraju Mege. Na sljedećoj slici Mega je okrenut tako da je USB priključak lijevo, a dvostruki red stoji uspravno: parni pinovi su u unutarnjem redu, a neparni uz rub.

Dvostruki red pinova Arduina Mega. Lijevi red od vrha: 5V, D22, D24 do D52 i GND, a desni red: 5V, D23, D25 do D53 i GND. D44, D45 i D46 imaju PWM, a D50 MISO, D51 MOSI, D52 SCK i D53 SS su veza SPI

  • D0 do D53 su digitalni pinovi, a PWM znaju D2 do D13 i D44 do D46.
  • A0 do A15 su analogni ulazi, a kao digitalni pinovi imaju brojeve 54 do 69.
  • Mega ima četiri veze UART: Serial na D0 i D1 (spojena i na USB), Serial1 na D18 i D19, Serial2 na D16 i D17 i Serial3 na D14 i D15. Modul s vezom UART zato ne mora na pinove 0 i 1.
  • Prekid mogu pokrenuti D2, D3, D18, D19, D20 i D21.
  • Pinovi za napajanje isti su kao na Unu.

I2C i SPI na Megi su na drugim pinovima

Na Megi veza I2C nije na A4 i A5, nego na D20 (SDA) i D21 (SCL), i na pinovima SDA i SCL pokraj pina AREF. Veza SPI nije na D10 do D13, nego na D50 do D53. Modul koji je na Unu radio na A4 i A5 ili na D11 do D13 na Megi treba prespojiti.

Arduino Giga R1 WiFi

Giga ima isti oblik kao Mega i iste konektore, ali je iznutra posve drukčija. Mikrokontroler STM32H747XI ima dvije jezgre, od 480 MHz i 240 MHz, 2 MB memorije za program i 1 MB RAM-a, a na Gigi je uz njega još 16 MB flash memorije i 8 MB SDRAM-a. Ima Wi-Fi i Bluetooth, audio priključak, priključke za kameru i zaslon te dva USB priključka. Koristimo je za projekte koji trebaju mnogo brzine i memorije ili vezu s mrežom.

Raspored pinova Arduina Giga R1 WiFi s USB priključcima gore. Desno: SCL1, SDA1, AREF, GND, D13 do D2 s PWM-om, uz D13 SCK, D12 MISO, D11 MOSI, D10 SS, D9 SDA i D8 SCL, zatim D1 TX0, D0 RX0, D14 TX3, D15 RX3, D16 TX2, D17 RX2, D18 TX1, D19 RX1, D20 SDA i D21 SCL. Lijevo: OFF, GND, VRTC, zatim NC, IOREF, RESET, 3V3, 5V, GND, GND, VIN, A0 do A7, koji su i D76 do D83, A8 do A11, DAC0 (D84), DAC1 (D85), CAN RX (D93) i CAN TX (D94). Na dnu je dvostruki red pinova 22 do 53

Giga radi s 3,3 V

Pinovi Gige rade s 3,3 V, a ne s 5 V kao na Unu i Megi. Na njih ne dovodi 5 V, ni s modula koji radi s 5 V. Iz jednog pina uzmi najviše 8 mA, a iz svih zajedno najviše 140 mA. Crvena LED-ica s otpornikom od 220 Ω na Gigi dobije oko 7 mA, što je u redu. Plavoj i bijeloj, kojima treba oko 3 V, ostaje premalo napona, pa jedva svijetle.

Po čemu se razlikuje od Mege:

  • I2C ima tri: na D20 i D21, na pinovima SDA1 i SCL1 pokraj pina AREF te na D8 i D9. Na Megi su D20 i D21 i pinovi pokraj AREF ista veza, a na Gigi su to dvije različite veze.
  • SPI je na D10 do D13, kao na Unu, i na šest pinova u sredini Gige.
  • Četiri veze UART na istim su pinovima kao na Megi, ali se u programu zovu drukčije. Serial ide samo preko USB-C priključka u serijski monitor, Serial1 je na D0 i D1, Serial2 na D18 i D19, Serial3 na D16 i D17, a Serial4 na D14 i D15. Program za Megu koji koristi Serial1 na D18 i D19 na Gigi zato treba Serial2.
  • PWM znaju D2 do D13. Pinovi 22 do 53 na dvostrukom redu, raspoređeni kao na Megi, obični su digitalni pinovi, bez PWM-a i bez SPI-ja.
  • A0 do A7 su analogni ulazi, a kao digitalni pinovi imaju brojeve 76 do 83. A8 do A11 mogu samo mjeriti napon.
  • DAC0 i DAC1 su analogni izlazi: na njima Giga stvara pravi napon između 0 i 3,3 V, a ne PWM. Isti signali idu i na audio priključak.
  • CAN RX i CAN TX su veza CAN, koja se koristi u automobilima i strojevima. Za nju treba još jedan čip, CAN transceiver.
  • OFF isključi cijelu Gigu kad ga spojiš na GND. Na VRTC se spaja gumb-baterija koja drži sat u mikrokontroleru dok je Giga isključena. Giga se preko njega ne može napajati.
  • Na Gigi je RGB LED-ica na D86, D87 i D88, koja svijetli kad je na pinu LOW.
  • EEPROM nema. Podaci koji moraju ostati sačuvani kad se Giga isključi spremaju se u flash memoriju: pomoću sučelja KVStore iz sustava Mbed OS ili na vanjsku QSPI flash memoriju od 16 MB na Gigi.
  • VIN prima 6 do 24 V. USB-C služi za računalo i napajanje, a USB-A samo za uređaje poput tipkovnice ili USB sticka. Preko USB-A Giga se ne može napajati.
  • Wi-Fi i Bluetooth rade samo kad je na mali priključak antene uz tipku RESET spojena antena. Ona dolazi uz Gigu.

Uno, Nano, Mega i Giga jedan do drugoga

UnoNanoMega 2560Giga R1 WiFi
MikrokontrolerATmega328PATmega328PATmega2560STM32H747XI
Napon pinova5 V5 V5 V3,3 V
Struja po pinu20 mA20 mA20 mA8 mA
Digitalni pinovi14 (D0–D13)14 (D0–D13)54 (D0–D53)76
PWM661513
Analogni ulazi6 (A0–A5)8 (A0–A7)16 (A0–A15)12 (A0–A11)
Analogni izlazi–––2 (DAC0, DAC1)
Veze UART1144
I2C (SDA, SCL)A4, A5A4, A5D20, D21D20, D21 i još dvije
SPI (MOSI, MISO, SCK, SS)D11, D12, D13, D10D11, D12, D13, D10D51, D50, D52, D53D11, D12, D13, D10
Memorija za program32 KB32 KB256 KB2 MB
Radna memorija (RAM)2 KB2 KB8 KB1 MB
EEPROM1 KB1 KB4 KBnema
Veličina69 × 53 mm45 × 18 mm102 × 53 mm101 × 53 mm

Po čemu se ti Arduini još razlikuju, kako se napajaju i koji odabrati, piše na stranici Arduino Uno, Nano, Mega i Giga.

Imena umjesto brojeva

Arduino IDE za svaki Arduino zna koji je pin I2C, koji SPI i na kojem je LED-ica. Zato u programu možeš pisati imena pinova umjesto brojeva: LED_BUILTIN, SDA, SCL, MOSI, MISO, SCK, SS i A0. Kad odabereš drugi Arduino, ime dobije pravi broj, a program radi bez promjena. Biblioteke Wire (I2C) i SPI same uzimaju prave pinove.

Ovaj program ispisuje koji broj stoji iza svakog imena:

// Ispisuje koji broj pina stoji iza svakog imena na ovom Arduinu.
// Učitaj ga na Uno, pa na Megu, i usporedi ispis u serijskom monitoru.

void ispisi(const char *ime, int pin) {
  Serial.print(ime);
  Serial.print(" = ");
  Serial.println(pin);
}

void setup() {
  Serial.begin(9600);
  ispisi("LED_BUILTIN", LED_BUILTIN);
  ispisi("A0", A0);
  ispisi("SDA", SDA);
  ispisi("SCL", SCL);
  ispisi("MOSI", MOSI);
  ispisi("MISO", MISO);
  ispisi("SCK", SCK);
  ispisi("SS", SS);
}

void loop() {
}

U serijskom monitoru Uno i Nano ispišu:

LED_BUILTIN = 13
A0 = 14
SDA = 18
SCL = 19
MOSI = 11
MISO = 12
SCK = 13
SS = 10

a Mega:

LED_BUILTIN = 13
A0 = 54
SDA = 20
SCL = 21
MOSI = 51
MISO = 50
SCK = 52
SS = 53

Milijun micro:bitova

Micro:bit je napravio BBC, britanska radiotelevizija, s mnogo partnera. Godine 2016. podijelio ga je besplatno, oko milijun komada, svim učenicima koji su te godine u Velikoj Britaniji krenuli u srednju školu, s 11 ili 12 godina.

Što smo naučili?

  • Raspored pinova (pinout) je karta koja pokazuje gdje je koji pin i što može.
  • Micro:bit ima pet velikih pinova, P0, P1, P2, 3V i GND, i radi s 3 V. Na njegov pin nikada ne spajamo 5 V.
  • Micro:bit V1 i V2 imaju iste pinove, ali V2 ima i zvučnik, mikrofon i logo koji osjeti dodir.
  • Uno i Nano imaju iste pinove: PWM na D3, D5, D6, D9, D10 i D11, I2C na A4 i A5, SPI na D10 do D13.
  • Mega ima mnogo više pinova, ali I2C i SPI su mu na drugim pinovima nego na Unu.
  • Giga ima iste konektore kao Mega, ali radi s 3,3 V i iz pina daje najviše 8 mA.
  • Iz pina Arduina uzimamo najviše 20 mA, a u programu pišemo imena pinova umjesto brojeva.

Mali kviz

1. Koje velike pinove ima micro:bit?
P0, P1 i P2, na koje spajamo svoje dijelove, te 3V (napajanje) i GND (minus).
2. Smiješ li pin micro:bita spojiti na pin 5V Arduina?
Ne. Micro:bit radi s 3 V, a napon veći od 3,6 V može ga trajno oštetiti.
3. Po čemu na prvi pogled prepoznaš micro:bit V2?
Logo iznad zaslona je zlatan i osjeti dodir, a pokraj njega su rupica mikrofona i mala LED-ica. Na stražnjoj strani je zvučnik.
4. Na koje pinove Arduina Uno spojiš LED-icu kojoj želiš mijenjati jačinu svjetla s analogWrite()?
Na pin koji zna PWM, označen valovitom crtom (~): D3, D5, D6, D9, D10 ili D11.
5. Modul s vezom I2C na Unu je bio spojen na A4 i A5. Kamo ga spajaš na Megi?
Na D20 (SDA) i D21 (SCL), ili na pinove SDA i SCL pokraj pina AREF.
6. Smiješ li modul koji radi s 5 V spojiti na pinove Gige?
Ne izravno. Giga radi s 3,3 V, pa joj 5 V na pinu može naškoditi. Između njih treba pretvarač razina ili modul koji radi s 3,3 V.
7. Zašto je bolje u programu pisati LED_BUILTIN nego 13?
Ime ima pravi broj za svaki Arduino, pa program radi i kad promijeniš Arduino.