Änderungen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche

FPV-Auto

2.041 Byte hinzugefügt, 20:51, 15. Jul. 2019
/* Chassis */ Neue Version mit versetztem Stackholder (wg. Kamerakabel), Ladekontakten und Lautsprecher Gitter
==== Package für Arduino ====
Die Idee ist, dass das Board direkt vom Raspberry Zero geupdatet werden kann. Dazu muss auf den Raspberry zunächst Arduino installiert werden - am besten indem zunächst der Default-Arduino via <pre>sudo apt install arduino</pre> installiert wird, und dann aber ersetzt wird, indem von arduino.cc die ARM-Version nach installiert wird.
<pre>wget https://downloads.arduino.cc/arduino-1.8.9-linux32linuxarm.tar.xztar -xvf arduino-1.8.9-linuxarm.tar.xzsudo mv arduino-1.8.9 /optsudo /opt/arduino-1.8.9/install.sh</pre>In der neuen Arduino-IDE wird dann der unter File->Preferences den Sketchbook-Speicherort auf das Arduino-Verzeichniss aus dem GIT-Repository gesetzt und die IDE neu gestartet. Damit sind sofort alle speziellen Libraries und das FPV-Auto in der Board-Auswahl verfügbar. Auf dem Raspberry muss "FPV-Auto on Raspberry" gewählt werden, um vom Raspberry das aufgesteckte Board umzuprogrammieren. Die Variante ohne "on Raspberry" ist für den Fall, dass man das Board vom PC aus programmieren möchte - hierzu muss man RX/TX/Reset und GND mit einem 3.3V USB-Seriell-Adapter anschliessen.
==== Kommandos von FPVAutoControl ====
==== Audio Ausgabe aktivieren ====
Geht am Arduino vorbei, dieses Tutorial nutzen: http://www.lucadentella.it/en/2017/04/26/raspberry-pi-zero-audio-output-via-i2s/ und die asound.conf mit dem Kram von hier bestücken: https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp/raspberry-pi-usage#detailed-install-5-16
 
<pre>sudo nano /boot/config.txt</pre>
<pre>
...
#dtparam=audio=on
dtoverlay=hifiberry-dac
dtoverlay=i2s-mmap
...
</pre>
 
<pre>sudo nano /etc/asound.conf</pre>
 
<pre>
pcm.speakerbonnet {
type hw card 0
}
 
pcm.dmixer {
type dmix
ipc_key 1024
ipc_perm 0666
slave {
pcm "speakerbonnet"
period_time 0
period_size 1024
buffer_size 8192
rate 44100
channels 2
}
}
 
ctl.dmixer {
type hw card 0
}
 
pcm.softvol {
type softvol
slave.pcm "dmixer"
control.name "PCM"
control.card 0
}
 
ctl.softvol {
type hw card 0
}
 
pcm.!default {
type plug
slave.pcm "softvol"
}
</pre>
 
pygame installieren
<pre>sudo apt install python3-pygame</pre>
 
sound downloaden
<pre>wget http://www.wavsource.com/snds_2018-06-03_5106726768923853/animals/chicken.wav</pre>
 
python3 script erstellen
<pre>
import pygame
import time
 
pygame.mixer.init(44100, -16, 1, 1024)
pygame.mixer.music.load("chicken.wav")
pygame.mixer.music.play()
 
time.sleep(3)
</pre>
==== Kamera aktivieren ====
Als Alternative wurde ein Chassis mit den Motoren im Rad entwickelt. Dadurch wir die Radnabe dicker, aber der Platz im Inneren des Chassis wird deutlich größer. Ausserdem läßt sich jetzt der Aufbau des Chassis wesentlich freier gestalten, es müssen lediglich die Befestigungspunkte der Räder vorgesehen werden.<br>
[[Datei:20190421-fpvauto-inwheelchassis01.jpg|320px]]<br>
[[Datei:20190424InWheel.zip]] In Wheel Chassis(Testplattform)<br>[[Datei:20190605-InWheelChassis.zip]] In Wheel Chassis (Beta 1) mit Befestigungslöchern für Stack<br>[[Datei:20190605-StackHolder.zip]] Stackbefestigung für Beta 1 Chassis. Befestigung mittels 2x M4 Senkkopf 5mm <br>[[Datei:20190715-InWheel.zip]] In Wheel Chassis - Versetzter Stackholder, Ladekontakte, Lautsprechergitter<br>
== Raspberry Pi Zero W ==
== Software ==
=== Protokoll für Commandos aus der Webgui ===
{
"modul":"MODULNAME",
"key": "value"
}
Beispiel
 
{
"modul":"base",
"forward": 10
}
=== Videostreaming ===
Hier könnten wir UV4L verwenden.<br>
Um den mjpeg Stream in eine Webseite einzubinden einfach folgendes Tag einfügen.
<img id="video" src="http://raspberrypi:8080/stream/video.mjpeg" width="640" height="480">
 
== Emotionen ==
Mit einem OLED Display kann man dem Gefährt Emotionen mit geben.
 
Hier ein Test mit einem 128x64 Pixel Display:<br>
[[Datei:Eyes neutral.png]]
[[Datei:Eyes skeptic.png]]
[[Datei:Eyes angry.png]]
[[Datei:Eyes sad down.png]]
 
Verwendet wird die Python Bibliothek [https://github.com/rm-hull/luma.oled Luma.OLED].<br>
Das Python-Skript liegt im Git Repo unter python/eyes.
97
Bearbeitungen