Inhoudsopgave:
- Stap 1: Basishardware die we nodig hebben
- Stap 2: De hardware aansluiten
- Stap 3: Python-codering voor Raspberry Pi
- Stap 4: De werkbaarheid van de code
- Stap 5: Toepassingen en functies
- Stap 6: Conclusie
Video: Bewegingsbesturing met Raspberry Pi en LIS3DHTR, 3-assige versnellingsmeter, met Python - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Schoonheid omringt ons, maar meestal moeten we in een tuin lopen om het te weten. - Rumi
Als de goed opgeleide groep die we lijken te zijn, investeren we het overgrote deel van onze energie in het werken voor onze pc's en mobiele telefoons. Daarom laten we ons welzijn vaak de secundaire lounge innemen, vinden nooit echt een ideale gelegenheid om naar de sportschool of een fitnessles te gaan en kiezen in de regel fastfood boven veel voordeligere keuzes. Het opbeurende nieuws is of je nu alleen maar wat hulp nodig hebt bij het bijhouden van gegevens of om je vooruitgang te volgen, je kunt de innovatie van vandaag gebruiken om een gadget te maken om jezelf te helpen.
De technologie ontwikkelt zich snel. Consequent krijgen we lucht van een nieuwe innovatie die de wereld en de manier waarop we erin leren zal veranderen. Als je van pc's, coderen en robots houdt of gewoon van knutselen houdt, is er een technische zegen. Raspberry Pi, de micro-, single-board Linux-computer, is toegewijd aan het verbeteren van de manier waarop je leert met de innovatieve technologie, maar ook aan de sleutel tot het verbeteren van het leren in het onderwijs over de hele wereld. Dus wat zijn de mogelijke resultaten van wat we kunnen doen als we een Raspberry Pi en een 3-assige versnellingsmeter in de buurt hebben? Wat als we dit vinden! In deze taak zullen we de versnelling controleren op 3 loodrechte assen, X, Y en Z met behulp van Raspberry Pi en LIS3DHTR, een 3-assige versnellingsmeter. Dus we zouden tijdens deze reis een systeem moeten maken om de driedimensionale versnelling omhoog of G-kracht te controleren.
Stap 1: Basishardware die we nodig hebben
De problemen waren minder voor ons, omdat we een enorme hoeveelheid spullen hebben om mee te werken. Hoe dan ook, we weten hoe lastig het is voor anderen om het juiste onderdeel in onberispelijke tijd vanaf de nuttige plek te verzamelen en dat wordt verdedigd met weinig aandacht voor elke cent. Dus we zouden je helpen. Volg de bijgaande lijst om een volledige onderdelenlijst te krijgen.
1. Raspberry Pi
De eerste stap was het aanschaffen van een Raspberry Pi-bord. De Raspberry Pi is een op Linux gebaseerde pc met één bord. Deze kleine pc biedt veel rekenkracht, wordt gebruikt als onderdeel van gadgets-activiteiten en eenvoudige bewerkingen zoals spreadsheets, woordvoorbereiding, webscannen en e-mail, en games.
2. I2C-schild voor Raspberry Pi
Het belangrijkste punt van zorg dat de Raspberry Pi echt afwezig is, is een I²C-poort. Dus daarvoor geeft de TOUTPI2 I²C-connector je het gevoel om Rasp Pi te gebruiken met ELK van I²C-apparaten. Het is beschikbaar in de DCUBE Store
3. 3-assige versnellingsmeter, LIS3DHTR
De LIS3DH is een ultra-low-power high-performance lineaire versnellingsmeter met drie assen die behoort tot de "nano" -familie, met standaard digitale I2C/SPI seriële interface-uitgang. We hebben deze sensor gekocht bij DCUBE Store
4. Aansluitkabel
We hebben de I2C-verbindingskabel gekocht bij de DCUBE Store
5. Micro-USB-kabel
De kleinste verbijsterde, maar toch meest strikte in de mate dat stroom nodig is, is de Raspberry Pi! De eenvoudigste manier om te handelen is door het gebruik van de Micro USB-kabel.
6. Webtoegang is een noodzaak
INTERNET kinderen slapen NOOIT
Koppel uw Raspberry Pi aan een Ethernet-kabel (LAN) en sluit deze aan op uw netwerkrouter. Keuzevak, zoek naar een WiFi-connector en gebruik een van de USB-poorten om bij het externe systeem te komen. Het is een scherpe beslissing, eenvoudig, klein en slordig!
7. HDMI-kabel/toegang op afstand
De Raspberry Pi heeft een HDMI-poort die je met een HDMI-kabel specifiek op een scherm of tv kunt aansluiten. Keuzevak, je kunt SSH gebruiken om te associëren met je Raspberry Pi vanaf een Linux-pc of Macintosh vanaf de terminal. Evenzo klinkt PuTTY, een gratis en open-source terminalemulator, als een goed alternatief.
Stap 2: De hardware aansluiten
Maak de schakeling volgens het verschenen schema. Maak een diagram en volg de schets precies. Verbeelding is belangrijker dan kennis.
Aansluiting van de Raspberry Pi en I2C Shield
Neem vooral de Raspberry Pi en zie het I2C-schild erop. Druk het schild voorzichtig over de GPIO-pinnen van Pi en we zijn klaar met deze progressie zo simpel als taart (zie de module).
Aansluiting van de Sensor en Raspberry Pi
Neem de sensor en koppel de I2C-kabel ermee. Voor de juiste werking van deze kabel dient u eraan te herinneren dat de I2C-uitgang ALTIJD geassocieerd is met de I2C-ingang. Hetzelfde moet worden gedaan voor de Raspberry Pi met het I2C-schild erop gemonteerd, de GPIO-pinnen.
We onderschrijven het gebruik van de I2C-kabel omdat het de noodzaak van het onderzoeken van pinouts, bevestiging en ongemak veroorzaakt door zelfs de kleinste fout, teniet doet. Met deze fundamentele bevestigings- en speelkabel kun je effectief presenteren, gadgets verwisselen of meer gadgets toevoegen aan een applicatie. Dit vergemakkelijkt het werkgewicht tot een aanzienlijk niveau.
Opmerking: de bruine draad moet betrouwbaar de aardverbinding (GND) volgen tussen de uitgang van het ene apparaat en de ingang van een ander apparaat
Webnetwerk is de sleutel
Om van ons streven een succes te maken, hebben we een internetkoppeling nodig voor onze Raspberry Pi. Hiervoor heb je keuzes zoals het koppelen van een Ethernet (LAN)-kabel aan het thuisnetwerk. Bovendien, als alternatief, hoe het ook zij, een accommoderende cursus is het gebruik van een WiFi USB-connector. Hiervoor heb je in de regel een chauffeur nodig om het te laten werken. Dus neig naar degene met Linux in de beschrijving.
Stroomvoorziening
Steek de micro-USB-kabel in de stroomaansluiting van de Raspberry Pi. Opschieten en we zijn er klaar voor.
Verbinding met scherm
We kunnen de HDMI-kabel koppelen aan een ander scherm. In sommige gevallen moet je naar een Raspberry Pi gaan zonder deze met een scherm te verbinden, of je moet er misschien wat gegevens van ergens anders bekijken. Het is denkbaar dat er innovatieve en financieel onderlegde benaderingen zijn om dit als zodanig te doen. Een daarvan maakt gebruik van -SSH (remote command-line login). U kunt daarvoor ook de PUTTY-software gebruiken. Deze zijn voor gevorderde gebruikers. De details zijn hier dus niet opgenomen.
Stap 3: Python-codering voor Raspberry Pi
De Python-code voor de Raspberry Pi en LIS3DHTR-sensor is toegankelijk in onze GithubRepository.
Voordat u doorgaat met de code, moet u ervoor zorgen dat u de regels in het Readme-archief leest en uw Raspberry Pi overeenkomstig deze instelt. Het zal even uitrusten om alles in overweging te nemen.
Een versnellingsmeter is een elektromechanisch apparaat dat versnellingskrachten meet. Deze krachten kunnen statisch zijn, vergelijkbaar met de constante zwaartekracht die aan je voeten trekt, of ze kunnen veranderlijk zijn - veroorzaakt door de versnellingsmeter te bewegen of te trillen.
De bijgevoegde is de python-code en je kunt de code klonen en aanpassen op elke gewenste manier.
# Gedistribueerd met een vrije licentie. # Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken. # LIS3DHTR # Deze code is ontworpen om te werken met de LIS3DHTR_I2CS I2C Mini Module verkrijgbaar bij dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-minimodule/
import smbus
import tijd
# Krijg I2C-bus
bus = smbus. SMBus(1)
# LIS3DHTR-adres, 0x18(24)
# Select control register1, 0x20(32) # 0x27(39) Power ON-modus, Selectie datasnelheid = 10 Hz # X, Y, Z-as ingeschakeld bus.write_byte_data(0x18, 0x20, 0x27) # LIS3DHTR-adres, 0x18(24) # Select control register4, 0x23(35) # 0x00(00) Continue update, Full-scale selectie = +/-2G bus.write_byte_data(0x18, 0x23, 0x00)
tijd.slaap(0.5)
# LIS3DHTR-adres, 0x18(24)
# Lees data terug van 0x28(40), 2 bytes # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x18, 0x28) data1 = bus.read_byte_data(0x18, 0x29)
# Converteer de gegevens
xAccl = data1 * 256 + data0 als xAccl > 32767: xAccl -= 65536
# LIS3DHTR-adres, 0x18(24)
# Lees data terug van 0x2A(42), 2 bytes # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data(0x18, 0x2A) data1 = bus.read_byte_data(0x18, 0x2B)
# Converteer de gegevens
yAccl = data1 * 256 + data0 als yAccl > 32767: yAccl -= 65536
# LIS3DHTR-adres, 0x18(24)
# Lees data terug van 0x2C(44), 2 bytes # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data(0x18, 0x2C) data1 = bus.read_byte_data(0x18, 0x2D)
# Converteer de gegevens
zAccl = data1 * 256 + data0 als zAccl > 32767: zAccl -= 65536
# Gegevens uitvoeren naar scherm
print "Versnelling in X-as: %d" %xAccl print "Versnelling in Y-as: %d" %yAccl print "Versnelling in Z-as: %d" %zAccl
Stap 4: De werkbaarheid van de code
Download (of git pull) de code van Github en open deze in de Raspberry Pi.
Voer de opdrachten uit om de code te compileren en te uploaden in de terminal en bekijk de opbrengst op het scherm. Na een paar minuten zal het elk van de parameters demonstreren. Door te garanderen dat alles moeiteloos werkt, kunt u deze uitdaging tot een meer opmerkelijke onderneming maken.
Stap 5: Toepassingen en functies
De LIS3DHTR, vervaardigd door STMicroelectronics, heeft dynamisch door de gebruiker selecteerbare volledige schalen van ±2g/±4g/±8g/±16g en is in staat om versnellingen te meten met uitvoerdatasnelheden van 1Hz tot 5kHz. De LIS3DHTR is geschikt voor door beweging geactiveerde functies en vrijevaldetectie. Het kwantificeert de statische versnelling van de zwaartekracht in tilt-detecterende toepassingen, en daarnaast de dynamische versnelling die optreedt vanwege beweging of schokken. Andere toepassingen zijn onder meer klik-/dubbelklikherkenning, intelligente energiebesparing voor draagbare apparaten, stappenteller, weergaveoriëntatie, gaming- en virtual reality-invoerapparaten, impactherkenning en logboekregistratie en trillingsbewaking en -compensatie.
Stap 6: Conclusie
Vertrouw erop dat deze onderneming verdere experimenten stimuleert. Deze I2C-sensor is fenomenaal aanpasbaar, bescheiden en beschikbaar. Omdat het een tot op zekere hoogte vergankelijk kader is, zijn er interessante manieren om deze opdracht uit te breiden en zelfs te verbeteren.
U kunt bijvoorbeeld beginnen met het idee van een stappenteller met behulp van de LIS3DHTR en Raspberry Pi. In de bovenstaande taak hebben we fundamentele berekeningen gebruikt. Versnelling kan de relevante parameter zijn om de uitspraak van lopen te analyseren. U kunt de drie bewegingscomponenten van een persoon controleren: voorwaarts (rollen, X), zijwaarts (pitch, Y) en verticaal (gieras, Z). Een typisch patroon van alle 3 de assen wordt vastgelegd. Ten minste 1 as zal relatief grote periodieke versnellingswaarden hebben. Piekrichting en een algoritme zijn dus essentieel. Rekening houdend met de stappenparameter (digitale filter, piekdetectie, tijdvenster, enz.) van dit algoritme, kunt u stappen herkennen en tellen, evenals afstand, snelheid en - tot op zekere hoogte - verbrande calorieën meten. U kunt deze sensor dus op verschillende manieren gebruiken die u kunt overwegen. We vertrouwen erop dat jullie het allemaal leuk vinden! We zullen proberen om eerder vroeger dan later een werkende weergave van deze stappenteller te maken, de configuratie, de code, het onderdeel dat de middelen berekent om lopen en rennen en verbrande calorieën te scheiden.
Voor uw troost hebben we een intrigerende video op YouTube die u kan helpen bij uw onderzoek. Vertrouw erop dat deze onderneming verdere verkenning motiveert. Blijf piekeren! Vergeet niet om voor te zorgen, want er komt steeds meer bij.
Aanbevolen:
Meerdere LED's besturen met Python en de GPIO-pinnen van je Raspberry Pi: 4 stappen (met afbeeldingen)
Meerdere LED's besturen met Python en de GPIO-pinnen van je Raspberry Pi: deze Instructable laat zien hoe je meerdere GPIO-pinnen op je RaspberryPi kunt besturen om 4 LED's van stroom te voorzien. Het zal je ook kennis laten maken met parameters en voorwaardelijke uitspraken in Python.Onze vorige Instructable met behulp van de GPIO-pinnen van je Raspberry Pi om
Aan de slag met Python: 7 stappen (met afbeeldingen)
Aan de slag met Python: programmeren is geweldig! Het is creatief, leuk en het geeft je hersenen een mentale training. Velen van ons willen meer leren over programmeren, maar overtuigen onszelf ervan dat dat niet kan. Misschien heeft het te veel wiskunde, misschien schrikt het jargon dat eromheen wordt gegooid
Raspbian installeren in Raspberry Pi 3 B zonder HDMI - Aan de slag met Raspberry Pi 3B - Uw Raspberry Pi instellen 3: 6 stappen
Raspbian installeren in Raspberry Pi 3 B zonder HDMI | Aan de slag met Raspberry Pi 3B | Je Raspberry Pi 3 instellen: Zoals sommigen van jullie weten, zijn Raspberry Pi-computers best geweldig en kun je de hele computer op een klein bordje krijgen. De Raspberry Pi 3 Model B heeft een quad-core 64-bit ARM Cortex A53 geklokt op 1,2 GHz. Dit zet de Pi 3 ongeveer 50
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Toegang tot Arduino YÚN beheren met MySQL, PHP5 en Python: 11 stappen (met afbeeldingen)
Beheer de toegang van Arduino YÚN met MySQL, PHP5 en Python: Hallo vrienden! Nou, zoals je weet, in september het nieuwe première schild van Arduino, Arduino YUN. Deze kleine vriend heeft een Linux embedded systeem waarmee we alles kunnen draaien wat je maar kunt bedenken (tenminste tot nu toe). Hoewel er weinig informatie is