IoT: Raspberry Pi Robot med Video Streamer och Pan/Tilt kamera fjärrkontroll över internet (4 / 10 steg)

Steg 4: ServoBlaster Installation

Greta bibliotek för att kontrollera servon är ServoBlaster

Detta är programvara för RaspberryPi, som tillhandahåller ett gränssnitt för att köra flera servon via GPIO stiften. Du styr servo positioner genom att skicka kommandon till drivrutinen säger vilken puls bredd en särskild servo utgång ska använda. Föraren har den bredden för synkpuls förrän du skickar ett nytt kommando begära några andra bredd.

Som standard är det konfigurerad enhet 8 servon, även om du kan konfigurera den för att driva upp till 21. Servon oftast behöver en aktiv hög puls av någonstans mellan 0.5ms och 2.5ms, där bredden för synkpuls styr placeringen av servo. Pulsen bör upprepas ungefär varje 20ms, även om puls frekvens inte är kritisk. Bredd för synkpuls är kritisk, eftersom som översätter direkt till servo position.

Förutom körning servon, kan ServoBlaster konfigureras för att generera puls bredder mellan 0 och 100% av cykeltiden, vilket gör den lämplig för att styra ljusstyrkan på upp till 21 lysdioder, t.ex.

Föraren skapar en enhetsfil, / dev/servoblaster, i vilken du kan skicka kommandon. Kommandot format är antingen

[servo-nummer] = [servo-läge]

(ex.: echo P1 - 11 = 80% >/dev/servoblaster)

eller

P [header]-[pin] = [servo-läge]

(ex: echo P0 = 80% >/dev/servoblaster)

Första, låt oss klona Richardghirst projekt från GITHUB:

CD

sudo git klon https://github.com/richardghirst/PiBits

Ändra dir:

CD PiBits

CD ServoBlaster

CD-användare

Lista innehållet och kontrollera om katalogen innehåller filen "servod.c"

LS

Kompilera och installera filen served.c:

sudo make servod

sudo göra installera

Just nu, måste programmet servod installeras. Ändra behörigheterna och köra programmet för att testa den:

sudo chmod 755 servod

sudo. / servod

Om allt är OK, kan du se på bildskärmen, följande information:

Styrelse modell: 2
GPIO konfiguration: P1 (40 stift)
Med hjälp av hårdvara: PWM
Med DMA-kanal: 14
Idle timeout: funktionshindrade
Antal servon: 8
Servo cykeltid: 20000us
Pulsen steg stegstorlek: 10us
Minsta värde: 50 (500us)
Maximal breddvärde: 250 (2500us)
Output nivåer: Normal

Med P1 stift: 7,11,12,13,15,16,18,22

Mappning av servo:
0 på P1-7 GPIO-4
1 på P1-11 GPIO-17
2 på P1-12 GPIO-18
3 på P1-13 GPIO-27
4 på P1-15 GPIO-22
5 på P1-16 GPIO-23
6 i P1-18 GPIO-24
7 på P1-22 GPIO-25

Observera servo kartläggning ovan. Vi behöver bara 2 servon, så vi måste begränsa stiften skall användas. Låt oss betrakta:

  • GPIO.17 (P1-11) kommer att användas för TILT
  • GPIO.23 (P1-16) kommer användas för PAN

Om du vill definiera stiften skall användas, skall parametrarna nedan användas:

sudo. / servod--p1pins = 11, 16

Kör ovanstående kommando, visar bildskärmen nu i dess nedre del:

Med P1 stift: 11,16

Mappning av servo:

0 på P1-11 GPIO-17

1 på P1-16 GPIO-23

Observera också att om du pånyttfödd RPi, konfiguration kommer l vara förlorat, så. Det är viktigt att ta det sista kommandot på /etc/rc.local

sudo nano /etc/rc.local

...

CD /home/pi/PiBits/ServoBlaster/user

sudo. / servod--p1pins = 11, 16

CD

...

Det är också viktig förändring den skript nedan:

sudo nano /etc/init.d/servoblaster

...

fallet "$1" i
Start)

/usr/local/sbin/servod $OPTS >/dev/null

ändra till:

/usr/local/sbin/servod --p1pins = 11, 16 $OPTS >/dev/null

...

;; ;; #! / bin/sh
### BÖRJA INIT INFORMATION
# Ger: servoblaster
# Krävs-Start: hostname $local_fs
# Krävs-Stop:
# Bör-Start:
# Standard-Start: 2 3 4 5
# Standard-Stop: 0 1 6
# Kort-beskrivning: starta/stoppa servod.
# Beskrivning: Detta skript startar/stoppar servod.
### AVSLUTA INIT INFO

Stig = / sbin: / usr/sbin: / bin: / usr/bin
. /lib/init/vars.sh

ALTERNATIV = "--idle-timeout = 2000"

STATUSFILE = "/ tmp/servoblaster-status"

om [$(id -u)! = 0]; sedan
ECHO "fel: måste köras som root"
utgång 1
Fi

fallet "$1" i
Start)
/usr/local/sbin/servod--p1pins = 11, 16 $OPTS >/dev/null < br >;
restart|reload|Force-reload)
killall servod
/usr/local/sbin/servod $OPTS >/dev/null
;;
Stop)
killall servod
;;
status)
om [! -e/dev/servoblaster]; sedan
ECHO "fel: / dev/servoblaster finns inte"
utgång 2
Fi
RM -f $STATUSFILE
ECHO "status $STATUSFILE" >/dev/servoblaster
sömn 0,2
om [! -e $STATUSFILE]; sedan
ECHO "fel: servod svarar inte"
utgång 3
Elif grep - q "^ OK" $STATUSFILE; sedan
ECHO "OK"
utgång 0
Elif grep "^ fel:" $STATUSFILE; sedan
utgång 4
annat
ECHO "fel: ingen status från servod"
utgång 5
Fi
;;
*)
ECHO "användning: servoblaster [start|stop|status]" > & 2
utgång 6
;;
ESAC

utgång 0

nu starta om ditt system, så att ändringarna kan vara permanent

sudo omstart

Det var allt. Servo blaster är installerad. Observera att på denna punkt ServoBlaster känner igen bara två servon:

servo 0 == > p1-11

servo 1 == > 01-16

Kommandot echo kan göras på något av de nedan format, med samma resultat:

ECHO P1 - 11 = 40% >/dev/servoblaster

ECHO P1 - 16 = 60% >/dev/servoblaster

eller

ECHO 0 = 40% >/dev/servoblaster

ECHO 1 = 60% >/dev/servoblaster

Se Steg
Relaterade Ämnen

Lägga till Internet-kontroll i Raspberry Pi Robot med Runmyrobot.com

Hur dela din Robot med världen och låta andra människor spela med den med runmyrobot.com. Denna webbplats beta-testning men det bör fungera. Om du har några frågor, låt oss veta genom att publicera på webbplatsen Disqus sida.BTW, måste du ansluta din...

Hacka en $30 WiFi Pan-Tilt kamera - Video, ljud och Motor control med Python

I detta Instructable lär du dig att fånga upp den video, mikrofon och kontroller av $30 Kaicong SIP1602 trådlös pan-tilt kamera på Windows, Linux eller OSX! Allt rullas prydligt i python skript; Du kan använda utdata för saker som röst transkription,...

Baldroid v3 balansera Robot med Actobotics delar och IOIO-OTG

Hej, när du har skapat ett par prototyper med en Android-telefon + IOIO + OTG modul beslöt jag att bygga en färdig produkt med hjälp av delar och komponenter från Actobotics / Servocity.com... Förutom kvaliteten på produkterna som Actobotics gjorde d...

Pan-Tilt kamera med Arduino och Joystick

hur man gör en pan tilt kamerasystem använda gamla psx stick och arduino.Detta system kan du ange inställningen för exempel på en cam, laser eller vad du vill bifoga.Du kan hitta koden och beskrivningen (italienska) här:http://selfelectro.altervista....

IoT - kontrollera en Raspberry Pi Robot över internet med HTML och shell skript endast

(Om du gillar detta Instructables, glöm inte att rösta på det (ovan: högra hörnet flaggan). det konkurrerar om SAKERNAS INTERNET och AUTOMATION tävlingar. Tack så mycket! ;-)I detta instructable, vi lära dig att skapa en helt kontrollerad IoT Raspber...

Kontrollera en Roomba robot med Arduino och Android

(Om du gillar detta Instructable, glöm inte att rösta på den - ovan: högra hörnet flaggan. Det tävlar på AUTOMATION tävling. Tack så mycket! ;-)Som en av robotteknik tävling 2016 vinnarna här på Instructables fick jag som pris en iRobot Roomba Create...

Styra din Robot med en Wii Nunchuck (och en Arduino)

