Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Gebaargestuurde robot met Raspberry Pi

Ben je het ooit zat om alles met knoppen te bedienen? Dacht je iets te regelen met simpele handbewegingen door op je luie bank te zitten? Zo ja, dan bent u op de juiste site. In deze tutorial gaan we een robot besturen die wordt aangedreven door twee gelijkstroommotoren door simpelweg handbewegingen te gebruiken. Er zijn verschillende soorten sensoren om uw handbewegingen te detecteren, zoals fluxsensoren, versnellingsmeters en andere op zwaartekracht gebaseerde sensoren. Dus voor draadloze transmissie gaan we de RF 434-module gebruiken die 4-bits gegevens verzendt. 4-bit data betekent dat je 16 verschillende combinaties kunt verzenden, d.w.z. 0000 tot 1111. Verder in deze tutorial zullen we een encoder en decoder gebruiken om interferentie in de luchtinterface te voorkomen. Een motorbestuurder zal de motoren aandrijven door de decodergegevens te gebruiken.

Door gebaren bestuurde robot met Raspberry Pi

We gebruiken onze Raspberry pi aan de zenderzijde om de sensorgegevens te analyseren en een gegevenscombinatie naar de motorbestuurder te verzenden om de motoren dienovereenkomstig aan te drijven, zodat de robot rond kan zweven. We zullen een 12 V-batterij op de robot gebruiken om de decodermodule, ontvangermodule en de motoren van stroom te voorzien. Aan de zenderzijde worden sensoren en zender-encodermodule aangedreven door Raspberry Pi zelf.

Onderdelen

Toont 1 tot 9 van 9 inzendingenVorigeVolgende

Door gebaren bestuurde robot met Raspberry Pi - blokdiagram

Zender einde

Gebaargestuurde robot met Raspberry Pi - zendereinde

Aan de zenderzijde hebben we een versnellingsmeter, raspberry pi, encodermodule en RF-zender. De bewegingsgegevens stromen van de accelerometer naar de Raspberry Pi en daar worden ze verwerkt om de beweging van de robot te bepalen en de bewegingsgegevens worden via GPIO-pinnen naar de encodermodule overgebracht. De encodermodule codeert de gegevens en verzendt deze naar de luchtinterface met behulp van een RF-zender.

Door gebaren bestuurde robot met Raspberry Pi – ontvangereinde

Gebaargestuurde robot met Raspberry Pi - ontvangereinde

De RF-ontvanger van de ontvanger krijgt de gegevens van de luchtinterface en geeft deze door aan de decodermodule. De decodermodule decodeert de ontvangen gegevens en levert deze aan de motordriver L293D. Vanuit de motordriver worden de motoren aangedreven volgens de bewegingsgegevens.

Versnellingsmeter

Versnelling is de meting van de verandering in snelheid, of snelheid gedeeld door de tijd. Als een auto bijvoorbeeld in 10 seconden van 0 naar 60 km/u rijdt, versnelt de auto met 6 km/u. Dus wat heeft het te maken met mijn handgebaar?

Een versnellingsmeter is een elektromechanisch apparaat dat wordt gebruikt om versnellingskrachten te meten. Dergelijke krachten kunnen statisch zijn, zoals de continue zwaartekracht, of, zoals het geval is bij veel mobiele apparaten, dynamisch om beweging of trillingen waar te nemen. Door de hoeveelheid statische versnelling als gevolg van de zwaartekracht te meten, kunt u de hoek bepalen waarin het apparaat is gekanteld ten opzichte van de aarde. Door de hoeveelheid dynamische versnelling te meten, kunt u de manier waarop het apparaat beweegt analyseren.

Sommige versnellingsmeters maken gebruik van het piëzo-elektrische effect - ze bevatten microscopisch kleine kristalstructuren die worden belast door versnellingskrachten, waardoor een spanning wordt gegenereerd. Een andere manier om dit te doen is door veranderingen in capaciteit waar te nemen. Als je twee microstructuren naast elkaar hebt, hebben ze een bepaalde capaciteit ertussen. Als een versnellingskracht een van de structuren beweegt, verandert de capaciteit. Voeg wat circuits toe om van capaciteit naar spanning om te zetten, en je krijgt een versnellingsmeter.

Versnellingsmeters zijn apparaten met een laag vermogen die versnelling uitvoeren in de vorm van analoge spanning en sommige versnellingsmeters in digitale vorm. Analoge versnellingsmeters zoals ADXL 335 geven je 3 analoge output X,Y,Z basis op de as van je beweging. Deze analoge spanningen zet je door middel van een ADC om in digitale spanningen. Digitale versnellingsmeters zoals ADXL345 communiceren via SPI- of I2C-protocollen. Deze hebben minder ruis en zijn het meest betrouwbaar

Er is nog een sensor MPU6050 die zowel een versnellingsmeter als een gyroscoop bevat. Dat kan ook worden gebruikt in plaats van een versnellingsmeter. Het adres van ADXL345 en MPU6050 verschilt bij aansluiting in I2C-modus met Raspberry Pi, voor ADXL 0x53 en MPU is dit 0x68. In deze tutorial leg ik uit hoe je zowel ADXL345 als MPU6050 kunt gebruiken.

