Innehållsförteckning:
- Steg 1: Grundläggande hårdvara som vi kräver
- Steg 2: Ansluta hårdvaran
- Steg 3: Python -kodning för Raspberry Pi
- Steg 4: Kodens funktionsförmåga
- Steg 5: Applikationer och funktioner
- Steg 6: Slutsats
Video: Rörelsekontroll med Raspberry Pi och LIS3DHTR, 3-axlig accelerometer, med Python: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:40
Skönhet omger oss, men vanligtvis måste vi gå i en trädgård för att veta det. - Rumi
Som den utbildade gruppen som vi verkar vara investerar vi den stora majoriteten av vår energi i att arbeta före våra datorer och mobiltelefoner. Därför låter vi ofta vårt välbefinnande ta den sekundära loungen, utan att hitta ett perfekt tillfälle att gå till gymmet eller träna och som regel välja snabbmat framför mycket mer fördelaktiga val. Den upplyftande nyheten är om allt du behöver är lite hjälp med journalföring eller för att övervaka dina framsteg. Du kan använda dagens innovation för att tillverka någon gadget för att hjälpa dig själv.
Tekniken utvecklas snabbt. Genomgående får vi vind av ny innovation som kommer att förändra världen och hur vi lär oss den. När du är intresserad av datorer, kodning och robotar eller bara gillar att pyssla, finns det en teknisk välsignelse där ute. Raspberry Pi, den enda Linux -datorn med en enda platta, är dedikerad till att förbättra sättet du lär dig med den innovativa tekniken men också nyckeln till att förbättra utbildningsinlärning runt om i världen. Så vad är de möjliga resultaten av vad vi kan göra om vi har en Raspberry Pi och en 3-axlig accelerometer i närheten? Vad sägs om vi hittar det här! I denna uppgift kommer vi att kontrollera accelerationen på 3 vinkelräta axlar, X, Y och Z med Raspberry Pi och LIS3DHTR, en 3-axlig accelerometer. Så vi borde se på denna resa för att skapa ett system för att kontrollera den tredimensionella accelerationen upp eller G-Force.
Steg 1: Grundläggande hårdvara som vi kräver
Problemen var mindre för oss eftersom vi har en enorm mängd saker som ligger och jobbar utifrån. I alla fall vet vi hur det är besvärligt för andra att samla rätt del i obefläckad tid från den hjälpsamma platsen och det försvaras med liten hänsyn till varje krona. Så vi skulle hjälpa dig. Följ den medföljande för att få en komplett reservdelslista.
1. Hallon Pi
Det första steget var att skaffa ett Raspberry Pi -kort. Raspberry Pi är en Linux-baserad PC med ett kort. Den här lilla datorn ger kraft i datorkraften, som används som en del av gadgetsaktiviteter och enkla funktioner som kalkylblad, ordförberedelse, webbsökning och e -post och spel.
2. I2C Shield för Raspberry Pi
Det främsta bekymret Raspberry Pi verkligen saknas är en I²C -port. Så för det ger TOUTPI2 I²C -kontakten dig känslan av att använda Rasp Pi med ALLA I²C -enheter. Den är tillgänglig på DCUBE Store
3. 3-axlig accelerometer, LIS3DHTR
LIS3DH är en högeffektiv treaxlig linjär accelerationsmätare som hör till "nano" -familjen och har ett digitalt I2C/SPI-seriellt gränssnitt som standardutgång. Vi köpte den här sensorn från DCUBE Store
4. Anslutningskabel
Vi köpte I2C -anslutningskabeln från DCUBE Store
5. Micro USB -kabel
Den minsta förvirrade, men ändå strängaste i den mån strömbehovet är Raspberry Pi! Det enklaste sättet att hantera är med hjälp av Micro USB -kabeln.
6. Webbåtkomst är ett behov
INTERNET -barn sover ALDRIG
Anslut din Raspberry Pi till en Ethernet -kabel (LAN) och anslut den till din nätverksrouter. Valfri, sök efter en WiFi -kontakt och använd en av USB -portarna för att komma till fjärrsystemet. Det är ett angeläget beslut, enkelt, litet och busigt!
7. HDMI -kabel/fjärråtkomst
Raspberry Pi har en HDMI -port som du kan ansluta specifikt till en skärm eller TV med en HDMI -kabel. Valfri, du kan använda SSH för att associera med din Raspberry Pi från en Linux -dator eller Macintosh från terminalen. På samma sätt låter PuTTY, en gratis och öppen källterminalemulator som ett bra alternativ.
Steg 2: Ansluta hårdvaran
Gör kretsen enligt schematisk framträdde. Rita upp ett diagram och följ konturen exakt. Fantasi är viktigare än kunskap.
Anslutning av Raspberry Pi och I2C Shield
Framför allt annat, ta Raspberry Pi och upptäck I2C -skölden på den. Tryck på skärmen försiktigt över GPIO -stiften på Pi och vi är klara med den här utvecklingen så enkel som en paj (se bilden).
Anslutning av sensorn och Raspberry Pi
Ta sensorn och anslut I2C -kabeln med den. För korrekt användning av denna kabel, kom ihåg att I2C -utgång ALLTID är associerad med I2C -ingången. Detsamma måste tas efter för Raspberry Pi med I2C -skölden monterad över GPIO -stiften.
Vi stöder användningen av I2C-kabeln eftersom den förnekar behovet av att undersöka pinouts, fastsättning och obehag som orsakas av även den minsta skruven. Med denna grundläggande anslutnings- och uppspelningskabel kan du presentera, byta ut prylar eller lägga till fler prylar till ett program effektivt. Detta underlättar arbetsvikten upp till en betydande nivå.
Obs: Den bruna tråden bör på ett tillförlitligt sätt följa jordanslutningen (GND) mellan utgången på en enhet och ingången till en annan enhet
Webbnätverk är nyckeln
För att vår strävan ska bli en vinst kräver vi en internetförening för vår Raspberry Pi. För detta har du val som att ansluta en Ethernet -kabel (LAN) till hemnätverket. Som ett alternativ, hur som helst, är en tillmötesgående kurs att använda en WiFi USB -kontakt. Som regel kräver du en förare för att få det att fungera. Så luta dig mot den med Linux i beskrivningen.
Strömförsörjning
Anslut Micro USB -kabeln till strömuttaget på Raspberry Pi. Punch upp och vi är redo.
Anslutning till skärm
Vi kan ha HDMI -kabeln associerad med en annan skärm. I vissa fall måste du komma till en Raspberry Pi utan att ansluta den till en skärm eller så kan du behöva visa lite data från den någon annanstans. Tänkbart finns det innovativa och ekonomiskt kunniga tillvägagångssätt för att göra som sådant. En av dem använder -SSH (fjärrkommando -inloggning). Du kan också använda PUTTY -programvaran för det. Dessa är för avancerade användare. Så detaljerna ingår inte här.
Steg 3: Python -kodning för Raspberry Pi
Python -koden för Raspberry Pi och LIS3DHTR -sensorn är tillgänglig i vårt GithubRepository.
Innan du fortsätter med koden, se till att du läser reglerna i Readme -arkivet och konfigurerar din Raspberry Pi enligt den. Det kommer bara att pausa ett ögonblick för att göra allt som övervägs.
En accelerometer är en elektromekanisk gadget som mäter accelerationskrafter. Dessa krafter kan vara statiska, liknande den konstanta tyngdkraften som drar vid dina fötter, eller de kan ändras - framkallade genom att flytta eller vibrera accelerometern.
Det medföljande är pythonkoden och du kan klona och justera koden på alla sätt du lutar mot.
# Distribueras med en fri viljelicens.# Använd den hur du vill, vinst eller gratis, förutsatt att den passar in i licenserna för dess associerade verk. # LIS3DHTR # Denna kod är utformad för att fungera med LIS3DHTR_I2CS I2C Mini Module tillgänglig från dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-mini-modul/
importera smbus
importtid
# Skaffa I2C -buss
buss = smbus. SMBus (1)
# LIS3DHTR -adress, 0x18 (24)
# Välj styrregister1, 0x20 (32) # 0x27 (39) Power ON-läge, val av datahastighet = 10 Hz # X, Y, Z-axelaktiverad buss. Skriv_byte_data (0x18, 0x20, 0x27) # LIS3DHTR-adress, 0x18 (24) # Välj kontrollregister4, 0x23 (35) # 0x00 (00) Kontinuerlig uppdatering, Fullskaleval = +/- 2G buss.write_byte_data (0x18, 0x23, 0x00)
tid. sover (0,5)
# LIS3DHTR -adress, 0x18 (24)
# Läs tillbaka data från 0x28 (40), 2 byte # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)
# Konvertera data
xAccl = data1 * 256 + data0 om xAccl> 32767: xAccl -= 65536
# LIS3DHTR -adress, 0x18 (24)
# Läs tillbaka data från 0x2A (42), 2 byte # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)
# Konvertera data
yAccl = data1 * 256 + data0 om yAccl> 32767: yAccl -= 65536
# LIS3DHTR -adress, 0x18 (24)
# Läs tillbaka data från 0x2C (44), 2 byte # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)
# Konvertera data
zAccl = data1 * 256 + data0 om zAccl> 32767: zAccl -= 65536
# Mata ut data till skärmen
print "Acceleration i X-Axis: %d" %xAccl print "Acceleration i Y-Axis: %d" %yAccl print "Acceleration i Z-Axis: %d" %zAccl
Steg 4: Kodens funktionsförmåga
Ladda ner (eller git pull) koden från Github och öppna den i Raspberry Pi.
Kör kommandona för att kompilera och ladda upp koden i terminalen och se avkastningen på skärmen. Efter ett par minuter visar det var och en av parametrarna. Eftersom du garanterar att allt fungerar utan problem kan du ta detta våg till ett mer anmärkningsvärt företag.
Steg 5: Applikationer och funktioner
Tillverkad av STMicroelectronics, LIS3DHTR har dynamiskt användarvalbara hela skalor på ± 2g/± 4g/± 8g/± 16g och den kan mäta accelerationer med utdatahastigheter från 1Hz till 5kHz. LIS3DHTR är lämplig för rörelseaktiverade funktioner och fritt fallavkänning. Det kvantifierar den statiska tyngdaccelerationen i lutningsdetekterande applikationer, och dessutom kommer dynamisk acceleration på grund av rörelse eller chock. Andra applikationer inkluderar klick-/dubbelklickigenkänning, intelligent energibesparing för handhållna enheter, stegräknare, displayorientering, spel- och virtuell inmatningsenheter, effektigenkänning och loggning och vibrationsövervakning och kompensation.
Steg 6: Slutsats
Lita på att detta företag leder till ytterligare experiment. Denna I2C -sensor är fenomenalt anpassningsbar, blygsam och tillgänglig. Eftersom det är en i en otrolig grad obeständig ram, finns det intressanta sätt att utöka detta uppdrag och förbättra det till och med.
Till exempel kan du börja med idén om en stegräknare med LIS3DHTR och Raspberry Pi. I ovanstående uppgift har vi använt grundläggande beräkningar. Acceleration kan vara den relevanta parametern för att analysera den härskande en gång. Du kan kontrollera de tre rörelsekomponenterna för en individ som är framåt (rulle, X), sida (tonhöjd, Y) och vertikal (gungaxel, Z). Ett typiskt mönster för alla 3 axlar registreras. Minst en axel kommer att ha relativt stora periodiska accelerationsvärden. Så toppriktning och en algoritm är avgörande. Med hänsyn till stegets parameter (digitalt filter, toppdetektering, tidsfönster etc.) för denna algoritm kan du känna igen och räkna steg samt mäta avstånd, hastighet och i viss utsträckning förbrända kalorier. Så du kan använda den här sensorn på olika sätt du kan överväga. Vi litar på att ni alla gillar det! Vi kommer att försöka göra en fungerande återgivning av denna stegräknare förr snarare än senare, konfigurationen, koden, delen som beräknar medel för att separera gång och löpning och förbrända kalorier.
För din tröst har vi en spännande video på YouTube som kan hjälpa dig att granska. Lita på detta företag motiverar ytterligare utforskning. Fortsätt fundera! Kom ihåg att leta efter, eftersom mer ständigt kommer.
Rekommenderad:
Tensegrity eller Double 5R Parallel Robot, 5 Axis (DOF) Billigt, Tufft, rörelsekontroll: 3 steg (med bilder)
Tensegrity eller Double 5R Parallel Robot, 5 Axis (DOF) Billigt, tufft, rörelsekontroll: Jag hoppas att du kommer att tycka att detta är den STORA idén för din dag! Detta är ett bidrag i Instructables Robotics -tävlingen som avslutas 2 december 2019.Projektet har tagit sig till den sista omgången av bedömning, och jag har inte hunnit göra de uppdateringar jag ville! Jag har
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid
Arduino Nano och Visuino: Konvertera acceleration till vinkel från accelerometer och gyroskop MPU6050 I2C -sensor: 8 steg (med bilder)
Arduino Nano och Visuino: Konvertera acceleration till vinkel från accelerometer och gyroskop MPU6050 I2C -sensor: För ett tag sedan lade jag upp en handledning om hur du kan ansluta MPU9250 Accelerometer, Gyroscope och kompassensor till Arduino Nano och programmera den med Visuino för att skicka paketdata och visa den på ett omfång och visuella instrument. Accelerometern skickar X, Y,
Lägga till rörelsekontroll till en projektionsklocka: 7 steg
Lägga till rörelsekontroll till en projektionsklocka: Mål: Lägg till en rörelsessensor som lyser upp klockan på natten när den upptäcker rörelse och gör bakgrundsbelysningens ljusstyrka manuellt. Varför: Jag har bara några få krav för en bra sängklocka. Det måste vara lätt synligt, men inte ljust