efter bär själv spela Wii boxning jag måste tänka vore det inte bra om jag kunde använda detta för att styra min robot, (ser att min vänstra hand).Titta runt på internet hittade jag en uppsjö av människor som gör liknande saker, (länkar till alla bar...

Lägg till 6 ultraljud avstånd sensorer till befintliga Raspberry Pi Robot

Detta är inte en handledning för att göra en Raspberry Pi robot med 6 ultraljudssensorer.Detta är en tutorial visar den bästa metoden att lägga 6 ultraljudssensorer direkt till en raspberry pi utan användning av någon micro controller som Arduino.NIV...

Raspberr Pi Robot-en Hybrid Robot med Advance funktioner

En robot kan inte skada en människa eller genom passivitet, tillåter en människa att komma till skada. En robot måste lyda order som ges av människor utom där sådana order skulle strida mot den första lagen. En robot måste skydda sin egen existens so...

Grundläggande raden efter Robot med Arduino

09/07/2015Det har varit några år eftersom vi Ursprungligen postat denna grundläggande linje följande Robot med Arduino handledning, och det verkar så många människor tyckte att det bra att vi ska skicka en uppdatering som löper nuvarande Arduino bibl...

Kompatibla proteshand med sensomotoriska kontroll och sensoriska Feedback för nacke amputerade

Det huvudsakliga målet med detta projekt tillhandahåller en mycket funktionella och billiga proteshand till personer med nedanför armbågen amputationerÄven om massor av state-of-the-art protetiska enheter har utvecklats, fortfarande blir det trycket...

Arduino-baserad rad efterföljare robot med hjälp av Pololu kvart-8RC line sensor

uppdatering FEB 2012: denna guide är med på Adafruits blogghttp://www.adafruit.com/blog/2012/02/14/Arduino-based-line-Follower-robot/Detta är Faz3a II, min första linje-efter roboten, vilket jag hoppas också att använda för labyrint-lösa. Jag använde...

Att hålla barnen underhöll i bilen: 12 roliga saker att göra med bara penna och papper

när jag var liten, jag hade skitkul på väg resor! Vi vill ofta tillbringa dagar på vägen, och oss barn var alltid underhållen. Gissa vad? Vi hade inte en DVD-spelare i bilen, vi hade inte ett spel system (Gameboy, Sega, Nintendo DS, etc.) Vi var tvun...

Anpassa din Apache serverutrymme, och hur man ser det över internet.

i detta, min första Instructable, jag kommer att visa dig en fortsättning på detta instructable, "gör din dator till en Server i 10 minuter." I denna fortsättning lär jag dig hur du anpassar sidan som kommer upp när du skriver "http://local...

Bygga din Internet kontrollerad Video-Streaming Robot med Arduino och Raspberry Pi

< the Instructable och koden är redo. Njut! Lämna en kommentar med du feedback! >Jag är (aka LiquidCrystalDisplay / Itay), en 14 år gammal student från Israel lärande i Max Shein Junior High School för avancerad vetenskap och matematik. Jag gör dett...

Hur man bygger en Raspberry Pi noll Humanoid Robot med Java

Hej ska jag visa dig hur man gör en humanoid robot med pi nollSteg 1: delarden totala listan blir som följer för att driva sensorer och PI:* Raspberry PI noll + 16GB micro-SD kortMicro-usb hub + Wifi Dongle* AdaFruit Powerboost 1000 Basic* AdaFruit 1...

Bygga en webb aktiverat dörrlås med resten API och Raspberry PI

I detta instructable, vi kommer att bygga en webb aktiverat elektroniska dörrlås från grunden med RESTFUL API, nod JS och Raspberry PI för att tillhandahålla webbtjänsten konsumeras av mobila app eller någon resten klient.Arkitekturen är uppdelad i t...

2-wheel Self Balancing Robot med hjälp av Arduino och MPU6050

2-Wheel Self Balancing Robot med hjälp av Arduino och MPU6050.Använda Arduino som controller och sensor MPU6050 för att styra balansen. Bara lägga till en enkel seriell Bluetooth-modul och använda en Bluetooth Serial Controller APP för Android-telefo...

Trådlöst styr en Robot med hjälp av Arduino och RF-moduler!

/*Redigera 05/05/2016Hej killar, jag har varit upptagen med college och kunde inte svara på commments. De flesta av y'all ville koden och scheman gjort lite bättre så jag har gjort scheman på Eagle 7.2.0 och laddat upp allt på Github.Här är länken: h...