Arduino Uno

Arduino UNO
Arduino Logo.svg
Arduino Uno - R3.jpg
Arduino Uno SMD R3
Deweloper Arduino
Producent Wiele
Typ Mikrokontroler jednopłytkowy
Dostępność https://store.arduino.cc/usa/
System operacyjny Nic
procesor Mikroczip AVR (8-bitowy)
Pamięć SRAM
Składowanie Flash , EEPROM

Arduino Uno to płytka mikrokontrolera typu open source oparta na mikrokontrolerze Microchip ATmega328P , opracowana przez Arduino.cc i pierwotnie wydana w 2010 r. Płytka jest wyposażona w zestawy cyfrowych i analogowych styków wejścia/wyjścia (I/O), które mogą być podłączony do różnych kart rozszerzeń (ekranów) i innych obwodów. Płytka ma 14 cyfrowych pinów I/O (sześć z możliwością PWM ), 6 analogowych pinów I/O i jest programowalna za pomocą Arduino IDE (Integrated Development Environment) za pomocą kabla USB typu B. Może być zasilany kablem USB lub złączem baryłkowym, które akceptuje napięcia od 7 do 20 woltów, na przykład prostokątną baterią 9-woltową . Jest podobny do Arduino Nano i Leonardo. Projekt referencyjny sprzętu jest rozpowszechniany na Creative Commons Attribution Share-Alike 2.5 i jest dostępny na stronie internetowej Arduino. Dostępne są również pliki układu i produkcji dla niektórych wersji sprzętu.

Słowo „ uno ” oznacza po włosku „jeden” i zostało wybrane w celu zaznaczenia poważnego przeprojektowania sprzętu i oprogramowania Arduino. Płyta Uno była następcą wersji Duemilanove i była dziewiątą wersją z serii płyt Arduino opartych na USB. Wersja 1.0 Arduino IDE dla płyty Arduino Uno ewoluowała do nowszych wersji. ATmega328 na płycie jest fabrycznie zaprogramowana z bootloaderem , który umożliwia załadowanie do niej nowego kodu bez użycia zewnętrznego programatora sprzętowego.

Podczas gdy Uno komunikuje się za pomocą oryginalnego protokołu STK500, różni się od wszystkich poprzednich płyt tym, że nie wykorzystuje szeregowego układu FTDI USB-to-UART. Zamiast tego wykorzystuje Atmega16U2 (Atmega8U2 do wersji R2) zaprogramowany jako konwerter USB-szeregowy .

Historia

Płyta szeregowa Arduino RS232 - poprzednik z ATmega8

Projekt Arduino rozpoczął się w Interaction Design Institute Ivrea (IDII) w Ivrea we Włoszech. W tym czasie studenci korzystali z BASIC Stamp , kosztem, który dla wielu studentów był sporym wydatkiem . W 2003 roku Hernando Barragán stworzył platformę programistyczną Wiring jako projekt pracy magisterskiej w IDII, pod nadzorem Massimo Banzi i Casey Reas, którzy są znani z pracy nad językiem Processing . Celem projektu było stworzenie prostych, tanich narzędzi do tworzenia cyfrowych projektów przez osoby niebędące inżynierami. Platforma okablowania składała się z płytki drukowanej (PCB) z mikrokontrolerem ATmega 168, IDE opartym na przetwarzaniu oraz funkcji bibliotecznych ułatwiających programowanie mikrokontrolera. W 2003 roku Massimo Banzi wraz z Davidem Mellisem, innym studentem IDII, oraz Davidem Cuartiellesem, dodali obsługę tańszego mikrokontrolera ATmega8 do Wiring. Ale zamiast kontynuować prace nad okablowaniem, rozwidlili projekt i zmienili jego nazwę na Arduino . Wczesne arduino wykorzystywały układ szeregowy FTDI USB-to-UART i ATmega 168. Uno różniło się od wszystkich poprzednich płyt tym, że zawierało mikrokontroler ATmega328P i ATmega16U2 (Atmega8U2 do wersji R2) zaprogramowane jako konwerter USB-szeregowy.