Interfacing versnellingsmeter

Nu zullen we onze accelerometer ADXL 345 en MPU 6050 koppelen aan onze Raspberry Pi en de meetwaarden van de sensor controleren. Ik geloof dat je raspberry pi is geïnstalleerd met het nieuwste besturingssysteem en python erin, omdat we hier python-code gaan gebruiken.

Laten we ADXL345/MPU6050 verbinden met onze Raspberry Pi. Hier gaan we het I2C-protocol gebruiken om tussen apparaten te communiceren. In het I2C-protocol worden de gegevens overgedragen via SDA (Serial Data) en klok in SCL (Serial Clock). Het is een asynchroon halfduplex communicatieprotocol. De Master bestuurt het hele proces en slaves reageren volgens mastercommando's. De datasnelheid wordt bepaald door de frequentie van de slave. Er zijn hier slechts 4 verbindingen tussen master en slave 3V, Gnd, SCL en SDA.

ADXL345 digitale versnellingsmeter

In het GPIO-pin-outdiagram kunt u de SDA- en SCL-pinnen op Rpi zien en deze aansluiten op respectievelijk de ADXL345/MPU6050 SDA- en SCL-pinnen. Voed de sensor met behulp van RPi zelf. Nu zijn de verbindingen gemaakt.

Raspberry pi 3 GPIO-koptekst

Laten we, voordat we de sensor testen, python-smbus voor I2c-protocol in rpi installeren en het I2C-protocol in onze RPi inschakelen.

Smbus installeren:
sudo apt-get install python-smbus i2c-tools
I2C inschakelen in RPi:
sudo raspi-config
Ga naar interface-opties en schakel I2c-protocol in.

Voeg vervolgens de i2c-specificatieregels toe met deze opdrachten.
sudo nano /etc/modules
Voeg deze regels toe
i2c-bcm2708
i2c-dev

Als je een oude rpi gebruikt, verwijder dan i2c uit de backlist met deze commando's
sudo nano  /etc/modprobe.d/raspi-blacklist.conf
Reageer uit (#) zwarte lijst i2c-bcm2708
sudo reboot
Test de verbinding met dit commando. Dit toont het adres van de sensor die is aangesloten op onze pi.
sudo i2c detect -y 1
Adxl zal worden gevonden in 0x53 en Mpu zal worden gevonden in 0x68 of 0x69

Nu zullen we een vooraf geschreven bibliotheek voor ADXL345 voor pi in python downloaden van Github en de sensoruitvoer testen. Gebruik deze commando's.
git clone https://github.com/pimoroni/adxl345-python
cd adxl345-python
sudo python example.py

Example.py is het programma dat de X-, Y- en Z-waarden uitvoert, zoals hieronder weergegeven.

We kunnen dit programma aanpassen of gebruiken voor ons project.

Voor MPU6050 zal het pimoroni-programma niet werken, dus we zullen een andere python-module gebruiken dan github.

Door deze commando's te gebruiken.
git clone https://github.com/Tijndagamer/mpu6050.git

cd mpu6050

python setup.py installeren
Om onze sensorverbinding en adres te controleren, opent u de terminal en typt u de onderstaande opdracht. Het geeft het sensoradres weer op 0x68 of 0x69, zoals hieronder weergegeven.

En om onze sensorgegevens te testen, gaat u naar de python-editor en typt u deze opdrachten slechts één voor één om de sensoruitvoer te zien.
van mpu6050 importeer mpu6050

mijnmpu=mpu6050(0x69 )

Data=mympu.get_accel_data()

Een stap verder kun je nu de drempelwaarden van 4 verschillende standen voor de beweging van rechts, links, vooruit en achteruit bepalen en noteren. Kalibratie kan worden gedaan op basis van uw sensorwaarden op verschillende posities, zoals houd deze in een positie die u wilt voor de voorwaartse beweging en noteer 5 vergelijkbare waarden en rond deze af op een drempel, zodat als de sensor de afgeronde waarde overschrijdt een voorwaarde statement in het programma kan worden ingeschakeld. Kalibreer het op dezelfde manier voor alle andere bewegingen zoals links, rechts, terug en stop.

Lees meer informatie….

Gebaargestuurde robot met Raspberry Pi

Huidig ​​project / bericht kan ook worden gevonden met:

  • gebaar contoller met behulp van raspberry pi

Productieproces

  1. Raspberry Pi-temperatuurprofiel met LabVIEW
  2. Raspberry Pi-gestuurde aquaponics
  3. Multichannel professionele datalogger op Raspberry Pi – deel 1
  4. Python- en Raspberry Pi-temperatuursensor
  5. Bewaking op afstand van het weer met Raspberry Pi
  6. SensorTag naar Blynk met Node-RED
  7. Bewegingssensor met Raspberry Pi
  8. Robot die Raspberry Pi &Bridge Shield gebruikt
  9. Raspberry Pi CD Box Robot
  10. Raspberry Pi-robot bestuurd via Bluetooth
  11. Bouw uw internetgestuurde videostreamingrobot met Arduino en Raspberry Pi