IoT - kontrollera en Raspberry Pi Robot över internet med HTML och shell skript endast (4 / 9 steg)
Steg 4: Styra varvtal och slå på/av ett LED (valfritt)
När vi kommer att använda en H-bron, L293-D för motorstyrning, måste vi besluta om förutom riktning, vill vi också kontroll hastighet.
Två möjligheter här:
- Fast hastighet: anslutning av H-Bridge aktiverar Pins (1 och 9) till + 5V (full hastighet) eller annat proportionell med en spänning divisor med 2 motstånd
- Aktivera stift 1 och 9 ansluten till Raspberry Pi GPIO.18
Du kan vanligtvis hålla hastigheten konstant, men låt oss undersöka hur man kan kontrollera den. Till det, måste en PWM-signal användas. Låt oss skapa en grupp av skript, samma som vi gjorde med "vägbeskrivning" (värdena måste testas för din specifika motor):
sudo nano nospeed.cgi
#! / bin/bash
gpio pwm 1 0
.
sudo nano lowspeed.cgi
#! / bin/bash
gpio pwm 1 250
.
sudo nano regularspeed.cgi
#! / bin/bash
gpio pwm 1 512
.
sudo noano highspeed.cgi
#! / bin/bash
gpio pwm 1 1023
.
När skripten skapats måste du ge dem behörighet att vara utförda, samma som gjordes med forward.cgi
sudo chmod 755 nospeed.cgi
sudo chmod 755 lowspeed.cgi
sudo chmod 755 regularspeed.cgi
sudo chmod 755 highspeed.cgi
Nu är det bara köra några tester för att bekräfta att allt fungerar:
. / lowspeedcgi
./regularspeed.cgi
./highspeed.cgi
. / nospeedcgi
I mitt fall, på scenen har jag en lysdiod ansluten till GPIO.18, så jag kan se av intensiteten i dess ljusa, att kommandot fungerar.
Sist men inte minst, låt oss ha en extra skript för att styra en digital utgång, för att slå eller av en lampa, t.ex. Vi kommer att använda GPIO.10 för att:
sudo nano llighton.cgi
#! / bin/bash
gpio -g skriva 10 1
.
sudo nano llightoff.cgi
#! / bin/bash
gpio -g skriva 10 0
.
sudo chmod 755 lighton.cgi
sudo chmod 755 lightoff.cgi
Samma som innan om du väljer att använda dessa ytterligare GPIOs, du måste ändra skriptet/etc/rc.local:
sudo nano /etc/rc.local
…
gpio -g läge 5 ut
gpio -g läge 6 ut
gpio -g läge 13 ut
gpio -g läge 19 ut
gpio -g läge 10 ut
gpio läge 1 pwm
utgång 0
Det är bra att ha gpio läge 1 pwm som lista line innan utgång 0