Arduino Leonardo with Headers

Zasilanie

Arduino Leonardo może być zasilane przez złącze micro USB lub za pomocą zewnętrznego zasilacza. Źródło zasilania jest wybierane automatycznie.
Zewnętrzne (nieUSB) zasilanie może pochodzić z zasilacza AC-to-DC (wall-wart) lub baterii. Zasilacz można podłączyć przez włożenie wtyczki 2,1 mm do gniazda zasilania na płycie. Przewody z akumulatora można podłączyć do pinów Gnd i Vin złącza POWER.
Piny zasilania są następujące:

  • VIN. Napięcie wejściowe do płytki Arduino, gdy korzysta ona z zewnętrznego źródła zasilania (w przeciwieństwie do 5 V ze złącza USB lub innego regulowanego źródła zasilania). Możesz podawać napięcie przez ten pin lub, jeśli podajesz napięcie przez gniazdo zasilania, uzyskać do niego dostęp przez ten pin.
  • 5V. Regulowane zasilanie używane do zasilania mikrokontrolera i innych elementów na płytce. Może pochodzić albo z VIN poprzez wbudowany regulator, albo być dostarczane przez USB lub inne regulowane źródło 5V.
  • 3V3. Zasilanie 3,3 V generowane przez wbudowany regulator. Maksymalny pobór prądu wynosi 50 mA.
  • GND. Piny masy.
  • IOREF. Napięcie, przy którym pracują piny i/o płytki (tj. VCC dla płytki). W Leonardo jest to 5V.

Pamięć

Pamięć ATmega32u4 ma 32 KB (z 4 KB używanymi dla bootloadera). Posiada również 2.5 KB pamięci SRAM i 1 KB pamięci EEPROM (która może być odczytywana i zapisywana za pomocą biblioteki EEPROM).

Wejście i wyjście

Każdy z 20 cyfrowych pinów i/o w Leonardo może być użyty jako wejście lub wyjście, używając funkcjipinMode(), digitalWrite(), i digitalRead(). Działają one przy napięciu 5 V. Każdy pin może dostarczyć lub odebrać maksymalnie 40 mA i posiada wewnętrzny rezystor podciągający (domyślnie odłączony) o wartości 20-50 kOhm. Dodatkowo niektóre piny mają wyspecjalizowane funkcje:

  • Serial: 0 (RX) i 1 (TX). Używane do odbierania (RX) i nadawania (TX) danych szeregowych TTL przy użyciu sprzętowych możliwości szeregowychATmega32U4. Zauważ, że w Leonardo, klasa Serial odnosi się do komunikacji USB (CDC); dla szeregu TTL na pinach 0 i 1, użyj klasy Serial1.
  • TWI: 2 (SDA) i 3 (SCL). Obsługa komunikacji TWI przy użyciu biblioteki Wire.
  • Zewnętrzne przerwania: 3 (przerwanie 0), 2 (przerwanie 1), 0 (przerwanie 2), 1 (przerwanie 3) i 7 (przerwanie 4). Te piny mogą być skonfigurowane do wyzwalania przerwania przy niskiej wartości, rosnącym lub opadającym zboczu, lub zmianie wartości. Zobacz funkcję attachInterrupt() po szczegóły.
  • PWM: 3, 5, 6, 9, 10, 11, i 13. Zapewniają 8-bitowe wyjście PWM z funkcją analogWrite().
  • SPI: na nagłówku ICSP. Piny te obsługują komunikację SPI przy użyciu biblioteki SPI. Zauważ, że piny SPI nie są podłączone do żadnego z cyfrowych pinów I/O, tak jak to jest w Uno, są one dostępne tylko na złączu ICSP. Oznacza to, że jeśli posiadasz shield, który używa SPI, ale NIE posiada 6-pinowego złącza ICSP, które łączy się z 6-pinowym nagłówkiem ICSP Leonardo, shield nie będzie działał.
  • LED: 13. Istnieje wbudowana dioda LED podłączona do cyfrowego pinu 13. Gdy pin ma wartość HIGH, dioda LED jest włączona, gdy pin ma wartość LOW, jest wyłączona.
  • Wejścia analogowe: A0-A5, A6 – A11 (na pinach cyfrowych 4, 6, 8, 9, 10, i 12). Leonardo posiada 12 wejść analogowych, oznaczonych od A0 do A11, z których wszystkie mogą być również używane jako cyfrowe wejścia/wyjścia. Piny A0-A5 znajdują się w tych samych miejscach co na Uno; wejścia A6-A11 są na cyfrowych pinach i/o odpowiednio 4, 6, 8, 9, 10, i 12. Każde wejście analogowe zapewnia 10 bitów rozdzielczości (tj. 1024 różnych wartości). Domyślnie wejścia analogowe mierzą od masy do 5 V, choć możliwa jest zmiana górnej granicy ich zakresu za pomocą pinu AREF i funkcji analogReference().

Na płytce znajduje się jeszcze kilka innych pinów:

  • AREF. Napięcie odniesienia dla wejść analogowych. Używane z funkcją analogReference().
  • Reset. Doprowadzenie tej linii do stanu niskiego resetuje mikrokontroler. Zazwyczaj używany do dodania przycisku reset do shieldów, które blokują ten na płycie.