Specyfikacja techniczna

  • Cyfrowe piny wejścia/wyjścia: 14
  • Kołki PWM: 6 (Pin nr 3, 5, 6, 9, 10 i 11)
  • Piny wejścia analogowego: 6
  • Prąd stały na pin we/wy: 20 mA
  • Prąd stały dla pinu 3,3 V: 50 mA
  • Długość: 68,6 mm
  • Szerokość: 53,4 mm
  • Waga: 25 g
  • Nagłówek ICSP: Tak
  • Źródła energii:
  • Złącze USB. Magistrala USB ma zakres napięcia od 4,75 do 5,25 woltów. Oficjalne płyty Uno mają złącze USB-B, ale płyty Uno innych firm mogą mieć złącze miniUSB lub microUSB.
  • Złącze jack baryłkowe 5,5 mm/2,1 mm. Oficjalne płyty Uno obsługują napięcie od 6 do 20 woltów, chociaż zalecane jest napięcie od 7 do 12 woltów. Maksymalne napięcie dla płyt Uno innych firm różni się w zależności od producenta płyty, ponieważ stosowane są różne regulatory napięcia, z których każdy ma inną maksymalną wartość znamionową wejścia. Zasilanie do tego złącza jest kierowane przez szeregową diodę przed podłączeniem do VIN, aby zabezpieczyć się przed przypadkowymi odwrotnymi sytuacjami napięcia.
  • Pin VIN na nagłówku tarczy. Ma podobny zakres napięć do gniazda lufowego. Ponieważ ten pin nie ma zabezpieczenia przed napięciem wstecznym, moc może być wtryskiwana lub pobierana z tego pinu. Podczas zasilania pinu VIN wymagana jest zewnętrzna dioda szeregowa w przypadku użycia gniazda cylindrycznego. Gdy płyta jest zasilana przez gniazdo cylindryczne, zasilanie można wyciągnąć z tego styku.

Nagłówki

Arduino-uno-pinout.png

Ogólne funkcje pinów

  • LED : Wbudowana dioda LED sterowana przez cyfrowy pin 13. Gdy pin ma wysoką wartość, dioda LED jest włączona, gdy pin jest niski, jest wyłączona.
  • VIN : Napięcie wejściowe do płyty Arduino/Genuino, gdy korzysta ona z zewnętrznego źródła zasilania (w przeciwieństwie do 5 woltów z połączenia USB lub innego regulowanego źródła zasilania). Możesz dostarczać napięcie przez ten styk lub, jeśli dostarczasz napięcie przez gniazdo zasilania, uzyskać do niego dostęp przez ten styk.
  • 5V : Ten pin wyprowadza regulowane napięcie 5V z regulatora na płytce. Płytka może być zasilana zarówno z gniazda zasilania DC (7 - 20V), złącza USB (5V), jak i z pinu VIN płytki (7-20V). Podanie napięcia poprzez piny 5V lub 3,3V omija regulator i może uszkodzić płytkę.
  • 3V3 : Zasilanie 3,3 V generowane przez pokładowy regulator. Maksymalny pobór prądu wynosi 50 mA.
  • GND : Kołki uziemiające.
  • IOREF : Ten pin na płycie Arduino/Genuino zapewnia napięcie odniesienia, z którym działa mikrokontroler. Odpowiednio skonfigurowana nakładka może odczytać napięcie pinu IOREF i dobrać odpowiednie źródło zasilania lub włączyć translatory napięć na wyjściach do pracy z napięciem 5V lub 3,3V.
  • Reset : Zwykle używany do dodania przycisku resetowania do tarcz, które blokują przycisk na planszy.

Specjalne funkcje pinów

Każdy z 14 pinów cyfrowych i 6 pinów analogowych w Uno może być używany jako wejście lub wyjście, pod kontrolą oprogramowania (za pomocą funkcji pinMode(), digitalWrite() i digitalRead()). Działają przy napięciu 5 woltów. Każdy pin może dostarczać lub odbierać 20 mA jako zalecane warunki pracy i ma wewnętrzny rezystor podciągający (domyślnie odłączony) o wartości 20-50 kiloomów. Maksymalnie 40mA nie może zostać przekroczone na żadnym styku I/O, aby uniknąć trwałego uszkodzenia mikrokontrolera. Uno ma 6 wejść analogowych, oznaczonych od A0 do A5; każdy zapewnia 10 bitów rozdzielczości (tj. 1024 różne wartości). Domyślnie mierzą od masy do 5 woltów, chociaż można zmienić górną granicę zakresu za pomocą pinu AREF i funkcji analogReference().

Ponadto niektóre piny mają wyspecjalizowane funkcje:

  • Szeregowy / UART : piny 0 (RX) i 1 (TX). Służy do odbierania (RX) i przesyłania (TX) danych szeregowych TTL. Piny te są podłączone do odpowiednich pinów układu szeregowego USB-to-TTL ATmega8U2.
  • Przerwania zewnętrzne : styki 2 i 3. Te styki można skonfigurować tak, aby wyzwalały przerwanie przy niskiej wartości, zboczu narastającym lub opadającym lub zmianie wartości.
  • PWM (modulacja szerokości impulsu): piny 3, 5, 6, 9, 10 i 11. Może zapewnić 8-bitowe wyjście PWM z funkcją analogWrite().
  • SPI (szeregowy interfejs urządzeń peryferyjnych): styki 10 (SS), 11 (MOSI), 12 (MISO) i 13 (SCK). Te piny obsługują komunikację SPI z wykorzystaniem biblioteki SPI.
  • TWI (interfejs dwuprzewodowy) / I²C : pin SDA (A4) i pin SCL (A5). Obsługa komunikacji TWI za pomocą biblioteki Wire.
  • AREF (odniesienie analogowe): Napięcie odniesienia dla wejść analogowych.

Komunikacja

Arduino UNO

Arduino/Genuino Uno posiada szereg możliwości komunikacji z komputerem, inną płytką Arduino/Genuino lub innymi mikrokontrolerami. ATmega328 zapewnia komunikację szeregową UART TTL (5 V), która jest dostępna na cyfrowych pinach 0 (RX) i 1 (TX). ATmega16U2 na płycie kieruje tę komunikację szeregową przez USB i pojawia się jako wirtualny port komunikacyjny do oprogramowania na komputerze. Oprogramowanie układowe 16U2 wykorzystuje standardowe sterowniki USB COM i nie jest potrzebny żaden zewnętrzny sterownik. Jednak w systemie Windows wymagany jest plik .inf. Oprogramowanie Arduino (IDE) zawiera monitor szeregowy, który umożliwia wysyłanie prostych danych tekstowych do iz płytki. Diody LED RX i TX na płycie będą migać, gdy dane są przesyłane przez układ USB-szeregowy i połączenie USB do komputera (ale nie w przypadku komunikacji szeregowej na stykach 0 i 1). Biblioteka SoftwareSerial umożliwia komunikację szeregową na dowolnym cyfrowym styku Uno.

Reset automatyczny (programowy).

Zamiast wymagać fizycznego naciśnięcia przycisku resetowania przed przesłaniem, płyta Arduino/Genuino Uno została zaprojektowana w sposób umożliwiający zresetowanie jej przez oprogramowanie działające na podłączonym komputerze. Jedna ze sprzętowych linii sterowania przepływem (DTR) ATmega8U2/16U2 jest połączona z linią resetowania ATmega328 przez kondensator 100 nanofaradów. Kiedy ta linia jest potwierdzona (zajęta nisko), linia resetowania opada wystarczająco długo, aby zresetować chip.

Ta konfiguracja ma inne implikacje. Kiedy Uno jest podłączone do komputera z systemem Mac OS X lub Linux, resetuje się za każdym razem, gdy nawiązywane jest połączenie z oprogramowaniem (przez USB). Przez następne pół sekundy bootloader działa na Uno. Chociaż jest zaprogramowany tak, aby ignorować zniekształcone dane (tj. wszystko poza przesyłaniem nowego kodu), przechwyci kilka pierwszych bajtów danych wysłanych do karty po otwarciu połączenia.

Zobacz też

Atrybucja:

Ten artykuł zawiera tekst dostępny na licencji CC BY-SA 3.0 .

Dalsza lektura

Linki zewnętrzne

Schematy pinów
Mechaniczny