Spisu treści:

Sterowanie ruchem za pomocą Raspberry Pi i LIS3DHTR, 3-osiowy akcelerometr, przy użyciu Pythona: 6 kroków
Sterowanie ruchem za pomocą Raspberry Pi i LIS3DHTR, 3-osiowy akcelerometr, przy użyciu Pythona: 6 kroków

Wideo: Sterowanie ruchem za pomocą Raspberry Pi i LIS3DHTR, 3-osiowy akcelerometr, przy użyciu Pythona: 6 kroków

Wideo: Sterowanie ruchem za pomocą Raspberry Pi i LIS3DHTR, 3-osiowy akcelerometr, przy użyciu Pythona: 6 kroków
Wideo: Sterowanie przekaźnikiem (Raspberry Pi z ekranem dotykowym, GUI i Qt) 2024, Grudzień
Anonim
Image
Image
Podstawowy sprzęt, którego potrzebujemy
Podstawowy sprzęt, którego potrzebujemy

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

Podstawowy sprzęt, którego potrzebujemy
Podstawowy sprzęt, którego potrzebujemy
Podstawowy sprzęt, którego potrzebujemy
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

Podłączanie sprzętu
Podłączanie sprzętu
Podłączanie sprzętu
Podłączanie sprzętu
Podłączanie sprzętu
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

Kodowanie Pythona dla Raspberry Pi
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

Wykonalność Kodeksu
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: