Spisu treści:
- Krok 1: Podstawowy sprzęt, którego potrzebujemy
- Krok 2: Podłączanie sprzętu
- Krok 3: Kodowanie Pythona dla Raspberry Pi
- Krok 4: Wykonalność Kodeksu
- Krok 5: Aplikacje i funkcje
- Krok 6: Wniosek
Wideo: Sterowanie ruchem za pomocą Raspberry Pi i LIS3DHTR, 3-osiowy akcelerometr, przy użyciu Pythona: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Piękno nas otacza, ale zazwyczaj, żeby je poznać, musimy spacerować po ogrodzie. - Rumi
Jako wykształcona grupa, którą wydajemy się być, inwestujemy większość naszej energii w pracę przed komputerami i telefonami komórkowymi. Dlatego często pozwalamy naszemu dobremu samopoczuciu zająć drugie miejsce, nigdy tak naprawdę nie znajdując idealnej okazji na pójście na siłownię lub zajęcia fitness i z reguły wybieramy fast foody zamiast znacznie korzystniejszych wyborów. Podnoszącą na duchu wiadomością jest to, czy wszystko, czego potrzebujesz, to pomoc w prowadzeniu dokumentacji lub monitorowaniu swoich postępów, możesz wykorzystać dzisiejszą innowację do produkcji gadżetów, które pomogą sobie.
Technologia szybko się rozwija. Konsekwentnie łapiemy wiatr na nowe innowacje, które zmienią świat i sposób, w jaki się w nim uczymy. Kiedy interesujesz się komputerami, kodowaniem i robotami lub po prostu lubisz majsterkować, jest tam błogosławieństwo technologiczne. Raspberry Pi, mikro, jednopłytkowy komputer z systemem Linux, jest przeznaczony do ulepszania sposobu uczenia się dzięki innowacyjnej technologii, ale także jest kluczem do poprawy nauczania na całym świecie. Więc jakie są możliwe wyniki, co możemy zrobić, jeśli mamy w pobliżu Raspberry Pi i 3-osiowy akcelerometr? Co powiesz na to, że to znajdziemy! W tym zadaniu sprawdzimy przyspieszenie na 3 prostopadłych osiach, X, Y i Z, wykorzystując Raspberry Pi i LIS3DHTR, 3-osiowy akcelerometr. Powinniśmy więc zobaczyć w tej podróży stworzenie systemu sprawdzającego trójwymiarowe przyspieszenie lub siłę grawitacji.
Krok 1: Podstawowy sprzęt, którego potrzebujemy
Problemy były dla nas mniej, ponieważ mamy ogromną ilość rzeczy do pracy. W każdym razie wiemy, jak kłopotliwe jest dla innych zgromadzenie właściwej części w nieskazitelnym czasie z pomocnego miejsca i jest to bronione, nie zważając na każdy grosz. Więc pomoglibyśmy ci. Postępuj zgodnie z załączonymi instrukcjami, aby uzyskać pełną listę części.
1. Raspberry Pi
Pierwszym krokiem było zdobycie płyty Raspberry Pi. Raspberry Pi to jednopłytowy komputer PC oparty na systemie Linux. Ten mały komputer ma moc obliczeniową, która jest wykorzystywana jako część działań związanych z gadżetami, a także proste operacje, takie jak arkusze kalkulacyjne, przygotowywanie słów, skanowanie sieci i poczty e-mail oraz gry.
2. Osłona I2C dla Raspberry Pi
Podstawowym problemem Raspberry Pi jest naprawdę nieobecny port I²C. W tym celu złącze TOUTPI2 I²C daje sens używania Rasp Pi z KAŻDYM urządzeniem I²C. Jest dostępny w sklepie DCUBE
3. Akcelerometr 3-osiowy, LIS3DHTR
LIS3DH jest trójosiowym akcelerometrem liniowym o bardzo niskiej mocy i wysokiej wydajności, należącym do rodziny „nano”, ze standardowym wyjściem cyfrowego interfejsu szeregowego I2C/SPI. Kupiliśmy ten czujnik ze sklepu DCUBE
4. Kabel połączeniowy
Kupiliśmy kabel połączeniowy I2C ze sklepu DCUBE
5. Kabel Micro USB
Najmniejszy oszołomiony, ale najbardziej rygorystyczny pod względem zapotrzebowania na energię jest Raspberry Pi! Najprostszym sposobem radzenia sobie jest użycie kabla Micro USB.
6. Dostęp do sieci jest koniecznością
Internetowe dzieci NIGDY nie śpią
Połącz Raspberry Pi z kablem Ethernet (LAN) i podłącz go do routera sieciowego. Ewentualnie wyszukaj złącze Wi-Fi i użyj jednego z portów USB, aby uzyskać dostęp do zdalnego systemu. To przemyślana decyzja, prosta, mała i tandetna!
7. Kabel HDMI/zdalny dostęp
Raspberry Pi posiada port HDMI, który można podłączyć specjalnie do ekranu lub telewizora za pomocą kabla HDMI. Ewentualnie możesz użyć SSH do skojarzenia z Raspberry Pi z komputera z systemem Linux lub Macintosh z terminala. Podobnie PuTTY, darmowy emulator terminala o otwartym kodzie źródłowym, brzmi jak przyzwoita alternatywa.
Krok 2: Podłączanie sprzętu
Zrób obwód zgodnie ze schematem. Sporządź diagram i weź dokładnie po zarysie. Wyobraźnia jest ważniejsza niż wiedza.
Połączenie Raspberry Pi i I2C Shield
Przede wszystkim weź Raspberry Pi i zobacz na nim I2C Shield. Delikatnie naciśnij Shield na piny GPIO Pi i skończymy z tą progresją tak prostą jak bułka z masłem (patrz przystawka).
Połączenie czujnika i Raspberry Pi
Weź czujnik i połącz z nim kabel I2C. Aby zapewnić prawidłowe działanie tego kabla, pamiętaj, że wyjście I2C ZAWSZE jest powiązane z wejściem I2C. To samo należy wykonać dla Raspberry Pi z zamontowaną na nim osłoną I2C na pinach GPIO.
Popieramy stosowanie kabla I2C, ponieważ neguje to konieczność badania pinoutów, mocowania i dyskomfortu spowodowanego nawet najmniejszą wpadką. Dzięki temu podstawowemu kablowi do podłączania i odtwarzania możesz skutecznie prezentować, wymieniać gadżety lub dodawać więcej gadżetów do aplikacji. Ułatwia to wagę pracy do znacznego poziomu.
Uwaga: Brązowy przewód powinien być zgodny z uziemieniem (GND) pomiędzy wyjściem jednego urządzenia a wejściem innego urządzenia
Sieć internetowa jest kluczem
Aby nasze przedsięwzięcie odniosło sukces, potrzebujemy powiązania internetowego dla naszego Raspberry Pi. W tym celu masz do wyboru takie opcje, jak połączenie kabla Ethernet (LAN) z siecią domową. Ponadto, jako alternatywę, tak czy inaczej, odpowiednim kursem jest użycie złącza USB WiFi. Z reguły do tego potrzebny jest sterownik, aby działał. Więc skłaniaj się ku temu z Linuksem w opisie.
Zasilacz
Podłącz kabel Micro USB do gniazda zasilania Raspberry Pi. Atakuj i jesteśmy gotowi.
Połączenie z ekranem
Możemy mieć kabel HDMI powiązany z innym ekranem. W niektórych przypadkach musisz dostać się do Raspberry Pi bez łączenia go z ekranem lub możesz potrzebować wyświetlić z niego niektóre dane z innego miejsca. Niewykluczone, że istnieją innowacyjne i oszczędne podejścia do robienia tego jako takiego. Jednym z nich jest użycie -SSH (zdalne logowanie z wiersza poleceń). Możesz również wykorzystać do tego oprogramowanie PUTTY. Są przeznaczone dla zaawansowanych użytkowników. Więc szczegóły nie są tutaj zawarte.
Krok 3: Kodowanie Pythona dla Raspberry Pi
Kod Pythona dla Raspberry Pi i czujnika LIS3DHTR jest dostępny w naszym GithubRepository.
Przed przejściem do kodu upewnij się, że przeczytałeś zasady podane w archiwum Readme i zgodnie z nim skonfiguruj swoje Raspberry Pi. Po prostu chwilę wytchnie, jeśli zrobisz wszystko, co rozważysz.
Akcelerometr to elektromechaniczny gadżet, który mierzy siły przyspieszenia. Te moce mogą być statyczne, podobne do stałej siły grawitacji, która ciągnie twoje stopy, lub mogą być zmienne - wywołane przez ruch lub wibracje akcelerometru.
Towarzyszący jest kod Pythona i możesz sklonować i dostosować kod w dowolny sposób.
# Rozprowadzany z wolną licencją.# Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł. # LIS3DHTR # Ten kod jest przeznaczony do współpracy z modułem LIS3DHTR_I2CS I2C Mini dostępnym na stronie dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-mini-moduł/
importuj smbus
czas importu
# Uzyskaj magistralę I2C
autobus = smbus. SMBus(1)
# Adres LIS3DHTR, 0x18(24)
# Wybierz rejestr kontrolny1, 0x20(32) # 0x27(39) Tryb włączenia zasilania, wybór szybkości transmisji danych = 10 Hz # X, Y, oś Z włączona bus.write_byte_data(0x18, 0x20, 0x27) # Adres LIS3DHTR, 0x18(24) # Wybierz rejestr kontrolny4, 0x23(35) # 0x00(00) Ciągła aktualizacja, Wybór na pełną skalę = +/-2G bus.write_byte_data(0x18, 0x23, 0x00)
czas.sen(0.5)
# Adres LIS3DHTR, 0x18(24)
# Odczytaj dane z powrotem z 0x28(40), 2 bajty # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x18, 0x28) data1 = bus.read_byte_data(0x18, 0x29)
# Konwertuj dane
xAccl = dane1 * 256 + dane0 jeśli xAccl > 32767: xAccl -= 65536
# Adres LIS3DHTR, 0x18(24)
# Odczytaj dane z powrotem z 0x2A(42), 2 bajty # Oś Y LSB, Oś Y MSB data0 = bus.read_byte_data(0x18, 0x2A) data1 = bus.read_byte_data(0x18, 0x2B)
# Konwertuj dane
yAccl = dane1 * 256 + dane0 jeśli yAccl > 32767: yAccl -= 65536
# Adres LIS3DHTR, 0x18(24)
# Odczytaj dane z powrotem z 0x2C(44), 2 bajty # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data(0x18, 0x2C) data1 = bus.read_byte_data(0x18, 0x2D)
# Konwertuj dane
zAccl = dane1 * 256 + dane0 jeśli zAccl > 32767: zAccl -= 65536
# Dane wyjściowe na ekran
print "Przyspieszenie w osi X: %d" %xAccl print "Przyspieszenie w osi Y: %d" %yAccl print "Przyspieszenie w osi Z: %d" %zAccl
Krok 4: Wykonalność Kodeksu
Pobierz (lub git pull) kod z Github i otwórz go w Raspberry Pi.
Uruchom polecenia skompiluj i prześlij kod w terminalu i zobacz wydajność na ekranie. Po kilku minutach zademonstruje każdy z parametrów. Konsekwentnie gwarantując, że wszystko działa bezproblemowo, możesz podjąć to wyzwanie w bardziej godnym uwagi przedsięwzięciu.
Krok 5: Aplikacje i funkcje
Wyprodukowany przez STMicroelectronics, LIS3DHTR ma dynamicznie wybieraną przez użytkownika pełną skalę ±2g/±4g/±8g/±16g i jest w stanie mierzyć przyspieszenia z wyjściowymi szybkościami danych od 1Hz do 5kHz. LIS3DHTR jest odpowiedni dla funkcji aktywowanych ruchem i wykrywania swobodnego spadania. Określa ilościowo statyczne przyspieszenie grawitacji w aplikacjach wykrywających przechyły, a ponadto dynamiczne przyspieszenie nadchodzące z powodu ruchu lub wstrząsów. Inne aplikacje obejmują rozpoznawanie kliknięć/podwójnych kliknięć, inteligentne oszczędzanie energii dla urządzeń przenośnych, krokomierz, orientację wyświetlacza, urządzenia wejściowe do gier i wirtualnej rzeczywistości, rozpoznawanie i rejestrowanie uderzeń oraz monitorowanie i kompensację wibracji.
Krok 6: Wniosek
Zaufaj temu przedsięwzięciu zachęca do dalszych eksperymentów. Ten czujnik I2C jest fenomenalnie elastyczny, skromny i dostępny. Ponieważ jest to w niesamowitym stopniu nietrwały szkielet, istnieją ciekawe sposoby na rozszerzenie tego zadania, a nawet jego ulepszenie.
Na przykład możesz zacząć od pomysłu krokomierza za pomocą LIS3DHTR i Raspberry Pi. W powyższym zadaniu wykorzystaliśmy obliczenia podstawowe. Przyspieszenie może być istotnym parametrem do analizy rządzącej chodzeniem. Możesz sprawdzić trzy komponenty ruchu dla osoby, które są do przodu (przechylenie, X), boczne (nachylenie, Y) i pionowe (oś odchylenia, Z). Rejestrowany jest typowy wzór wszystkich 3 osi. Co najmniej 1 oś będzie miała stosunkowo duże wartości przyspieszenia okresowego. Tak więc kierunek szczytów i algorytm są niezbędne. Biorąc pod uwagę parametry kroków (filtr cyfrowy, detekcja szczytów, okno czasowe itp.) tego algorytmu, możesz rozpoznawać i liczyć kroki, a także mierzyć odległość, prędkość i – w pewnym stopniu – spalone kalorie. Możesz więc wykorzystać ten czujnik na różne sposoby, które możesz rozważyć. Ufamy, że wam się to podoba! Spróbujemy stworzyć działającą wersję tego krokomierza prędzej niż później, konfigurację, kod, część obliczającą środki do oddzielenia chodzenia i biegania oraz spalonych kalorii.
Na pocieszenie przygotowaliśmy intrygujący film na YouTube, który może pomóc w przeprowadzeniu badania. Zaufanie to przedsięwzięcie motywuje do dalszych poszukiwań. Kontynuuj rozmyślanie! Pamiętaj, aby uważać, ponieważ uporczywie pojawia się więcej.
Zalecana:
Jak stworzyć swoje pierwsze proste oprogramowanie przy użyciu Pythona: 6 kroków
Jak zrobić swoje pierwsze proste oprogramowanie przy użyciu Pythona: Cześć, witaj w tej instrukcji. Tutaj opowiem jak stworzyć własne oprogramowanie. Tak, jeśli masz pomysł… ale wiesz, jak wdrożyć lub jesteś zainteresowany tworzeniem nowych rzeczy, to jest dla Ciebie… Wymagania wstępne: Powinieneś mieć podstawową wiedzę z
Pulpit nawigacyjny COVID19 na mapie świata (przy użyciu Pythona): 16 kroków
Pulpit nawigacyjny COVID19 na mapie świata (przy użyciu Pythona): Wiem, że prawie każdy z nas zna większość informacji o COVID19. A ta instrukcja dotyczy tworzenia mapy bąbelkowej, aby wykreślić dane w czasie rzeczywistym (przypadków) na mapie świata. Dla większej wygody , dodałem program do repozytorium Github: https://github.co
Eksperymenty z zaawansowanym rejestrowaniem danych (przy użyciu Pythona): 11 kroków
Eksperymenty w zaawansowanym rejestrowaniu danych (przy użyciu Pythona): Istnieje wiele instrukcji dotyczących rejestrowania danych, więc kiedy chciałem zbudować własny projekt rejestrowania, rozejrzałem się po kilku. Niektóre były dobre, inne nie, więc postanowiłem wziąć kilka lepszych pomysłów i stworzyć własną aplikację. Ten wynik
Nauka orientacji za pomocą Raspberry Pi i MXC6226XU przy użyciu Pythona: 6 kroków
Badanie orientacji za pomocą Raspberry Pi i MXC6226XU przy użyciu Pythona: Hałas to po prostu część pracy pojazdu. Szum bardzo dokładnie dostrojonego silnika pojazdu to wspaniały dźwięk. Bieżniki opon szepczą na drodze, wiatr wyje, gdy krąży wokół lusterek, plastikowych kawałków i kawałków deski rozdzielczej
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim