Spisu treści:

Podstawowy samouczek Arduino dla początkujących: 6 kroków
Podstawowy samouczek Arduino dla początkujących: 6 kroków

Wideo: Podstawowy samouczek Arduino dla początkujących: 6 kroków

Wideo: Podstawowy samouczek Arduino dla początkujących: 6 kroków
Wideo: Kurs Arduino #1: Wstęp - Jak zacząć przygodę z Arduino (od podstaw) 2024, Lipiec
Anonim
Podstawowy samouczek Arduino dla początkujących
Podstawowy samouczek Arduino dla początkujących
Podstawowy samouczek Arduino dla początkujących
Podstawowy samouczek Arduino dla początkujących

1. Co to jest Arduino?

Arduino to platforma dla systemów wbudowanych, oparta w większości na 8-bitowych mikrokontrolerach z rodziny AVR. Wyjątkiem jest Arduino Due, który wykorzystuje 32-bitowy rdzeń ARM Cortex. Innymi słowy, jest to płytka drukowana z mikrokontrolerem i jej wyjściami zdolna do obsługi urządzeń zewnętrznych, np. czujników, sterowników silników, wyświetlaczy itp. Dzięki złączom goldpin moduły można łączyć za pomocą ogólnodostępnych kabli połączeniowych.

Większość wersji Arduino nie wymaga żadnego zewnętrznego programatora. Wystarczy podłączyć do komputera kablem miniUSB-USB.

Jedną z zalet platformy jest własne darmowe środowisko z niezliczoną ilością bibliotek, przykładów, tutoriali do obsługi różnego rodzaju urządzeń zewnętrznych.

2. Dla kogo jest platforma?

Arduino przeznaczone jest zarówno dla początkujących, jak i zaawansowanych programistów elektronicznych.

Osoba rozpoczynająca przygodę z tego typu systemem zaoszczędzi mnóstwo czasu i nerwów podczas konfigurowania programistów, sprawdzania połączeń i instalowania sterowników. Powszechnie wiadomo, że najlepiej uczyć się na przykładach. W przypadku Arduino jest ich wiele na stronie projektu i w całym Internecie.

Bardziej zaawansowanym użytkownikom spodobają się liczne biblioteki, zarówno te domyślne (m.in.: EEPROM, Ethernet, Display, Servo, SPI, TWI, WiFi), jak i pliki udostępniane przez producentów modułów elektronicznych (np. naszego dostawcę - Pololu).

Przykład:

Obsługa popularnego wyświetlacza LCD 16x2 sprowadza się do kilku prostych linijek kodu:

LCD LiquidCrystal (12, 11, 5, 4, 3, 2); // przyrost leadów

lcd.początek (16, 2); // Określ 16-kolumnowy typ wyświetlania, 2 linie

lcd.print ("Witaj świecie"); // Podaj tekst do wyświetlenia

Pełny kod wyświetlający słowa „Hello World” oraz schemat podłączenia wyświetlacza można znaleźć pod adresem: Arduino.cc.

3. Którą wersję wybrać?

Wybór wersji uzależniony jest od przeznaczenia modułu. W naszym sklepie dostępne są:

Krok 1: Arduino Uno R3

Arduino Uno R3
Arduino Uno R3

Arduino Uno R3

Najprostsza wersja modułu. Na talerzu znajdziesz:

· Mikrokontroler Atmega328 (32kB Flash, SRAM 2kB, taktowanie 16MHz)

· 14 cyfrowych wejść/wyjść - do których można podłączyć np. diody LED, przyciski, wyświetlacze itp.

· 6 wyjść PWM - np. do sterowania prędkością obrotową silników, ustawiania pozycji serwa

· 6 wejść analogowych - pozwalających na obsługę wszelkiego rodzaju czujników, przetworników z wyjściem analogowym

Interfejsy komunikacyjne:

· UART - jeden z najprostszych sposobów wymiany danych z komputerem PC

· I2C/TWI - obsługa czujników, obwodów czasowych

· SPI - komunikacja z szybkimi przetwornikami lub pamięciami zewnętrznymi

Zasilacz:

· USB lub źródło zewnętrzne (np. zasilacz sieciowy)

Arduino Uno to dobry wybór do stosunkowo prostych, niewielkich projektów. Z powodzeniem można go zrealizować np. sterowanie silnikiem, sterownik oświetlenia z interfejsem użytkownika, wyświetlacz LCD. Moduł polecany również użytkownikom wkraczającym w świat mikrokontrolerów i systemów wbudowanych.

Krok 2: Arduino Leonardo

Arduino Leonardo
Arduino Leonardo

Arduino Leonardo

· Kolejna wersja, na której możemy znaleźć:

· Mikrokontroler ATmega32u4 (32kB Flash, 2,5kB SRAM, taktowanie 16MHz)

· 20 cyfrowych wejść/wyjść - do których można podłączyć np. diody LED, przyciski, wyświetlacze itp.

· 7 wyjść PWM

· 12 wejść analogowych - dwa razy więcej niż w wersji Uno, oznacza to możliwość podłączenia większej liczby czujników z wyjściem analogowym

Interfejsy komunikacyjne:

· UART - jeden z najprostszych sposobów wymiany danych z komputerem PC

· I2C/TWI - obsługa czujników, obwodów czasowych

· SPI - komunikacja z szybkimi przetwornikami lub pamięciami zewnętrznymi

· USB - umożliwia podłączenie popularnych urządzeń komputerowych

· Zasilanie: USB lub źródło zewnętrzne (np. zasilacz sieciowy)

Jeśli nasz projekt ma wykorzystać urządzenie, które łączy się przez interfejs USB, Arduino Leonardo będzie idealnym wyborem. System posiada zintegrowany kontroler USB, co wyróżnia go spośród innych.

Producent udostępnia również wersje z „niskim profilem”. Płytka nie posiada złącz, użytkownik może je przylutować według własnego uznania. Wszystkie elementy są w obudowach lutowanych powierzchniowo. Opcja przydatna, gdy nasz projekt ma się rozmnażać na małej przestrzeni.

Krok 3: Arduino Mega 2560

Arduino Mega 2560
Arduino Mega 2560

Arduino Mega 2560

Wersja przeznaczona do realizacji bardziej rozbudowanych projektów. Posiada aż 54 cyfrowe wejścia/wyjścia, więcej pamięci i więcej interfejsów komunikacyjnych niż Arduino UNO i Leonardo. Płytka zawiera: ATmega2560 z rodziny AVR (Flash 256kB, SRAM 8kB, EEPROM 4kb taktowanie 16MHz)54 wejścia/wyjścia cyfrowe ogólnego przeznaczenia14 wyjść PWM16 wejść analogowych -Interfejsy komunikacyjne:4 xUART - jeden z najprostszych sposobów wymiany danych z PCI2C/TWI - obsługa czujników, układów czasowychSPI - komunikacja z szybkimi przetwornikami lub pamięciami zewnętrznymi Zasilanie: USB lub źródło zewnętrzne (np. zasilacz sieciowy) Moduł jest droższy od poprzednich wersji, ale ma więcej opcji. Mikrokontroler Atmega2560 posiada bogate obrzeża i dużą ilość pamięci. 256kB Flash - pozwala na obsługę rozszerzonego kodu, 4kB EEPROMU do zapisu dużej ilości danych.

Krok 4: Arduino Mega ADK

Arduino Mega ADK

Oprócz zalet Arduino Mega, ADK posiada również możliwość połączenia się z systemem Android poprzez interfejs USB sterowany przez układ MAX34210. Specyfikacja modułu jest podobna do Arduino Mega:

· ATmega2560 z rodziny AVR (Flash 256kB, SRAM 8kB, EEPROM 4kb taktowanie 16MHz)

· 54 wejścia/wyjścia cyfrowe ogólnego przeznaczenia

· 14 wyjść PWM

· 16 wejść analogowych

Interfejsy komunikacyjne:

· 4 xUART - jeden z najprostszych sposobów wymiany danych z komputerem PC

· I2C/TWI - obsługa czujników, obwodów czasowych

· SPI - komunikacja z szybkimi przetwornikami lub pamięciami zewnętrznymi

· Zasilanie: USB lub źródło zewnętrzne (np. zasilacz sieciowy)

Wersja ADK przeznaczona jest dla projektów wykorzystujących komunikację z systemem Android. Wbudowany kontroler USB umożliwia również podłączenie kamery, kontrolera gier lub kontrolera ruchu.

Krok 5: Arduino Leonardo Ethernet

Arduino Leonardo Ethernet

Główną zaletą modułu jest jego łatwe podłączenie do sieci. Moduł posiada gniazdo sieciowe z kontrolerem Ethernet. Na płytce znajduje się również gniazdo kart pamięci microSD. Specyfikacja podobna do Arduino Leonardo:

· Mikrokontroler Atmega32u4 (32kB Flash, 2,5kB SRAM, · Częstotliwość zegara 16 MHz)

· 20 cyfrowych wejść/wyjść - do których można podłączyć np. diody LED, przyciski, wyświetlacze itp.

· 7 wyjść PWM - np. do sterowania prędkością obrotową silników, ustawiania pozycji serwa

· 12 wejść analogowych - pozwalających na obsługę wszelkiego rodzaju czujników, przetworników z wyjściem analogowym

Interfejsy komunikacyjne:

· UART - jeden z najprostszych sposobów wymiany danych z komputerem PC

· I2C/TWI - obsługa czujników, obwodów czasowych

· SPI - komunikacja z szybkimi przetwornikami lub pamięciami zewnętrznymi

· Zasilanie: źródło zewnętrzne (np. zasilacz sieciowy)

Wersja Ethernet przeznaczona jest do projektów wymagających podłączenia do sieci. Wygodą jest również zintegrowane gniazdo kart microSD, na którym można zapisać więcej danych niż w pamięci samego mikrokontrolera.

Krok 6: Arduino Due

Arduino Due
Arduino Due

Arduino Due

Dzięki Arduino Due użytkownik może tworzyć układy z wykorzystaniem 32-bitowego mikrokontrolera ARM Cortex M3 opartego na bibliotekach Arduino. Specyfikacja jest następująca:

· Napięcie zasilania: 7V do 12V (zalecane), 6V-20V (maksymalne)

· Mikrokontroler: AT91 SAM3X8E, rdzeń 32-bitowy ARM Cortex M3

· Maksymalna częstotliwość zegara: 84 MHz

· Pamięć SRAM: 96 kB Pamięć Flash: 512 kB

· Piny we/wy: 54

· Kanały PWM: 12

· Ilość wejść analogowych: 12 (kanały przetwornika A/D)

· Przetwornik C/A (cyfrowo-analogowy)

· Kontroler DMA

· Interfejsy szeregowe: UART, SPI, I2C, CAN, USB

· Debuger JTAG

Płytka dedykowana jest użytkownikom chcącym zapoznać się z najnowszymi rozwiązaniami w świecie mikrokontrolerów. Ma zdecydowanie większe możliwości niż wersje oparte na AVR, bogate układy peryferyjne, w tym przetwornik cyfrowo-analogowy.

Oprócz powyższego Arduino zapewnia również:

Arduino Zero M0 Pro - 32-bitowy Cortex M0 - Atmel ATSAMD21G18 32-bitowy moduł mikrokontrolera wyposażony w rdzeń ARM Cortex M-0. Posiada 256 kB pamięci Flash, 32 kB RAM, 14 cyfrowych wejść/wyjść, 12 kanałów PWM, 6 wejść analogowych i jedno wyjście oraz popularne interfejsy komunikacyjne. Moduł współpracuje z napięciem 3,3 V.

Arduino Yún - WiFi - Połączenie Arduino i system Linux. Moduł oparty na systemie ATmega32u4 zastosowany w Leonardo pozwala na bezprzewodowe programowanie i sterowanie urządzeniem poprzez sieć WiFi oraz odpowiednią bibliotekę. Dostępna jest również wersja Arduino Yun PoE - zasilana z sieci Ethernet.

Arduino Micro - miniaturowy moduł oparty na Arduino Leonardo, charakteryzuje się niewielkimi rozmiarami. Posiada mikrokontroler AVR Atmega32U4. Wyposażony w 20 cyfrowych wejść/wyjść oraz popularne interfejsy komunikacyjne.

4. Przykłady użycia

- Arduino i orientacja w przestrzeni trójwymiarowej.

Przykład wykorzystania 3-osiowego żyroskopu, akcelerometru i magnetometru (system MinImu9) do orientacji w przestrzeni 3D.

- Arduino i wyświetlacz LCD.

Obsługa wyświetlacza LCD z kontrolerem HD44780 za pomocą modułu Arduino.

- Sterowanie silnikiem DC za pomocą platformy Arduino.

Przykład modułów obsługi (mostków H) służących do sterowania kierunkiem i prędkością silników prądu stałego.

- Połączenie z siecią Ethernet

Połączenie Arduino z modułem Ethernet ENC28J60.

Zalecana: