← Moja historia · plan z 17.10.2026
Jeden element dziennie — plan na dwa tygodnie (17–30 października 2026)
Zasada (Maciej, 16.10): każdego dnia jeden nowy element z paczek i jedna rzecz, która z niego powstaje. Programowanie to tylko klej, więc podaję nazwy bibliotek i funkcji, nie gotowe programy. Przy każdym dniu jest zjawisko do sprawdzenia, czyli coś, czego nie da się wyrozumować przy biurku i trzeba zobaczyć na własne oczy.
Co jest już w domu (odebrane 17.10): paczki Robogeek, IMZ, ele‑zone, etuvia, pelnapaczka oraz GOTRONIK (płytka stykowa z zestawem elementów i zestaw do nauki lutowania). Czego jeszcze nie ma: lampa z lupą (poniedziałek 19.10).
Jak łączyć moduły. Moduły mają sterczące szpilki, a płytka UNO ma gniazda, więc wystarczą przewody z dwoma gniazdami (żeńsko‑żeńskie, 40 szt. z paczki IMZ). Płytka stykowa z zestawu GOTRONIK przyda się od dnia 3, gdy XIAO dostanie szpilki; wcześniej nie jest potrzebna. Do tego czasu wszystkie dni robimy na płytce UNO (DFRduino albo klon). Na UNO magistrala dwuprzewodowa (I2C) siedzi na polach A4 (dane, SDA) i A5 (zegar, SCL); zasilanie modułów 5 V lub 3,3 V wg opisu niżej.
Kolejność ma sens: wyświetlacz pierwszy, bo każdy następny dzień coś na nim pokazuje. Czujnik ruchu drugi, bo to serce drona. Lutowanie szpilek XIAO w poniedziałek przy lampie, bo od tego dnia XIAO wchodzi do gry.
| Dzień | Nowy element | Co powstaje |
|---|---|---|
| 1 · sob 17.10 | Wyświetlacz OLED 0,96" (IMZ) | Zegar od włączenia + skaner magistrali |
| 2 · nd 18.10 | Czujnik ruchu MPU‑6050 (Robogeek) | Poziomica na wyświetlaczu |
| 3 · pon 19.10 | Lampa z lupą + szpilki do XIAO | XIAO ze szpilkami, próba miernikiem |
| 4 · wt 20.10 | Serwo SG90 (Robogeek) | Jednoosiowy stabilizator: serwo trzyma poziom wg czujnika ruchu |
| 5 · śr 21.10 | Czujnik odległości ultradźwiękowy HC‑SR04 (IMZ) | Pomiar prędkości dźwięku |
| 6 · czw 22.10 | Czujnik odległości laserowy VL53L0X (IMZ) | Pojedynek: laser kontra ultradźwięk na różnych powierzchniach |
| 7 · pt 23.10 | Pierścień 16 diod WS2812B (Robogeek) + analizator stanów (Robogeek) | Wskaźnik przechyłu z czujnika ruchu; podgląd protokołu jednoprzewodowego |
| 8 · sob 24.10 | Radio nRF24L01+ ×2 (Robogeek) | Drugie radio 2,4 GHz; zgubione paczki przy kolizji kanału z Wi‑Fi |
| 9 · nd 25.10 | Radio 433 MHz nadajnik + odbiornik (IMZ) | Antena z drutu 17 cm własnoręcznie; zasięg z anteną i bez |
| 10 · pon 26.10 | Czujnik ciśnienia BMP280 (IMZ) + SHT31 (IMZ) | Wysokościomierz: widać podniesienie o 1 metr; temperatura powietrza kontra temperatura krzemu |
| 11 · wt 27.10 | Magnetometr HMC5883L (Robogeek) | Kompas; co robią z nim silniki i magnesy |
| 12 · śr 28.10 | Zegar czasu rzeczywistego DS3231 (ele‑zone) | Wyścig kwarców: o ile ucieka zegar UNO w ciągu doby |
| 13 · czw 29.10 | Odbiornik GPS NEO‑6M (Robogeek) | Zimny start przy oknie; ile satelitów, jaka dokładność |
| 14 · pt 30.10 | Czytnik kart RFID RC522 (Robogeek) | Karta bez baterii zasilana z pola; odległość odczytu przez różne materiały |
Rezerwa (gdy któryś dzień wypadnie albo zostanie czas): sterownik silników TB6612FNG + podwozie 2WD (IMZ), odtwarzacz MP3 DFPlayer + wzmacniacz PAM8403 + głośnik (ele‑zone, Robogeek), wyświetlacz TFT 1,8" (IMZ), czujnik koloru TCS34725 (ele‑zone), klawiatura 4×4, pilot podczerwieni, czujnik gleby ×3 (kwiatek do podlania, kamień M5), tranzystory IRLZ44N (silnik z regulacją mocy). Zestaw 37 czujników (Robogeek) to magazyn na dalsze tygodnie.
Dzień 1 · sobota 17.10 · Wyświetlacz OLED 0,96"
Co to jest. Malutki ekran 128 × 64 punkty, każdy punkt to osobna dioda organiczna, która sama świeci (bez podświetlenia). Rozmawia przez magistralę dwuprzewodową (I2C): jeden przewód danych, jeden przewód zegara, do tego zasilanie. Na tej samej parze przewodów może wisieć kilkadziesiąt układów, każdy ma swój numer (adres).
Połączenie (UNO): GND → GND, VCC → 3,3 V albo 5 V (moduł IMZ ma własny obniżacz, sprawdź opis na płytce: jeśli jest napis „3V–5V”, daj 5 V), SCL → A5, SDA → A4.
Zjawisko do sprawdzenia. Jak dwa przewody wystarczają dla wielu układów i skąd płytka wie, kto mówi. Wgraj najpierw skaner magistrali (w Arduino IDE: Plik → Przykłady → Wire → i2c_scanner). Powinien wypisać jeden adres, zwykle 0x3C. Potem dopnij równolegle drugi wyświetlacz (masz dwa): skaner pokaże nadal jeden adres, bo oba mają ten sam numer i oba odbiorą to samo. Na wielu modułach jest mostek z tyłu, który zmienia adres na 0x3D. To jest rzecz, którą trzeba zobaczyć: dwa identyczne moduły na jednej parze przewodów, pokazujące to samo.
Co powstaje. Zegar od włączenia (minuty i sekundy z millis()) dużą czcionką. Biblioteka: Adafruit SSD1306 + Adafruit GFX (Menedżer bibliotek). Funkcje: display.begin(SSD1306_SWITCHCAPVCC, 0x3C), setTextSize, setCursor, print, display(). Ten zegar zostaje: będzie „ramką” na wszystkie kolejne pomiary.
Dowód do historii: zdjęcie wyświetlacza z zegarem + zrzut monitora ze skanerem adresów. Węzeł mapy: i2c na poziom 2.
Dzień 2 · niedziela 18.10 · Czujnik ruchu MPU‑6050
Co to jest. Układ, który w jednym kawałku krzemu ma sześć czujników: trzy mierzą przyspieszenie (w tym ciążenie), trzy mierzą prędkość obrotu. To ten sam układ, który siedzi w Twoim dronie ESP‑FLY i mówi mu, w którą stronę jest przechylony. Magistrala dwuprzewodowa jak wyświetlacz, adres 0x68 (więc dopinasz go obok wyświetlacza na te same A4/A5, i skaner pokaże dwa adresy).
Połączenie (UNO): VCC → 5 V (moduł GY‑521 ma obniżacz), GND, SCL → A5, SDA → A4. Reszta pól zostaje wolna.
Zjawisko do sprawdzenia. Dwie rzeczy, których nie da się przewidzieć bez zobaczenia. Pierwsza: czujnik przyspieszenia leżący nieruchomo pokazuje 1 g w dół, bo mierzy ciążenie, a w swobodnym spadku pokazałby zero (upuść go na poduszkę, patrząc na wykres). Druga: żyroskop „płynie”. Zsumuj prędkość obrotu w kąt i połóż moduł nieruchomo: kąt będzie sam odjeżdżał o kilka stopni na minutę. To jest powód, dla którego dron łączy oba czujniki (filtr komplementarny: 98 % żyroskop, 2 % przyspieszenie).
Co powstaje. Poziomica: kąt przechyłu w stopniach na wyświetlaczu z dnia 1, do tego pasek jak w poziomicy stolarskiej. Biblioteka: Adafruit MPU6050 (zainstaluje też Adafruit Unified Sensor). Funkcje: mpu.getEvent(&a,&g,&temp), kąt = atan2(a.acceleration.y, a.acceleration.z) w radianach × 57,3. Kreślarka (Serial Plotter) pokaże surowe osie.
Dowód: film 10 s z przechylaniem. Węzeł imu na 2. To pierwszy składnik kamienia M5 „Czujniki i napędy”.
Dzień 3 · poniedziałek 19.10 · Lampa z lupą i szpilki do XIAO
Co to jest. Przychodzi lampa z lupą (RebelElectro), ostatni brakujący element stanowiska (kamień M0). Dzień lutowniczy: ćwiczenia 1–2 z talii lutowania (przewody, pole na płytce uniwersalnej), do wyboru kilka pierwszych oporników z zestawu „symulator jazdy” GOTRONIK, a potem rzecz z prawdziwą stawką: dwie listwy po 7 szpilek do płytki XIAO numer 2 (nadajnika, bez anteny). Płytkę numer 1 zostaw na razie bez szpilek, jako wzorzec.
Zjawisko do sprawdzenia. Jak cyna sama „wchodzi” w szczelinę między szpilką a polem (zjawisko włoskowate), jeśli grzejesz oba naraz i dokładasz cynę z drugiej strony grotu. I jak wygląda zimny lut (matowy, kulka) obok dobrego (błyszczący, stożek). Po lutowaniu miernik w trybie brzęczyka: każda szpilka dzwoni ze swoim polem, żadna z sąsiednią.
Co powstaje. XIAO, które da się wpiąć przewodami i w płytkę stykową. Od jutra wszystkie moduły można przepinać między UNO (5 V) a XIAO (3,3 V) i zobaczyć różnicę z wczorajszej lekcji o napięciach.
Dowód: zdjęcie lutów przez lupę + zdjęcie stanowiska z lampą. Węzły: stanowisko na 2 (M0 zaliczony), lut-tht na 2.
Dzień 4 · wtorek 20.10 · Serwo SG90
Co to jest. Mały silnik z przekładnią i własnym sterownikiem, który ustawia ramię pod zadanym kątem 0–180°. Steruje się jednym przewodem: co 20 milisekund impuls, którego długość (1–2 ms) mówi, jaki kąt. To jest modulacja szerokości impulsu (PWM) w najprostszej, widocznej postaci.
Połączenie (UNO): brązowy → GND, czerwony → 5 V, pomarańczowy → pole 9. Jedno serwo UNO uciągnie z USB; trzy już nie (zasilacz 9 V 2 A z Robogeek jest na później).
Zjawisko do sprawdzenia. Analizatorem stanów (dzień 7 ma go szerzej, ale tu wystarczy jedno podejście) albo samą kreślarką: zobacz, że impuls 1,5 ms = środek, i że serwo „buczy” i grzeje się, gdy ramię napotyka opór, bo sterownik w środku ciągle walczy o kąt. Drugi test: podaj impuls poza zakresem (0,5 ms) i posłuchaj, jak przekładnia dochodzi do ogranicznika. Tego nie robi się długo.
Co powstaje. Stabilizator jednoosiowy: serwo z przyklejoną na ramieniu kartką trzyma poziom, gdy przechylasz całość, bo kąt leci z czujnika ruchu z dnia 2. To ta sama pętla, która w dronie trzyma śmigła poziomo, tylko zamiast czterech silników jedno serwo. Biblioteka: Servo (wbudowana), servo.attach(9), servo.write(kat).
Dowód: film. Węzeł pwm-silniki na 2.
Dzień 5 · środa 21.10 · Czujnik ultradźwiękowy HC‑SR04
Co to jest. Dwa „oczy”: jedno wysyła pisk 40 tysięcy drgań na sekundę (poza słuchem), drugie słucha echa. Płytka mierzy czas do powrotu echa, a odległość to prędkość dźwięku razy połowa tego czasu.
Połączenie (UNO): VCC → 5 V, GND, Trig → 7, Echo → 8. Uwaga: Echo daje 5 V, więc przy przenoszeniu na XIAO trzeba dzielnika napięcia albo konwertera poziomów z paczki ele‑zone (wczorajsza lekcja w praktyce).
Zjawisko do sprawdzenia. Prędkość dźwięku zmierzona własnymi rękami. Nie wpisuj 343 m/s do programu: wypisz surowy czas echa w mikrosekundach, postaw książkę w odległości 50 cm zmierzonej linijką i policz prędkość. Potem to samo przy 100 cm. Wyjdzie w okolicy 340 m/s, i zobaczysz, jak bardzo zależy od temperatury (dmuchnij ciepłym powietrzem między czujnik a książkę). Drugi test: miękki sweter zamiast książki, pod kątem 45°: echo ginie.
Co powstaje. Odległość na wyświetlaczu, a obok zmierzona prędkość dźwięku. Funkcje: pulseIn(8, HIGH), delayMicroseconds(10) na impuls wyzwalający.
Dowód: zdjęcie wyświetlacza przy linijce. Węzeł czujniki-analog na 2.
Dzień 6 · czwartek 22.10 · Czujnik laserowy VL53L0X
Co to jest. Odległość mierzona czasem przelotu światła: układ wysyła niewidzialny błysk podczerwieni i liczy pikosekundy do powrotu. Światło pokonuje 1 cm w 33 pikosekundy, więc układ ma w środku zegar szybszy niż cokolwiek, co dotąd widziałeś. Magistrala dwuprzewodowa, adres 0x29, zasilanie 3,3 V (moduł ma obniżacz, więc 5 V na VIN jest w porządku).
Zjawisko do sprawdzenia. Pojedynek z wczorajszym czujnikiem na tych samych celach: biała kartka, czarna tkanina, szyba, lustro, sweter pod kątem. Ultradźwięk gubi miękkie i skośne, laser gubi czarne i przezroczyste. Dron potrzebuje takiego czujnika do trzymania wysokości nad podłogą, i teraz wiesz, nad jaką podłogą zawiedzie.
Co powstaje. Dwie liczby obok siebie na wyświetlaczu: dźwięk i światło. Biblioteka: Adafruit VL53L0X albo Pololu VL53L0X, lox.rangingTest(&m).
Dowód: tabela wyników dla 5 powierzchni (zdjęcie kartki wystarczy). Węzeł czujniki-analog dowód poziomu 3.
Dzień 7 · piątek 23.10 · Pierścień WS2812B i analizator stanów
Co to jest. Szesnaście kolorowych diod, każda ze swoim malutkim sterownikiem w środku, połączonych jednym przewodem danych. Kolory wysyła się jako ciąg bitów w tempie 800 tysięcy na sekundę, a każda dioda zjada pierwsze 24 bity i resztę podaje dalej. Analizator stanów logicznych to urządzenie, które podgląda przebiegi na 8 przewodach i rysuje je na komputerze (program PulseView, darmowy).
Połączenie (UNO): pierścień: GND, 5 V, DI → pole 6. Analizator: kanał 0 na przewód DI, masa do GND, USB do Maca.
Zjawisko do sprawdzenia. Zobaczyć bity gołym okiem: w PulseView widać, że „zero” to krótki impuls, a „jedynka” długi, i że przerwa 50 mikrosekund znaczy „koniec, pokaż”. Drugi test: odetnij jedną diodę od zasilania (nie od danych) i zobacz, że dalsze gasną, bo przekaźnik danych siedzi w diodzie. Trzeci: 16 diod na biało na pełnej jasności ciągnie prawie 1 A, więc UNO z USB przygasa; to dotyk granicy prądu, którą wczoraj omawialiśmy przy nóżkach.
Co powstaje. Wskaźnik przechyłu: pierścień świeci w stronę, w którą przechylasz czujnik ruchu, jak kulka w misce. Biblioteka: Adafruit NeoPixel, strip.setPixelColor(i, r,g,b), strip.show().
Dowód: zrzut z PulseView z zaznaczonymi bitami + film pierścienia. Nowy węzeł mapy: „Podglądanie sygnałów” (analizator) poziom 2.
Dzień 8 · sobota 24.10 · Radio nRF24L01+
Co to jest. Drugie radio na 2,4 GHz, całkiem inne niż Wi‑Fi w XIAO: prostsze, bez sieci, bez adresów sprzętowych, z paczkami do 32 bajtów. Przez lata to był standard tanich aparatur do modeli. Rozmawia z płytką przez magistralę szybką czteroprzewodową (SPI). Masz dwa moduły: jeden na UNO, drugi na XIAO ze szpilkami (albo dwa UNO).
Połączenie (UNO): zasilanie 3,3 V koniecznie (5 V zabija moduł, to przykład z lekcji o napięciach), GND, CE → 9, CSN → 10, SCK → 13, MOSI → 11, MISO → 12. Moduł jest wrażliwy na zasilanie: kondensator 10 µF między VCC a GND (jest w zestawie GOTRONIK).
Zjawisko do sprawdzenia. Kolizja kanałów. Radio ma 126 kanałów co 1 MHz, Wi‑Fi w domu zajmuje 20 MHz w okolicy kanału 1, 6 albo 11. Ustaw nRF na kanał w środku pasma Twojego routera i licz zgubione paczki; przestaw na kanał 100 (poza Wi‑Fi) i porównaj. Włącz na iPhonie pobieranie dużego pliku i patrz, jak rosną straty. To jest temat „Jak dane przeżywają zakłócenia” w wersji namacalnej.
Co powstaje. Licznik: wysłane / odebrane / zgubione na wyświetlaczu, jak w programie 07 z czwartku, tylko na innym radiu. Biblioteka: RF24 (TMRh20), radio.setChannel(n), radio.setPALevel, radio.write, radio.available, radio.read. Porównanie z ESP‑NOW: zasięg, straty, prąd.
Dowód: tabela strat dla 3 kanałów. Węzeł korekcja-bledow na 3 (zliczanie zgubionych w praktyce).
Dzień 9 · niedziela 25.10 · Radio 433 MHz
Co to jest. Najprostsze radio, jakie istnieje: nadajnik włącza falę nośną, gdy na wejściu jest „1”, i wyłącza, gdy „0” (jak latarka z alfabetem Morse’a). Odbiornik słucha, czy fala jest. Nic więcej. Częstotliwość 433 MHz, czyli fala długa na 69 cm, sześć razy dłuższa niż w Wi‑Fi.
Połączenie: nadajnik: VCC 5 V, GND, DATA → pole 12 na jednym UNO; odbiornik: VCC 5 V, GND, DATA → pole 11 na drugiej płytce. Oba moduły mają pole „ANT” bez anteny.
Zjawisko do sprawdzenia. Antena ćwierćfalowa własnoręcznie, dokładnie to, o czym rozmawialiśmy przy XIAO: ćwierć z 69 cm to 17,3 cm. Utnij kawałek drutu 17 cm (z przewodów połączeniowych po zdjęciu wtyczki) i wlutuj albo wciśnij w pole ANT nadajnika. Zmierz zasięg bez anteny (kilka metrów), z anteną 17 cm (cały dom), z anteną 8 cm i 35 cm (gorzej niż 17). To jest Twoje pytanie „czy długość anteny musi pasować” sprawdzone liczbami. Drugi test: odbiornik bez sygnału wypluwa losowe śmieci, bo wzmacnia szum, i to pokazuje, po co w ogóle istnieją sumy kontrolne.
Co powstaje. Dzwonek bezprzewodowy: przycisk przy jednym UNO zapala diodę i pokazuje licznik przy drugim, przez dwie ściany. Biblioteka: RadioHead (RH_ASK) albo rc-switch; RadioHead sam dodaje sumę kontrolną i pokazuje, ile paczek odrzucił.
Dowód: tabela zasięg vs długość anteny. Węzeł moc-radiowa na 2–3 (porównanie z anteną i bez).
Dzień 10 · poniedziałek 26.10 · Ciśnienie BMP280 i wilgotność SHT31
Co to jest. BMP280 mierzy ciśnienie powietrza z rozdzielczością odpowiadającą 10 cm różnicy wysokości; to z niego dron wie, czy się wznosi. SHT31 to dokładny czujnik temperatury (0,3 °C) i wilgotności powietrza. Oba na magistrali dwuprzewodowej: BMP280 adres 0x76, SHT31 0x44. Dopinasz je obok wyświetlacza i czujnika ruchu: cztery układy na dwóch przewodach.
Zjawisko do sprawdzenia. Podnieś czujnik z podłogi na stół, potem nad głowę: ciśnienie spada o około 12 paskali na metr i to widać w liczbach. Potem zamknij drzwi w pokoju: skok ciśnienia od „tłoka” drzwi. Drugi test: porównaj trzy temperatury naraz: SHT31 (powietrze), BMP280 (własny czujnik, grzeje się od płytki), i po przeniesieniu na XIAO: temperatureRead() z wnętrza procesora, o której mówiliśmy wczoraj. Trzy liczby, trzy różne rzeczy.
Co powstaje. Stacja pogodowa na wyświetlaczu: wysokość względna od momentu włączenia, temperatura, wilgotność. Biblioteki: Adafruit BMP280, Adafruit SHT31, bmp.readAltitude(1013.25), sht.readTemperature().
Dowód: zdjęcie wyświetlacza na podłodze i nad głową. Węzeł i2c dowód poziomu 3 (cztery układy na magistrali).
Dzień 11 · wtorek 27.10 · Magnetometr HMC5883L
Co to jest. Trzy czujniki pola magnetycznego: mierzą pole Ziemi i z jego kierunku liczą, gdzie jest północ. Dron bez niego nie wie, w którą stronę jest obrócony, bo żyroskop odjeżdża (dzień 2). Magistrala dwuprzewodowa, adres 0x1E (moduły GY‑273 bywają z innym układem QMC5883L pod adresem 0x0D; skaner z dnia 1 powie, który masz).
Zjawisko do sprawdzenia. Jak bardzo wszystko wokół psuje kompas. Zbliż silnik z podwozia 2WD (ma magnes w środku), potem MacBooka, potem stalowy nóż: igła ucieka o dziesiątki stopni. Potem obróć moduł o pełne 360° i narysuj punkty x‑y w kreślarce: powinno wyjść koło, a wyjdzie przesunięta elipsa. Przesunięcie to „twarde żelazo” (magnesy na płytce), spłaszczenie to „miękkie żelazo” (stal obok). Kalibracja drona to właśnie szukanie środka tej elipsy.
Co powstaje. Kompas na wyświetlaczu: kierunek w stopniach i strzałka. Biblioteka: Adafruit HMC5883 Unified (albo QMC5883LCompass), kierunek = atan2(y, x).
Dowód: zrzut kreślarki z elipsą. Węzeł imu dowód poziomu 3.
Dzień 12 · środa 28.10 · Zegar czasu rzeczywistego DS3231
Co to jest. Zegar z własnym kwarcem, własną bateryjką (CR2032 z paczki IMZ) i, co ważne, własnym termometrem, którym poprawia kwarc, bo kwarc zwalnia, gdy jest mu zimno. Dokładność 2 ppm, czyli minuta na rok. Magistrala dwuprzewodowa, adres 0x68 (ten sam co czujnik ruchu! Na jednej parze przewodów nie mogą być razem; to zobaczysz skanerem).
Zjawisko do sprawdzenia. Wyścig kwarców, czyli nasza rozmowa o metronomie w liczbach. Na UNO jest tani rezonator ceramiczny; w DS3231 kwarc z korektą temperatury. Zapisz obie godziny na starcie i zostaw na dobę: UNO ucieknie o kilka do kilkudziesięciu sekund. Potem włóż UNO do lodówki na pół godziny (w woreczku) i zobacz, jak zmienia się tempo ucieczki. Tak wygląda „pływanie” generatora, o które pytałeś.
Co powstaje. Zegar z prawdziwą godziną na wyświetlaczu, a pod spodem różnica względem zegara UNO w sekundach, rosnąca. Biblioteka: RTClib (Adafruit), rtc.adjust(DateTime(F(__DATE__), F(__TIME__))), rtc.now(), rtc.getTemperature().
Dowód: dwa zdjęcia w odstępie doby. Nowy węzeł mapy: „Kwarce i dokładność czasu” poziom 2.
Dzień 13 · czwartek 29.10 · Odbiornik GPS NEO‑6M
Co to jest. Odbiornik słucha satelitów 20 tysięcy kilometrów nad głową; każdy nadaje swoją godzinę z dokładnością do miliardowej części sekundy, a odbiornik z różnic czasu dotarcia liczy, gdzie jest. Błąd zegara o jedną mikrosekundę to błąd pozycji o 300 metrów, więc cała sztuka to czas. Rozmawia zwykłym portem szeregowym (UART) tekstem w formacie NMEA, który da się czytać gołym okiem.
Połączenie (UNO): VCC → 5 V, GND, TX modułu → pole 4 (programowy port szeregowy, SoftwareSerial), RX zostaw. Antena przy oknie albo na parapecie.
Zjawisko do sprawdzenia. Zimny start: pierwsze ustalenie pozycji po włączeniu trwa od 30 sekund do kilku minut, bo odbiornik musi ściągnąć z satelitów ich rozkład jazdy; po wyjęciu zasilania bateryjka na module pamięta go i następny start trwa sekundy. Patrz na liczbę satelitów przy oknie, w głębi pokoju, na balkonie. Zobacz, jak pozycja „chodzi” o kilka metrów, mimo że moduł leży nieruchomo.
Co powstaje. Na wyświetlaczu: liczba satelitów, szerokość i długość geograficzna, wysokość, i czas UTC z satelity, który możesz porównać z DS3231 z wczoraj. Biblioteka: TinyGPS++ , gps.encode(c), gps.satellites.value(), gps.location.lat().
Dowód: zdjęcie wyświetlacza przy oknie. Nowy węzeł: „Pozycja z satelitów” poziom 2. Łączy się z inspiracją pseudosatelity.
Dzień 14 · piątek 30.10 · Czytnik RFID RC522
Co to jest. Czytnik kart zbliżeniowych 13,56 MHz. Karta i brelok nie mają baterii: cewka w czytniku wytwarza zmienne pole, cewka w karcie zbiera z niego energię (jak przy ładowaniu telefonu bez kabla), budzi swój układ i odpowiada, zmieniając obciążenie pola. Czytnik rozmawia z płytką przez magistralę czteroprzewodową (SPI), zasilanie 3,3 V (znowu lekcja o napięciach).
Połączenie (UNO): 3,3 V, GND, RST → 9, SDA → 10, SCK → 13, MOSI → 11, MISO → 12 (te same pola co nRF24; jeden moduł naraz).
Zjawisko do sprawdzenia. Karta zasilana powietrzem: zmierz, z jakiej odległości czyta (kilka centymetrów), potem przez kartkę, przez deskę, przez folię aluminiową (zero, bo folia zwiera pole), przez dłoń. Przyłóż dwie karty naraz: czytnik odmawia albo wybiera jedną (kolizja). To ta sama fizyka pola, o której mówiliśmy przy antenie, tylko pole bliskie zamiast fali.
Co powstaje. Zamek: znany brelok zapala zieloną diodę w pierścieniu z dnia 7, obca karta czerwoną, a numer karty leci na wyświetlacz. Biblioteka: MFRC522, mfrc522.PICC_IsNewCardPresent(), mfrc522.uid.uidByte.
Dowód: tabela odległości odczytu przez materiały. Nowy węzeł: „Pole bliskie i zasilanie bez przewodów” poziom 2.
Po dwóch tygodniach
Zaliczone kamienie: M0 (stanowisko), duża część M5 (czujniki i napędy: czujnik ruchu, serwo, magistrala, czujniki odległości). Do M4 „Pierwszy lot” zostaje sam dron: lutowanie silników i składanie ramy, osobna talia. Zestaw GOTRONIK z płytką stykową otwiera następne dwa tygodnie: tranzystory, własne obwody, sterowanie silnikami 2WD, dźwięk (DFPlayer + wzmacniacz + głośnik), ekran TFT i zestaw 37 czujników.