Zobacz także mapowanie pomiędzy pinami Arduino i portami ATmega32u4.

Komunikacja

Płytka Leonardo posiada szereg udogodnień do komunikacji z komputerem, innym Arduino lub innymi mikrokontrolerami. ATmega32U4 zapewnia komunikację szeregową UART TTL (5V), która jest dostępna na pinach cyfrowych 0 (RX) i 1 (TX). 32U4 umożliwia również komunikację szeregową (CDC) przez USB i pojawia się jako wirtualny port com dla oprogramowania na komputerze. Układ działa również jako urządzenie USB 2.0 o pełnej prędkości, wykorzystując standardowe sterowniki USB COM. W systemie Windows wymagany jest plik .inf. Oprogramowanie Arduino zawiera monitor szeregowy, który pozwala na wysyłanie prostych danych tekstowych do i z płytki Arduino. Diody LED RX i TX na płytce będą migać, gdy dane są przesyłane przez połączenie USB do komputera (ale nie w przypadku komunikacji szeregowej na pinach 0 i 1). Biblioteka SoftwareSerial pozwala na komunikację szeregową na dowolnych pinach cyfrowych Leonardo. Układ ATmega32U4 obsługuje również komunikację I2C (TWI) oraz SPI. Oprogramowanie Arduino zawiera bibliotekę Wire, która upraszcza korzystanie z magistrali I2C; szczegóły w dokumentacji. Do komunikacji SPI należy użyć biblioteki SPI. Leonardo pojawia się jako ogólna klawiatura i mysz, i może być zaprogramowany do sterowania tymi urządzeniami wejściowymi za pomocą klas Keyboard i Mouse.

Programowanie

Leonardo może być programowany za pomocą oprogramowania Arduino (pobierz). Wybierz „Arduino Leonardo z menu Tools > Board (zgodnie z mikrokontrolerem na twojej płytce). Aby uzyskać szczegółowe informacje, zobacz referencje i tutoriale. Mikrokontroler ATmega32U4 w Arduino Leonardo jest fabrycznie wyposażony w bootloader, który pozwala na wgranie do niego nowego kodu bez użycia zewnętrznego programatora sprzętowego. Komunikuje się on za pomocą protokołu AVR109. Możesz także obejść bootloader i zaprogramować mikrokontroler przez ICSP (In-Circuit Serial Programming) używając Arduino ISP lub podobnego; zobacz te instrukcje dla szczegółów.

Automatyczny (programowy) reset i inicjacja bootloadera

Raczej niż wymaga fizycznego naciśnięcia przycisku reset przed załadowaniem, Leonardo jest zaprojektowany w sposób, który pozwala na jego zresetowanie przez oprogramowanie działające na podłączonym komputerze. Reset jest wyzwalany, gdy wirtualny (CDC) port szeregowy / COM Leonardo jest otwarty przy 1200 baud, a następnie zamknięty. Kiedy to nastąpi, procesor zresetuje się, przerywając połączenie USB z komputerem (co oznacza, że wirtualny port szeregowy / COM zniknie). Po zresetowaniu procesora uruchamia się bootloader, który pozostaje aktywny przez około 8 sekund. Bootloader może być również zainicjowany przez naciśnięcie przycisku reset na Leonardo. Zauważ, że kiedy płytka po raz pierwszy się włączy, przeskoczy od razu do szkicu użytkownika, jeśli jest obecny, zamiast inicjować bootloader.
Z powodu sposobu, w jaki Leonardo obsługuje reset, najlepiej jest pozwolić oprogramowaniu Arduino spróbować zainicjować reset przed załadowaniem, zwłaszcza jeśli masz zwyczaj wciskania przycisku reset przed załadowaniem na innych płytkach. Jeśli oprogramowanie nie może zresetować płytki, zawsze możesz uruchomić bootloader przez naciśnięcie przycisku reset na płytce.

Ochrona nadprądowa USB

Leonardo posiada resetowalny bezpiecznik polifuzyjny, który chroni porty USB twojego komputera przed zwarciami i nadprądem. Chociaż większość komputerów posiada własne zabezpieczenia wewnętrzne, bezpiecznik zapewnia dodatkową warstwę ochrony. Jeśli do portu USB zostanie podłączone więcej niż 500 mA, bezpiecznik automatycznie przerwie połączenie do czasu usunięcia zwarcia lub przeciążenia.

Charakterystyka fizyczna

Maksymalna długość i szerokość płytki drukowanej Leonardo wynosi odpowiednio 2,7 i 2,1 cala, przy czym złącze USB i gniazdo zasilania wykraczają poza ten pierwszy wymiar. Cztery otwory na śruby pozwalają na przymocowanie płytki do powierzchni lub obudowy. Zwróć uwagę, że odległość między cyfrowymi pinami 7 i 8 wynosi 160 mil (0,16″), a nie jest równą wielokrotnością 100 mil odstępu między innymi pinami.

.

Dodaj komentarz