Innehållsförteckning:

3-axlig accelerometer, ADXL345 med hallon Pi med Python: 6 steg
3-axlig accelerometer, ADXL345 med hallon Pi med Python: 6 steg

Video: 3-axlig accelerometer, ADXL345 med hallon Pi med Python: 6 steg

Video: 3-axlig accelerometer, ADXL345 med hallon Pi med Python: 6 steg
Video: Biomedical Mechatronics Project 3: Accelerometer 2024, November
Anonim
3-axlig accelerometer, ADXL345 med hallon Pi med hjälp av Python
3-axlig accelerometer, ADXL345 med hallon Pi med hjälp av Python

Tänker på en gadget som kan kontrollera vid vilken punkt din Offroader lutar mot att dröja kvar. Skulle det inte vara trevligt om någon justeras när det finns möjlighet att välta? Uppenbarligen ja. Det skulle verkligen vara användbart för personer som älskar att åka på bergen och företagsresor.

Utan tvekan, en verkligt lysande period av avancerad bedömning av I -T, ligger IoT på oss. Som Gadgets- och programmeringsälskare tror vi, Raspberry Pi, att mikro -Linux -PC: n har behandlat människors kreativa förmågor i allmänhet och med sig en sprängning i innovativa metoder. Så vad är de tänkbara resultaten som vad vi kan göra om vi har en Raspberry Pi och en 3-axlig accelerometer i närheten? Vi borde upptäcka! I denna uppgift kommer vi att känna accelerationen på 3 axlar, X, Y och Z med Raspberry Pi och ADXL345, en 3-axlig accelerometer. Så vi bör observera på denna utflykt för att tillverka ett ramverk för att mäta den tredimensionella accelerationen upp eller G-Force.

Steg 1: Grundläggande hårdvara som vi kräver

Grundläggande hårdvara vi kräver
Grundläggande hårdvara vi kräver
Grundläggande hårdvara vi kräver
Grundläggande hårdvara vi kräver
Grundläggande hårdvara vi kräver
Grundläggande hårdvara vi kräver

Problemen var mindre för oss eftersom vi har massor av saker som ligger och jobbar utifrån. Ändå vet vi hur det är besvärligt för andra att montera rätt del i perfekt tid från den lämpliga platsen och det är motiverat oavsett varje öre. Så vi skulle hjälpa dig i alla regioner. Läs följande för att få en komplett reservdelslista.

1. Hallon Pi

Det första steget var att skaffa ett Raspberry Pi -kort. Denna lilla, lågdrivna dator ger en billig och allmänt enkel bas för elektroniska satsningar, Internet of Things (IoT), Smart Cities, School Education.

2. I2C Shield för Raspberry Pi

Det viktigaste som Raspberry Pi verkligen saknar är en I²C -port. Så för det ger TOUTPI2 I²C -kontakten dig känslan av att använda Rasp Pi med MULTIPLE I²C -enheter. Det är tillgängligt i DCUBE Store

3. 3-axlig accelerometer, ADXL345

Tillverkad av analoga enheter, ADXL345, är en lågeffekts 3-axlig accelerometer med högupplöst 13-bitars mätning på upp till ± 16g. Vi köpte den här sensorn från DCUBE Store

4. Anslutningskabel

Vi hade I2C -anslutningskabeln tillgänglig på DCUBE Store

5. Micro USB -kabel

Det minsta förvirrade, men ändå strängaste när det gäller strömbehov är Raspberry Pi! Det mest enkla sättet att starta upp Raspberry Pi är med hjälp av Micro USB -kabeln.

6. Webbåtkomst är ett behov

Webbåtkomst kan ges genom en Ethernet -kabel (LAN) som är associerad med ett lokalt nätverk och webben. Å andra sidan kan du associera med ett trådlöst nätverk med en trådlös USB -dongel, vilket kräver konfiguration.

7. HDMI -kabel/fjärråtkomst

Med HDMI -kabel ombord kan du ansluta den till en digital -TV eller till en bildskärm. Behöver spara pengar! Raspberry Pi kan fjärranslutas till att använda distinkta strategier som SSH och Access på webben. Du kan använda källprogramvaran PuTTYopen.

Steg 2: Ansluta hårdvaran

Ansluta hårdvaran
Ansluta hårdvaran
Ansluta hårdvaran
Ansluta hårdvaran
Ansluta hårdvaran
Ansluta hårdvaran
Ansluta hårdvaran
Ansluta hårdvaran

Gör kretsen enligt schematisk framträdde. Rita upp en kontur och ta efter konfigurationen medvetet.

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 föreskriver användning av I2C -kabeln eftersom den motbevisar kravet på genomgång av pinouts, lödning och obehag som orsakas av även den minsta felet. Med den här grundläggande plug and play -kabeln kan du enkelt introducera, byta ut enheter eller lägga till fler enheter i en applikation. Detta gör saker okomplicerade.

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 satsning ska bli en vinst kräver vi en webbanslutning för vår Raspberry Pi. För detta har du alternativ som att koppla en Ethernet (LAN) kabel till hemmasystemet. Dessutom, som ett alternativ, är dock en användbar väg att använda en WiFi -anslutning. En del av tiden för detta kräver du en förare för att få det att fungera. Så luta dig mot den med Linux i skildringen.

Strömförsörjning

Anslut Micro USB -kabeln till strömuttaget på Raspberry Pi. Tänd upp det så är vi igång.

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.

Steg 3: Python -kodning för Raspberry Pi

Python -kodning för Raspberry Pi
Python -kodning för Raspberry Pi

Python -koden för Raspberry Pi och ADXL345 -sensorn är tillgänglig i vårt Github -arkiv.

Innan du går vidare till koden, se till att du läser riktlinjerna i Readme -dokumentet och konfigurerar din Raspberry Pi enligt den. Det kommer helt enkelt att pausa i en minut för att göra som sådant.

En accelerometer är en enhet som mäter korrekt acceleration; korrekt acceleration är inte detsamma som koordinatacceleration (hastighetsändring av hastighet). En- och fleraxliga modeller av accelerometern är tillgängliga för att identifiera storleken och riktningen för rätt acceleration, som en vektormängd, och kan användas för att känna av orientering, koordinera acceleration, vibrationer, stötar och fall i ett resistivt medium.

Koden är enkel framför dig och den är i den mest okomplicerade strukturen som du kan tänka dig och du borde inte ha några problem.

# 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. # ADXL345 # Denna kod är utformad för att fungera med ADXL345_I2CS I2C Mini Module tillgänglig från dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modul/

importera smbus

importtid

# Skaffa I2C -buss

buss = smbus. SMBus (1)

# ADXL345 -adress, 0x53 (83)

# Välj bandbreddshastighetsregister, 0x2C (44) # 0x0A (10) Normalt läge, Utdatahastighet = 100 Hz buss.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 -adress, 0x53 (83) # Välj effektregistreringsregister, 0x2D (45) # 0x08 (08) Auto Sleep inaktivera buss.write_byte_data (0x53, 0x2D, 0x08) # ADXL345-adress, 0x53 (83) # Välj dataformatregister, 0x31 (49) # 0x08 (08) Självtest inaktiverat, 4-tråds gränssnitt # Full upplösning, Område = +/- 2g buss.write_byte_data (0x53, 0x31, 0x08)

tid. sover (0,5)

# ADXL345 -adress, 0x53 (83)

# Läs tillbaka data från 0x32 (50), 2 byte # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)

# Konvertera data till 10-bitar

xAccl = ((data1 & 0x03) * 256) + data0 om xAccl> 511: xAccl -= 1024

# ADXL345 -adress, 0x53 (83)

# Läs tillbaka data från 0x34 (52), 2 byte # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)

# Konvertera data till 10-bitar

yAccl = ((data1 & 0x03) * 256) + data0 om yAccl> 511: yAccl -= 1024

# ADXL345 -adress, 0x53 (83)

# Läs data tillbaka från 0x36 (54), 2 byte # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)

# Konvertera data till 10-bitar

zAccl = ((data1 & 0x03) * 256) + data0 om zAccl> 511: zAccl -= 1024

# 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 praktiska egenskaper

Kodens praktiska egenskaper
Kodens praktiska egenskaper

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 utdata på Monitor. Efter några ögonblick kommer det att visa var och en av parametrarna. Efter att ha säkerställt att allt fungerar enkelt kan du ta denna satsning till en större uppgift.

Steg 5: Applikationer och funktioner

ADXL345 är en liten, tunn, ultralåg effekt, 3-axlig accelerometer med hög upplösning (13-bitars) mätning på upp till ± 16 g. ADXL345 är lämplig för mobiltelefonapplikationer. Det kvantifierar den statiska tyngdaccelerationen i lutningsdetekterande applikationer och dessutom kommer dynamisk acceleration på grund av rörelse eller chock. Andra applikationer inkluderar mobiltelefoner, medicinsk instrumentering, spel- och pekdon, industriell instrumentering, personliga navigeringsenheter och hårddiskskydd (HDD).

Steg 6: Slutsats

Hoppas den här uppgiften motiverar ytterligare experiment. Denna I2C -sensor är utomordentligt flexibel, billig och tillgänglig. Eftersom det är ett i hög grad obestämt system finns det intressanta sätt att bredda denna uppgift och förbättra den till och med.

Till exempel kan du börja med tanken på en lutningsmätare med ADXL345 och Raspberry Pi. I ovanstående projekt har vi använt grundläggande beräkningar. Du kan improvisera koden för G-värden, lutningsvinklar (eller lutningar), höjd eller fördjupning av ett objekt med avseende på gravitationen. Sedan kan du kontrollera avancerade alternativ som rotationsvinklar för rulle (fram-till-bak-axel, X), tonhöjd (sida-till-sida-axel, Y) och gaffel (vertikal axel, Z). Denna accelerometer visar 3D-styrkor. Så du kan använda den här sensorn på olika sätt du kan överväga.

För din bekvämlighet har vi en fascinerande videoinstruktion på YouTube som kan hjälpa din undersökning. Lita på detta företag motiverar ytterligare utforskning. Fortsätt fundera! Tänk på att söka efter, eftersom mer ständigt kommer.

Rekommenderad: