Makra w Arduino
Makro to instrukcja preprocesora, która może np. zmieniać wyrażenia na inne, przypisywać proste funkcje do stałych itp. Makra tworzy się za pomocą #define Przykłady makra: Użycie makra:
Makro to instrukcja preprocesora, która może np. zmieniać wyrażenia na inne, przypisywać proste funkcje do stałych itp. Makra tworzy się za pomocą #define Przykłady makra: Użycie makra:
W arduino generowanie losowych liczb jest skomplikowanym procesem. W prosty sposób można generować pseudo-losowe liczby. Oznacza to, że sekwencja kolejnych liczb będzie jednakowa w zależności od wartości początkowej ustalonego ziarna. W celu zróżnicowania losowości sekwencji liczb, ziarno można ustalić na podstawie nieużywanego analogowego pinu wejściowego, który przyjmuje wartości od 0-1023.
USART (Universal Synchronous / Asynchronous Receiver-Transmitter) to sprzętowy moduł, który umożliwia komunikację szeregową między płytką Arduino, a innymi urządzeniami (np. komputer, moduły czujników, Bluetooth, inne mikrokontrolery) za pomocą pinów Rx i Tx. UART realizuje transmisję i odbiór danych w sposób asynchroniczny, co oznacza, że nie wymaga dodatkowego sygnału zegarowego do synchronizacji. Arduino posiada wbudowany moduł…
Arduino posiada clock (zegar kwarcowy / oscylator) o częstotliwości 16Mhz. Każdy cykl zegara odbywa się co 1/16000000s czyli co 62.5ns. Timery 0, 1 i 2 ATmega328P posiada 3 timery[0, 1, 2], które zliczają cykle zegara. Timer0: 8-bit (0-255), używany do delay, millis, micros, itp. Timer1: 16-bit (0-65535), używany w bibliotekach (np. servo) Timer2: 8-bit (0-255),…
Biblioteka SoftwareSerial pozwala na komunikację szeregową za pomocą innych pinów bez użycia sprzętowego interfejsu USART. https://docs.arduino.cc/learn/built-in-libraries/software-serial Wysyłanie i otrzymywanie danych w tym samym czasie nie jest możliwe. W przypadku użycia kilku portów, tylko jeden może otrzymywać dane w danej chwili. Przykładowe połączenie pinów z Arduino USB to TTL 3V3 TXD RXD GND +5V ARDUINO …
Na większości płytek Arduino został zamontowany chip do obsługi komunikacji szeregowej z portem USB komputera. W przypadku awarii tego modułu lub płytek, które go nie posiadają można skorzystać z modułu USB UART TTL do komunikacji z komputerem (i wgrywania programów). Połączenie pinów z Arduino USB to TTL 3V3 TXD RXD GND +5V ARDUINO RXD…
Magistrala I2C (inter-integrated circuit), zwana również TWI (two wire interface), I2C, IIC to urządzenie do przesyłania danych na jednej linii (half duplex) Interfejs I2C (Two-Wire) jest przydatny do łączenia wielu urządzeń, ponieważ wszystkie mogą dzielić te same dwa piny (oraz wspólny pin uziemienia). Urządzenia w sieci I2C są „adresowalne”. Adresy są przekazywane za pomocą 7…
Połączenie Arduino jako programator 1. Połącz 2 płytki w konfiguracji SPI (z tą różnicą, że pin 10 z programatora idzie do pinu Reset na urządzeniu docelowym). 2. Uruchom sketch ArduinoISP.ino z File / Examples 3. Wgraj sketch na działającą płytkę, dzięki czemu będzie działać jako programator 4. Uruchom sketch, który chcesz wgrać na płytkę docelową…
ISP – In System Programmer ICSP – In Circuit Serial Programmer 1. Instalacja sterowników programatora Pobierz i zainstaluj sterowniki do programatora za pomocą programu Zadig https://zadig.akeo.ie 2. Wgrywanie programu w Arduino IDE W Arduino IDE Wybierz płytkę, bez określania portu USB W menu Tools / Programmer wybierz USBasp Wgraj sketch za pomocą menu Sketch /…
Magistrala SPI pozwala na jednoczesne wysyłanie i odbieranie danych z różnymi prędkościami. Arduino pełni rolę urządzenia nadrzędnego i może się komunikować z wieloma urządzeniami podrzędnymi w trybie Full Duplex. Komunikacja SPI przebiega na podstawie 4 przewodów: SCK (clock) – pin 13 MISO (main in sub out) – pin 12 MOSI (main out sub in) –…