Spisu treści:
- Krok 1: Czym są rejestry przesuwne?
- Krok 2: Podstawowe okablowanie i obsługa
- Krok 3: Projekty
- Krok 4: Projekt 1[pt 1]: „2 przewody” Bargrafowy sterownik wyświetlacza LED Sprzęt
- Krok 5: Projekt 1[pt 2]: Oprogramowanie sterownika wyświetlacza LED z wykresem słupkowym „2 przewody”
- Krok 6: Projekt 2: „2-przewodowy” 7-segmentowy kontroler wyświetlacza
- Krok 7: Projekt 3[pt 1]: '2 Wire' 4x4 Led Matrix Display
- Krok 8: Projekt 3[pt 2]: '2 Wire' 4x4 Led Matrix Display
- Krok 9: Wniosek
Wideo: Rejestr zmian 74HC164 i Arduino: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:34
Rejestry przesuwne są bardzo ważną częścią logiki cyfrowej, działają jak spoiwo pomiędzy światem równoległym i szeregowym. Zmniejszają liczbę przewodów, użycie pinów, a nawet pomagają odciążyć procesor, umożliwiając przechowywanie ich danych. Są dostępne w różnych rozmiarach, z różnymi modelami do różnych zastosowań i różnymi funkcjami. Ten, o którym będę dzisiaj dyskutował, to 74HC164 8-bitowy, szeregowy równolegle, niezatrzaskowy, przesuwny rejestr. Dlaczego? Po pierwsze, jest to jeden z najbardziej podstawowych rejestrów przesuwnych, co ułatwia naukę o tym, ale tak się złożyło, że był to jedyny, jaki miałem (lol!) Ta instrukcja opisuje, jak działa ten układ, jak go podłączyć, i połącz go z arduino, w tym kilka przykładowych szkiców i obwodów led. Mam nadzieję, że wszystkim się spodoba!
Krok 1: Czym są rejestry przesuwne?
Jak wspomniano wcześniej, są one dostępne we wszystkich różnych smakach, a także wspomniałem, że używam 8-bitowego, szeregowego równoległego 74HC164, niezatrzaskowego, przesuwnego rejestru, więc co to wszystko znaczy?!? Po pierwsze, nazwa 74 - oznacza część rodziny logiki 74xx, a ponieważ jej logika nie może bezpośrednio sterować bardzo dużym prądem (16-20mA dla całego układu jest wspólne), przekazuje tylko sygnały, ale to nie znaczy ten sygnał nie trafia do tranzystora, który może przełączać wyższe obciążenie prądowe. HC oznacza, że jest to szybkie urządzenie cmos, możesz o tym przeczytać na poniższym linku, ale zasadniczo musisz o tym wiedzieć, że jest to niskie urządzenie zasilające i będzie działać od 2 do 5 woltów (więc jeśli używasz 3,3 woltowego arduino, jesteś w porządku) Ponadto może działać poprawnie przy dużych prędkościach, ten konkretny układ ma typową prędkość 78 mhz, ale możesz jechać tak wolno lub tak szybko (dopóki nie zacznie się wygłupiać) jak chceszwww.kpsec.freeuk.com/components/74series.htm164 to numer modelu tego układu, jest ich duży wykres na wikipediaen.wikipedia.org/wiki/List_of_7400_series_integrated_circuits Dalej, 8 bitów Rejestr przesuwny składa się z obwodów flip flop, flip flop to 1 bit pamięci, ten ma s 8 (lub 1 bajt pamięci). Ponieważ jest to pamięć, jeśli nie potrzebujesz aktualizować rejestru, możesz po prostu przestać z nim „rozmawiać” i pozostanie w takim stanie, w jakim go zostawiłeś, dopóki nie „porozmawiasz” z nim ponownie lub zresetujesz zasilanie. inne rejestry przesuwne serii 7400 mogą przejść równolegle do 16 bitów szeregowych. Oznacza to, że twoje arduino wysyła dane szeregowo (włączone impulsy jeden po drugim), a rejestr przesuwny umieszcza każdy bit na właściwym pinie wyjściowym. Ten model wymaga tylko sterowania 2 przewodami, więc możesz użyć 2 cyfrowych pinów na arduino i rozbić te 2 na 8 więcej cyfrowych wyjść, niektóre inne modele są równoległe w wyjściu szeregowym, robią to samo, ale jako wejścia do arduino (na przykład gamepad NES) niezatrzaśnięty Może to być upadek tego chipa, jeśli go potrzebujesz. Gdy dane wchodzą do rejestru przesuwnego przez port szeregowy, pojawiają się na pierwszym pinie wyjściowym, gdy wchodzi impuls zegarowy, pierwszy bit przesuwa się o 1 miejsce, tworząc efekt przewijania na wyjściach, na przykład 00000001 pojawi się na wyjściach jako 101001000100001000001000000100000001Jeśli rozmawiasz z innymi urządzeniami logicznymi, które korzystają z tego samego zegara i nie spodziewasz się tego, może to powodować problemy. Zatrzaśnięte rejestry przesuwne mają dodatkowy zestaw pamięci, więc po wprowadzeniu danych do rejestru można przestawić przełącznik i pokazać wyjścia, ale dodaje kolejny przewód, oprogramowanie i rzeczy, za którymi trzeba nadążyć. sterujemy wyświetlaczami LED, efekt przewijania dzieje się tak szybko, że go nie widać (z wyjątkiem pierwszego włączenia chipa), a gdy bajt znajdzie się w rejestrze przesuwnym, nie ma już przewijania Będziemy kontrolować typ bargrafu, 7 segmentów oraz matryca punktowa 16LED 4x4 z tym układem i oprogramowaniem na arduino przy użyciu tylko 2 pinów cyfrowych (+zasilanie i masa)
Krok 2: Podstawowe okablowanie i obsługa
Okablowanie 74HC164 jest 14-pinowym układem, ma 4 piny wejściowe, 8 pinów wyjściowych, zasilanie i uziemienie, więc zacznijmy od góry. Piny 1 i 2 są wejściami szeregowymi, są ustawione jako logiczna bramka AND, co oznacza, że oba muszą być logiczne wysokie (tj. 5 woltów), aby bit był postrzegany jako 1, stan niski (0 woltów) na którymkolwiek z nich będzie odczytywany jako zero. Tak naprawdę nie potrzebujemy tego i łatwiej jest sobie z tym poradzić w oprogramowaniu, więc wybierz jeden i powiąż go z V+, aby zawsze czytał wysoko. Zdecydowałem się użyć zworki od pinu 1 do pinu 14 (V+), ponieważ wystarczy przełożyć zworkę płytki stykowej na chip. Jedyne pozostałe wejście szeregowe (pin 2 na moim schemacie) przejdzie do cyfrowego pinu 2 arduino. Piny 3, 4, 5 i 6 74HC164 to pierwsze 4 bajty wyjściaPin 7 łączy się z uziemieniemSkacząc w prawo, pin 8 jest pinem zegara, w ten sposób rejestr przesuwny wie, że następny bit szeregowy jest gotowy do odczytu, powinien być podłączony do cyfrowego pinu 3 na arduino. Pin 9 ma na celu wyczyszczenie całego rejestru na raz, jeśli spadnie, masz możliwość z niego skorzystać, ale nic w tym nieodgadnionym nie robi, więc podepnij go do V+piny 10, 11 12 i 13 to ostatnie 4 bajty wyjścia pin 14 to zasilanie chipów Działanie Najpierw musisz ustawić wejście szeregowe rejestru (pin cyfrowy 2 na arduino) wysoki lub niski, następnie należy przestawić pin zegara (pin cyfrowy 3) z niskiego na wysoki, rejestr przesuwny odczyta dane na wejściu szeregowym i przesunie piny wyjściowe o 1, powtórz 8 razy i ustawiłeś wszystkie 8 wyjść. Można to zrobić ręcznie za pomocą pętli for i cyfrowych zapisów w arduino IDE, ale ponieważ t jest to bardzo powszechna komunikacja na poziomie sprzętowym (SPI), mają jedną funkcję, która robi to za Ciebie. shiftOut(dataPin, clockPin, bitOrder, value) Po prostu powiedz, gdzie dane i piny zegara są podłączone do arduino, w jaki sposób wysłać dane i co wysłać, i zadbano o to (przydatne)
Krok 3: Projekty
Dobra, dość wykładów i teorii, zróbmy trochę zabawnych rzeczy z tym chipem! W tej instrukcji są 3 projekty do wypróbowania, pierwsze 2 są łatwe i można je błyskawicznie przeanalizować. Trzecia, matryca led 4x4, wymaga więcej czasu i przemyśleń do zbudowania, ze względu na okablowanie led. Lista części Projekt 1: „2 Wire” Bargraf Kontroler wyświetlacza LED 1 * 74HC164 Shift register1 * solderless breadboard1 * arduino lub arduino kompatybilny (5 v) 1 * 330 omów rezystor 1/4 wata 8 * normalne wyjście czerwone diody LED 12 * przewody połączeniowe Projekt 2: 7-segmentowy kontroler wyświetlacza „2 Wire” 1 * 74HC164 Rejestr przesuwny1 * płytka stykowa bez lutowania1 * kompatybilny z arduino lub arduino (5 v) 1 * rezystor 330 omów 1/4 wata 1 * wyświetlacz siedmiosegmentowy ze wspólną katodą 9 * przewody połączeniowe Projekt 3: wyświetlacz matrycowy LED 4x4 "2 Wire" 1 * 74HC164 Shift register1 * kompatybilny z arduino lub arduino (5 v) 4 * 150 omów 1 Rezystor 1/4 wat8 * rezystor 1Kohm 1/8 wat (lub większy)8 * tranzystor NpN (2n3904 lub lepszy)16 włącz wszystkie diody LED na raz jak światło hamowania)
Krok 4: Projekt 1[pt 1]: „2 przewody” Bargrafowy sterownik wyświetlacza LED Sprzęt
Podpinam arduino i shift register wg schematu mam już 10 segmentowy bargraf gotowy do pracy z płytką stykową i to zobaczysz na obrazku, ale możesz zrobić to samo z poszczególnymi ledami na drugiej stronie Stwierdziłem, że nie są to urządzenia sterujące, że są to urządzenia logiczne, przez które przepływają niewielkie ilości prądu. Aby uruchomić 8 diod LED, zachowując prostotę obwodu i nie gotując rejestru przesuwnego, musimy trochę ograniczyć prąd. Diody LED są połączone równolegle i dzielą wspólną masę (wspólna katoda), zanim zostaną włączone do zasilania uziemienie zasilające muszą przejść przez rezystor 330 omów, ograniczając całkowitą ilość prądu, który wszystkie diody LED mogą ewentualnie wykorzystać do 10mA (przy 5 woltach). W tym przykładzie, aby sterować diodami LED odpowiednim prądem, będziesz musiał wstawić tranzystor, w którym rejestr przesuwny może włączać / wyłączać źródło o wyższym prądzie (patrz projekt 3) Pin danych rejestru przesuwnego (pin 2) wymaga aby połączyć się z cyfrowym pinem arduino nr 2 Pin zegara rejestru przesuwnego (pin 8) musi być połączony z cyfrowym pinem arduino nr 3
Krok 5: Projekt 1[pt 2]: Oprogramowanie sterownika wyświetlacza LED z wykresem słupkowym „2 przewody”
Przykład 1: Otwórz plik "_164_bas_ex.pde" Wewnątrz arduino IDE, jest to prosty szkic, który pozwala po prostu zdefiniować włączanie lub wyłączanie diod LED na wyświetlaczu słupkowym. Pierwsze 2 linie definiują numery pinów, których będziemy używać do danych i zegara, ja użyj #define over const integer, łatwiej mi to zapamiętać i po skompilowaniu nie ma żadnej przewagi #define data 2#define clock 3 następna jest funkcja void setup, działa tylko raz, więc arduino się obraca włączony, ustawia rejestr przesuwny i nie ma nic więcej do roboty. Wewnątrz funkcji void setup ustawiamy zegar i piny danych jako piny OUTPUT, a następnie za pomocą funkcji shiftOut wysyłamy dane do rejestru przesuwnego void setup(){ pinMode(clock, OUTPUT); // ustaw pin zegara jako wyjście pinMode(data, OUTPUT); // ustaw pin danych jako wyjście shiftOut(data, clock, LSBFIRST, B10101010); // wyślij tę wartość binarną do rejestru przesuwnego} W funkcji shiftOut możesz zobaczyć jej argumentydane to pin danych, zegar to pin zegara LSBFIRST odnosi się do kolejności, w jakiej się znajduje, podczas zapisywania jej w notacji binarnej (Bxxxxxxxx) 7. element za B jest najmniej znaczącym bitem Pierwszy, ten jest podawany jako pierwszy, więc kończy się na ostatnim wyjściu, gdy wszystkie 8 bitów zostanie wprowadzonych w B10101010 jest wartością binarną wysyłaną do rejestru przesuwnego i włącza się każde nieparzyste światło, spróbuj grać z różnymi wartościami, aby włączyć lub wyłączyć różne wzorce i na koniec pustą pętlę void (ponieważ jej potrzebujesz, nawet jeśli jej nie używasz) void loop(){} // na razie pusta pętla Przykład 2: pierwsze 8 linii tak samo jak w pierwszych 8 wierszach pierwszego przykładu, w rzeczywistości nie zmienią się one dla żadnego z innych projektów, więc #define data 2#define clock 3void setup(){ pinMode(clock, OUTPUT); // ustaw pin zegara jako wyjście pinMode(data, OUTPUT); // spraw, aby pin danych był wyjściem Ale teraz w konfiguracji void jest pętla licząca 8, pobierająca pusty bajt i przesuwająca się o 1 bit na raz, zaczynając od skrajnego lewego bitu i przesuwając się w prawo. Jest to wstecz od pierwszego przykładu, w którym zaczęliśmy od skrajnego prawego bitu i pracowaliśmy w lewo, ale używając funkcji MSBFIRST, funkcja shift out wysyła dane we właściwy sposób. Ponadto dodajemy opóźnienie w pętli for, aby zwalniała na tyle, aby była widoczna. for(int i = 0; i < 8; ++i) //for 0 - 7 do { shiftOut(data, clock, MSBFIRST, 1 << i); // przesunięcie bitowe wysokiej wartości logicznej (1) o i delay(100); // opóźnij 100ms lub nie będziesz mógł tego zobaczyć } }void loop(){} // pusta pętla na razie prześlij skrypt i powinieneś teraz zobaczyć, jak bargraf zapala się każda kontrolka pojedynczo
Krok 6: Projekt 2: „2-przewodowy” 7-segmentowy kontroler wyświetlacza
Spójrz na pinout swojego 7-segmentowego wyświetlacza (miałem tylko podwójny, ale używałem tylko połowy) i użyj poniższego rysunku, aby podłączyć każdy segment do odpowiedniego bitu w rejestrze przesuwnymbit 1 = pin 3bit 2 = pin 4bit 3 = pin 5bit 4 = pin 6bit 5 = pin 10bit 6 = pin 11bit 7 = pin 12bit 8 = pin 13 (jeśli chcesz użyć kropki dziesiętnej)I katoda wyświetlacza przez rezystor 330ohm i do masy zasilania teraz otwórz seven_seg_demo.pde w arduino IDEFNajpierw widzisz, gdzie definiujemy dane i piny zegara #define data 2#define clock 3 Następnie ustawiamy wszystkie wzorce znaków w systemie binarnym, jest to całkiem proste, spójrz na poniższy rysunek, jeśli potrzebujesz środkowego segmentu wpisz jeden, następnie potrzebujesz górnego segmentu, jeśli tak, wpisz inny, rób to, aż pokryjesz wszystkie 8 segmentów, zauważ, że mój najbardziej prawy bit (bit 8) to zawsze 0, ponieważ nigdy nie włączam dziesiętnego punkt. bajt zero = B01111110;bajt pierwszy = B00000110;bajt drugi = B11011010;bajt trzeci = B11010110;bajt czwarty = B10100110;bajt piąty = B11110100;bajt szósty = B11111100;bajt siódmy = B01000110;bajt ósmy = B11111110;bajt dziewiąty = B11110110; następnie w void setup ustawiamy nasze piny danych i zegara na wyjścia void setup(){ pinMode(clock, OUTPUT); // ustaw pin zegara jako wyjście pinMode(data, OUTPUT); // ustaw dane pin jako output3} następnie w void loop używamy shiftOut do wyświetlenia każdego wzorca (liczby) czekamy 1/2 sekundy i wyświetlamy następny, od 0 do 9, ponieważ jest to wykonywane w funkcji void loop, będzie on liczony 0-9 i powtarzaj w nieskończoność. void loop(){ shiftOut(dane, zegar, LSBFIRST, zero); opóźnienie (500); shiftOut(dane, zegar, LSBFIRST, jeden); opóźnienie (500); shiftOut(dane, zegar, LSBFIRST, dwa); opóźnienie (500); shiftOut(dane, zegar, LSBFIRST, trzy); opóźnienie (500); shiftOut(dane, zegar, LSBFIRST, cztery); opóźnienie (500); shiftOut(dane, zegar, LSBFIRST, pięć); opóźnienie (500); shiftOut(dane, zegar, LSBFIRST, sześć); opóźnienie (500); shiftOut(dane, zegar, LSBFIRST, siedem); opóźnienie (500); shiftOut(dane, zegar, LSBFIRST, osiem); opóźnienie (500); shiftOut(dane, zegar, LSBFIRST, dziewięć); opóźnienie(500);}
Krok 7: Projekt 3[pt 1]: '2 Wire' 4x4 Led Matrix Display
Projekt matrycy LED 4x4 jest nieco bardziej złożony, ale prawie wszystko jest w budowie, ja zdecydowałem się na lutowanie mojej na płycie perforowanej, ale powinno być możliwe powielenie na płytce stykowej, tylko o wiele bardziej rozstawione. Obwody również różni się tym, że rejestr przesuwny nie steruje bezpośrednio diodami LED, zamiast tego wyjścia rejestru przesuwnego są wysyłane przez rezystor 1Kohm do bazy tranzystora NpN, gdy wyjście bitu jest wysokie, przepuszcza wystarczającą ilość prądu i napięcia do Tranzystor do przełączania połączenia między kolektorem a emiterem, kolektory są podłączone do "solidnego" regulowanego 5 V. Emitery tranzystorów są podłączone do rezystorów 150 omów, a rezystory są połączone z anodami 4 diod LED w rzędzie i ogranicza rząd do 20mA, chociaż podczas rysowania obrazów na wyświetlaczu świeci tylko 1 dioda na raz, a więc blisko pełnej jasności (prawie, ponieważ bardzo szybko włączają się i wyłączają, tworząc cały obraz) Są 4 rzędy i 4 kolumny, każda wiersz otrzymuje rezystor i tranzystor, na każdej kolumnie katody LED są ze sobą powiązane, wpadają do kolektora tranzystora, którego baza jest również kontrolowana przez rejestr przesuwny, a na koniec do masy. Duża wersja schematu www.instructables.com/files/orig/F7J/52X0/G1ZGOSRQ/F7J52X0G1ZGOSRQ.jpg
Krok 8: Projekt 3[pt 2]: '2 Wire' 4x4 Led Matrix Display
Rejestr przesuwny kontroluje zarówno anodę, jak i katody diod LED w formacie YX, spójrz na następujący bit 1 = kolumna 1 (najbardziej po prawej) bit 2 = kolumna 2 bit 3 = kolumna 3 bit 4 = kolumna 4 bit 5 = wiersz 1 (najwyższy) bit 6 = rząd 2 bit 7 = rząd 3 bit 8 = rząd 4 Aby zrobić obrazek, narysuj kwadrat 4x4 na papierze milimetrowym i wypełnij te, które chcesz wyświetlić, następnie utwórz tabelę YX. Poniżej zobaczysz mapowanie dla porównania, najlepiej, jak można zrobić na 4x4 "piksele"Dla każdej wypełnionej sekcji zapisuję, w której kolumnie (Y) się znajduje, a następnie w którym wierszu się znajduje (X)Teraz otwórz się plik _4x4.pde w arduino IDE zobaczysz naszych starych 2 znajomych #define data 2#define clock 3 następnie tablica liczb całkowitych int img = {1, 1, 4, 1, 1, 3, 4, 3, 2, 4, 3, 4}; Jeśli spojrzysz na to tylko listę moich zapisanych współrzędnych YX, byłoby ciężko przekonwertować te wartości ręcznie, a mamy komputer… niech to zrobi! Idąc dalej, jest konfiguracja void, w której tworzymy nasz zegar i piny danych WYJŚCIA void setup(){ pinMode(clock, OUTPUT); // ustaw pin zegara jako wyjście pinMode(data, OUTPUT); // ustaw dane przypinane jako wyjście3} I myląca pętla void, aby zacząć wszystko, musimy zadeklarować kilka lokalnych zmiennych void loop(){ int Y; int X; bajt się; Następnie pętla for, ta pętla musi być tak długa, jak liczba wpisów w tablicy img, dla tego obrazu użyłem tylko 6 pikseli, co daje 12 współrzędnych YX. Pomijam co drugą liczbę, używając i +=2, ponieważ czytamy 2 współrzędne na pętlę for(int i = 0; i < 12; i += 2) // liczba punktów w tablicy img, w tym przypadku 12 { Teraz czytamy wpis Y w w tablicy i odejmujemy jeden od jego wartości, ponieważ bajty nie zaczynają się od jedynki, zaczynają się od zera, ale policzyliśmy od 1 // otrzymujemy pierwszą parę przewodów YX Y = (img-1); // odejmij jeden, ponieważ liczba bitów zaczyna się od 0 Następnie odczytujemy w tablicy wpis X w [i + 1] i odejmujemy jeden od jego wartości, z tego samego powodu X = (img[i+1] - 1); Po uzyskaniu wartości YX piksela wykonujemy trochę bitów lub matematykę i przesuwamy w lewo. Najpierw musimy odczytać wartość X i niezależnie od jej wartości, przesunąć ją o tyle miejsc + 4 w lewo, więc jeśli X wynosi 4 i dodaj 4 to jest bit 8 (MSB), ponownie patrząc na wykres … bit 1 = kolumna 1 (najbardziej po prawej) bit 2 = kolumna 2 bit 3 = kolumna 3 bit 4 = kolumna 4 bit 5 = rząd 1 (najwyższy) bit 6 = rząd 2 bit 7 = wiersz 3 bit 8 = wiersz 4 Bit 8 to ostatni wiersz Następnie wartość Y jest również przesuwana w lewo, tym razem po prostu sama, nic nie dodaje się. W końcu oba są sprowadzane razem do 1 bajtu zamiast 2 pół bajtów (nibbles), użycie bitowe lub (symbol |) zajmuje dwa bajty i zasadniczo je sumuje, załóżmy X = 10000000Y = 00000001-------------------- LUB = 100000001wiersz 4 kolumna 1 na zewnątrz = 1 << (X + 4) | 1 << Y; I wreszcie shiftOut, aby wyświetlić bieżący obraz, i rób to, aż nie będziemy mieć więcej danych w tablicy… opóźnij chwilę i zapętl w nieskończoność, ponieważ przesuwaliśmy dane w lewo i potrzebujemy, aby MSB był na ostatnim pinie wyjściowym rejestru przesuwnego wyślij go jako pierwszy. shiftOut(dane, zegar, MSBFIRST, out); // przesuń bajt do naszego rejestru delay(1); // opóźnij trochę, aby miał szansę zostawić plamkę światła w twoich oczach Zapraszam do tworzenia własnych obrazów i efektów, Dostępne są 3 przykładowe pliki, uśmiechnięta buźka i szachownica (która bardziej przypomina paski), i wreszcie losowy twórca blasku
Krok 9: Wniosek
W sumie jest to całkiem poręczny mały chip i cieszę się, że zeskrobałem go ze starego kawałka elektroniki, który trafił do kosza. Może być używany do innych rzeczy poza systemami wyświetlania, ale każdy lubi światła i natychmiastową informację zwrotną widząc to, co się dzieje, jest niezwykle pomocne dla myślicieli wizualnych takich jak ja. Proszę również wybaczyć mój kod, mam arduino dopiero od trzeciego tygodnia października i był to dość duży kurs przyspieszony. Ale to wspaniała rzecz w systemie, jeśli usiądziesz i zaczniesz z nim pracować, jest on pełen zgrabnych funkcji, które sprawiają, że kontrolowanie świata za pomocą 8-bitowego mikrokontrolera jest całkiem łatwe. Jak zawsze pytania i komentarze są mile widziane i dzięki za czytając, mam nadzieję, że dużo się nauczyłeś
Zalecana:
Czujnik ultradźwiękowy do rejestrowania zmian położenia obiektów: 3 kroki
Czujnik ultradźwiękowy do rejestrowania zmian pozycji obiektów: Ważne jest, aby zapewnić bezpieczeństwo cennych rzeczy. Byłoby kiepskim, gdybyś cały dzień pilnował zamku. Używając aparatu raspberry pi, możesz zrobić zdjęcia w odpowiednim momencie. Ten przewodnik pomoże Ci nakręcić film lub zrobić zdjęcie
Wykres zmian temperatury od zmian klimatu w Pythonie: 6 kroków
Wykres zmian temperatury od zmian klimatu w Pythonie: Zmiana klimatu to duży problem. A wielu ludzi nie wie teraz, jak bardzo wzrosło. W tej instrukcji przedstawimy wykres zmian temperatury w klimacie spowodowanych zmianami klimatu. Aby uzyskać ściągawkę, możesz wyświetlić plik Pythona poniżej
Śledzenie zmian przyspieszenia za pomocą Raspberry Pi i MMA7455 za pomocą Pythona: 6 kroków
Śledzenie zmian akceleracji za pomocą Raspberry Pi i MMA7455 przy użyciu Pythona: nie potknąłem się, testowałem grawitację. Nadal działa… Reprezentacja przyspieszającego wahadłowca kosmicznego wyjaśniała, że zegar w najwyższym punkcie wahadłowca wybierałby szybszy niż zegar u podstawy z powodu grawitacyjnego rozszerzania się czasu. Trochę
Pomiar zmian siły generowanej sieci światłowodowej po przemieszczeniu siłą zewnętrzną: 8 kroków
Pomiar zmian siły generowanej sieci światłowodowej po przemieszczeniu siłą zewnętrzną: Komórki są w stanie oddziaływać z otaczającą macierzą zewnątrzkomórkową (ECM) i mogą zarówno aplikować, jak i reagować na siły wywierane przez ECM. W naszym projekcie symulujemy połączoną sieć włókien, która działałaby jako ECM i widzimy, jak
Odtwarzaj pliki MP3 na 70-letnim gramofonie - bez stałych zmian: 3 kroki
Odtwarzaj pliki MP3 na 70-letnim gramofonie - bez trwałych zmian: Zasadniczo ustawiłem połączenie mono między wybranym przez ciebie źródłem plików MP3 lub multimediów, komputerem, kasetą, krótkofalówką i bezpośrednio podłączonym przewodem. do głośnika za pomocą zacisków krokodylkowych.Jak zawsze film instruktażowy/demonstracyjny: PLEASEif