Innholdsfortegnelse:

Automatisk grip ved hjelp av en lasersensor og talekommandoer: 5 trinn (med bilder)
Automatisk grip ved hjelp av en lasersensor og talekommandoer: 5 trinn (med bilder)

Video: Automatisk grip ved hjelp av en lasersensor og talekommandoer: 5 trinn (med bilder)

Video: Automatisk grip ved hjelp av en lasersensor og talekommandoer: 5 trinn (med bilder)
Video: Умное окно - автоматизация проветривания комнаты, интеграция в Home Assistant 2024, Juli
Anonim
Image
Image
Listen over deler
Listen over deler

Å gripe gjenstander som for oss synes er enkle og naturlige ting å gjøre er faktisk en kompleks oppgave. Mennesket bruker synssansen for å bestemme avstanden fra objektet som han ønsker å gripe. Hånden åpnes automatisk når den er i nærheten av objektet som skal gripes, og deretter lukkes den raskt for å gripe objektet godt. Jeg har brukt denne teknikken på en forenklet måte i dette miniprosjektet, men i stedet for kameraet brukte jeg en lasersensor til å estimere avstanden til objektet fra griperen og talekommandoer for kontroll.

Trinn 1: Listen over deler

Listen over deler
Listen over deler

I dette lille prosjektet trenger du bare noen få av delene som er oppført nedenfor. Som kontroller brukte jeg Arduino mega 2560, men du kan også bruke UNO eller hvilken som helst annen Arduino. Som distansesensor brukte jeg en VL53L0X lasersensor som har god nøyaktighet (omtrent noen få millimeter) og rekkevidde opptil 2 meter. I dette prosjektet kan du bruke for å teste alle gripere og servoer, men du bør drive den fra en separat strømkilde, f.eks.: en 5V strømforsyning eller et LiPo-batteri (7,4V eller 11,1V) gjennom en nedtrappingskonverter som reduserer spenningen til 5V.

Deler som trengs i dette prosjektet:

  • VL53L0X Laser ToF -sensor x1
  • Digital servo x1
  • Arduino mega 2560 x1
  • Robot metallgriper x1
  • Brødbrett x1
  • Taktil trykknapp x1
  • Bluetooth HC-06
  • Motstand 10k x1
  • Strømforsyning 5V/2A

Utvidet versjon:

  1. CJMCU-219 Strømmonitor sensormodul x1
  2. WS2812 RGB LED Driver Development Board x1

Trinn 2: Tilkobling av elektroniske deler

Tilkobling av elektroniske deler
Tilkobling av elektroniske deler
Tilkobling av elektroniske deler
Tilkobling av elektroniske deler
Tilkobling av elektroniske deler
Tilkobling av elektroniske deler

Den første figuren viser alle nødvendige tilkoblinger. På de følgende bildene kan du se de neste trinnene for tilkobling av individuelle moduler. I begynnelsen ble trykknappen koblet til pin 2 på Arduino, deretter servo til pin 3 og til slutt VL53L0X laseravstandssensor via I2C -buss (SDA, SCL).

Tilkoblingene til elektroniske moduler er følgende:

VL53L0X lasersensor -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5V
  • GND - GND

Servo -> Arduino Mega 2560

Signal (oransje ledning) - 3

Servo -> 5V/2A strømforsyning

  • GND (brun ledning) - GND
  • VCC (rød ledning) - 5V

Trykknapp -> Arduino Mega 2560

  • Pin 1 - 3.3 eller 5V
  • Pin 2 - 2 (og gjennom 10k -motstanden til bakken)

Bluetooth (HC -06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5V
  • GND - GND

Trinn 3: Arduino Mega Code

Arduino Mega Code
Arduino Mega Code

Jeg har forberedt følgende eksempel på Arduino -programmer tilgjengelig på min GitHub:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

Det første programmet som heter "VL53L0X_gripper_control" utfører oppgaven med automatisk griping av et objekt som har blitt oppdaget av VL53L0X lasersensor. Før du kompilerer og laster opp prøveprogrammet, må du kontrollere at du har valgt "Arduino Mega 2560" som målplattform som vist ovenfor (Arduino IDE -> Tools -> Board -> Arduino Mega eller Mega 2560). Arduino -programmet sjekker i hovedløkken - "void loop ()" om den nye avlesningen fra lasersensoren har kommet (funksjon readRangeContinuousMillimeters ()). Hvis avstanden som er avlest fra sensoren "distance_mm" er større enn verdien "THRESHOLD_CLOSING_DISTANCE_FAR" eller mindre enn "THRESHOLD_CLOSING_DISTANCE_NEAR", begynner servoen å lukke. I andre tilfeller begynner den å åpne. I den neste delen av programmet, i funksjonen "digitalRead (gripperOpenButtonPin)", blir trykknappens tilstand konstant kontrollert, og hvis den trykkes, åpnes griperen til tross for at den lukkes på grunn av objektets nærhet (distanse_mm er mindre enn THRESHOLD_CLOSING_DISTANCE_NEAR).

Det andre programmet "Voice_VL53L0X_gripper_control" lar deg kontrollere griperen ved hjelp av talekommandoer. Stemmekommandoene behandles av BT Voice Control for Arduino -appen fra Google Play og sendes videre via bluetooth til Arduino. Arduino -programmet sjekker i hovedløkken - "void loop ()" om den nye kommandoen (tegnet) er sendt fra Android -appen via bluetooth. Hvis det er et innkommende tegn fra bluetooth -serien, leser programmet de serielle dataene til slutten av stemmeanvisningen "#". Deretter starter den utførelsen av "void processInput ()" -funksjonen, og avhengig av talekommandoen kalles en spesifikk kontrollfunksjon.

Trinn 4: Testing av automatisk griping

Tester automatisk griping
Tester automatisk griping
Tester automatisk griping
Tester automatisk griping

Videoen fra "Step 1" viser tester av robotgriper basert på program fra forrige seksjon "Arduino Mega Code". Denne videoen viser hvordan den åpnes automatisk når objektet er i nærheten av det, og tar deretter tak i dette objektet hvis det er innen rekkevidde av griperen. Tilbakemeldingene fra laseravstandssensoren som brukes her, er tydelig synlig i den videre delen av videoen når jeg flytter flasken frem og tilbake, noe som forårsaker en rask reaksjon og endring av gripekontrollen.

Trinn 5: Stemmeaktivert automatisk griping

Image
Image
Epilog Challenge 9
Epilog Challenge 9

I det neste trinnet i utviklingen av dette prosjektet la jeg til talestyring. Takket være talekommandoen kan jeg kontrollere lukking, åpning og hastighet på griperen. Stemmekontroll i dette tilfellet er veldig nyttig når du åpner griperen som holder objektet. Den erstatter knappen og gir enkel kontroll over griperen plassert på mobilroboten.

Hvis du liker dette prosjektet, ikke glem å stemme og skriv i kommentaren hva du vil se i neste innlegg som en ytterligere forbedring av dette prosjektet:) Sjekk ut mine andre prosjekter knyttet til robotikk, bare besøk:

  • facebook
  • youtube
  • min nettside

Anbefalt: