Stap 6: Het installeren van de servo's op de RPi
- Verbinden met de servo's gegevens signaal RPI zoals diagram.
- Sluit de + V van beide servo's op een afzonderlijke energieleverancier dan de RPi (natuurlijk, beide GND moet worden verbonden). Zodra u de Pan/Tilt mechanisme naar de robot installeren zal, kunt u de zelfde batterij (9V) die werd gebruikt in combinatie met gelijkstroommotoren. In dit geval zal een spanningsregelaar 6V nodig zijn.
Voor het testen van de servo's, gebruik het Servoblaster commando "echo". U kunt de hoek waarden of percentage. Test het beste bereik voor uw Pan/Tilt mechanisme:
Tilt Servo bereik:
echo P1 - 11 = 20% >/dev/servoblaster (op zoek naar beneden)
echo P1 - 11 = 60% >/dev/servoblaster (wij zoeken voorzijde)
echo P1 - 11 = 90% >/dev/servoblaster (opzoeken)
Pan Servo bereik:
echo P1 - 16 = 30% >/dev/servoblaster (op zoek rechts)
echo P1 - 16 = 62% >/dev/servoblaster (op zoek center)
echo P1 - 16 = 90% >/dev/servoblaster (op zoek van links)
We kunnen bash scripts schrijven om te gemakkelijk de servo's positie bepalen. Voordat hij begint, laten we niet vergeten dat is een goede gewoonte om het hebben van een specifieke map voor de programma's gebruikt en noem het "bin". Dus, om op te slaan de scripts die we zullen gebruiken in het project, zullen we een map die zal met alle uitvoerbare scripts (of binaire bestanden) maken.
Bijvoorbeeld, laten we gaan voor onze folder van de webpagina:
CD/var/www
en eronder, maak de map met de scripts, dat zullen we cgi-bin noemen:
sudo mkdir /var/ www/cgi-bin
Voor de scripts, zullen we ".cgi" gebruiken als de bestanden met de extensie. CGI betekent "Common Gateway Interface". Het is een standaard manier voor webservers met uitvoerbare programma's zijn geïnstalleerd op een server die dynamisch genereren van webpagina's. Dergelijke programma's worden genoemd van CGI scripts of gewoon CGI's; ze zijn meestal geschreven in een scripttaal, maar kunnen worden geschreven in een willekeurige programmeertaal. Laten we een map maken onder/var/www, waar de scripts moeten worden opgeslagen:
sudo mkdir cgi-bin
Zoals we in het eerste deel van dit project, IoT besproken - een Raspberry Pi Robot beheren via internet met HTML en shell scripts alleen. de scriptbestanden zijn in wezen als tekst zonder opmaak. Als een tekstbestand wordt geprobeerd moet worden uitgevoerd, zal de schelpen ontleden door hen voor aanwijzingen over of ze scripts of niet, en hoe te behandelen alles goed. Vanwege dit zijn er een paar richtlijnen die je moet weten.
- Elk script moet wezen met "#! / bin/bash" (de Hash-Bang Hack}
- Elke nieuwe regel is een nieuwe opdracht
- Regels met opmerkingen beginnen met een #
- Opdrachten zijn omringd door)
Wanneer een shell door middel van een tekstbestand parseert, het meest directe manier om het bestand als een script is door het maken van uw eerste lijn: #! / bin/bash (de Hash-Bang kappen). Als u een andere shell gebruikt, vervang het pad hier. Regels met opmerkingen beginnen met knoeiboel (#), maar de bang (!) en de shell-pad toevoegen nadat het is een soort houwer die deze regel commentaar zal mijden en zal dwingen het script uit te voeren met de shell die deze regel naar verwijst.
Bijvoorbeeld, een shell-script om de positie van de camera te maken "op zoek naar voren", op basis van de bovenstaande servo varieert dat u gevonden, moeten we het creëren van het bestand balg (gebruik de beste editor voor u. Ik ben met behulp van NANO daarvoor):
sudo nano cam_view_front.cgi
#! / bin/bash
ECHO P1 - 11 = 60% >/dev/servoblaster
ECHO P1 - 16 = 62% >/dev/servoblaster
.
Zodra het script is gemaakt, moeten wij toestemming om te worden uitgevoerd:
sudo chmod 755 cam_view_front.cgi
Nu, het script uit te voeren:
./cam_view_front.cgi
Beweeg de camera voor elke positie met behulp van echo-opdracht en na dat het nieuwe script. U zult zien dat de camera zal worden vergiftigd automatisch de positie van het vooraanzicht.
Gaande is, moet het zelfde idee gelden voor de andere mogelijke standen van de Camera.
Van mijn webpagina, ik kies ervoor om het maken van 5 tussenliggende posities voor Tilt en 5 tussenliggende posities voor PAN. U kunt ook gebruik van de "sliders" koos voor een meer permanente verandering van positie. Het is aan u.
Met hetzelfde principe als beschreven voor het script "cam_view_front.cgi", zullen wij 10 nieuwe scripts maken:
- leftpan.cgi == > 90%
- leftcenterpan.cgi == > 76%
- centerpan.cgi == > 62%
- rightcenterpan.cgi == > 46%
- rightpan.cgi == > 30%
- downtilt.cgi == > 20%
- downcentertilt.cgi == > 40%
- centertilt.cgi == > 60%
- upcentertilt.cgi == > 75%
- uptilt.cgi == > 90%