reicheltpedia, das Wiki für Elektronik

Arduino

Aus Reicheltpedia
Wechseln zu: Navigation, Suche

Arduino (Genuino) ist ein E/A-Board mit einem Mikrocontroller der über analoge und digitale Ein- und Ausgänge verfügt. Er soll auch dem technisch nicht so versierten Anwender den Einstieg zur Programmierung und zu Mikrocontrollern erleichtern. Die Programmierung wird in C bzw. C++ vorgenommen. Mit einem Arduino Board lassen sich zum Beispiel Objekte steuern, Sensoren auslesen und man kann mit Software auf dem PC interagieren.

Übersicht

Auswahl Arduino-Einplatinen-Microcontroller

Bezeichnung
Microcontroller
Flash
SRAM
EEPROM
I/O Pins
I/O Pins mit PWM
Maße
Abbildung
Arduino Mega
ATmega2560
256KB
8 KB
4
54
14
Breite: 53,3 mm
Länge: 101,52 mm
Arduino Uno
ATMega328
32 KB
2 KB
1
14
6
Breite: 53,40 mm
Länge: 68,60 mm
Arduino Enet2
ATmega32u4
32 KB
2,5KB
1
14
4
Breite: xx
Länge: xx
Arduino M0 Pro
ATSAMD21G18
256 KB
32
0
20
2
Breite: xx mm
Länge: xx mm
Arduino Uno Dip
ATmega328
32 KB
2 KB
1
14
6
Breite: 53,40 mm
Höhe: Länge: 68,60 mm
Arduino Mini
ATmega328
32 KB
2 KB
1
14
6
Breite: xx mm
Länge: xx mm
Arduino Nano
ATmega328
32 KB
2
1
14
6
Breite: 18 mm
Länge: 45,00 mm
Arduino Yun
ATmega32u4
32 KB
2,5 KB
1
20
7
Breite: 56,00 mm
Höhe: 17,00 mm
Länge: 85,60 mm
Arduino Leonardo
700 MHz
256 KB
2,5 KB
1
26
7
Breite: 53,00 mm
Länge: 73,00 mm

Die Arduino Entwicklungsumgebung

Auf der Arduino Seite kann man die Entwicklungsumgebung herunterladen: https://www.arduino.cc/ Folgende Betriebssysteme werden derzeit unterstützt:

Windows

Mac OS X 10.7 Lion or newer

Linux 32 bits

Linux 64 bits

Nach der Installation und Programmstart wird schon ein "leerer" Sketch angezeigt.

ArduinoStartCOM5.PNG

Über Werkzeuge -> Board kann man sein Board wählen, es sollte allerdings nach dem einstecken des Arduino UNO schon angewählt sein.

ArduinoBoard.PNG

Über Werkzeuge -> Port kann man sehen welcher Port zugewiesen wurde.

ArduinoCOM5.PNG

Interessant kann später auch der serielle Monitor sein Werkzeuge -> Serieller Monitor.

ArduinoSeriellerMonitor.PNG

Hier ein Beispiel Output in Verbindung mit einem MPU 6050 Beschleunigungssensor mit Gyroscope.

ArduinoSeriellerMonitorOutput.PNG

Folgende Anleitungen sind unter Entwicklungsumgebung Version 1.6.6 Windows 64-bit und einem Arduino UNO erstellt worden.

Tipps zum Experimentieren:

Erst die Schaltung komplett aufbauen bevor der Arduino mit Strom versorgt wird.

Die Schaltung am besten noch einmal von oben betrachten um Steckfehler auszuschließen.

Vor dem Hochladen den Sketch überprüfen lassen.

Zusätzliches Zubehör zum Schaltungsaufbau: Zubehör

Starter kit: Starterkit

Obwohl hier in deutsch erklärt wird und auch die Kommentare in den Codezeilen in deutsch ergänzt sind, sollte für zukünftiges Experimentieren die englische Sprache bevorzugt werden, da die meisten Beispiele in englisch vorhanden sind. Auch das Programmieren fällt dann leichter, weil man die meisten Begriffe besser zuordnen kann.

Hier ein paar Beispiele die den Einstieg erleichtern sollen mit dem Arduino UNO.

ArduinoLayout.PNG

LED Blink (Praktisches Beispiel wäre eine Anwesenheitssimulation)

Den Sketch laden über Datei -> Beispiele -> 01.Basics -> Blink

ArduinoSketchLaden.PNG

Im folgendem Bild wurden die Kommentare für ein erstes besseres Verständnis in deutsch erweitert.

ArduinoBlinktut.PNG

Der Schaltungsaufbau: GND (Ground/Masse) wird an Minus (-) vom Steckboard angeschlossen. PIN 13 wird an Plus (+) vom Steckboard angeschlossen, somit wird das Steckboard versorgt und es kann die Schaltung wie auf dem Bild aufgebaut werden. Auf die Polung der LED achten(Der längere PIN ist Plus (+).

ArduinoBlinkStecklayout.png

Nachdem die Schaltung kontrolliert wurde kann der Arduino UNO über das USB-Kabel angeschlossen werden. Nun kann der "Sketch" nach Überprüfung hochgeladen werden.

ArduinoSketchHochladen.PNG

Die Schaltung sollte auf Anhieb funktionieren und die LED sollte jede Sekunde ein- und ausgeschaltet werden.

Somit wurde ein "komplettes" Programm geschrieben und auf den Mikrocontroller hochgeladen. Zum weiteren Experimentieren kann jetzt zum Beispiel eine weitere LED angeschlossen werden und man kann die Werte für das "delay" verändern.

LED Blink mit Taster (Praktisches Beispiel wäre eine Türklingel mit LED)

Aufgabe: Schaltet eine LED die mit Pin 13 verbunden ist ein, wenn ein Taster an Pin 2 angefügt ist.

Es kann der Sketch wieder über Datei -> Beispiele -> 01.Basics -> Button geladen werden.

Aber warum nicht selber schreiben?

Hier Teil 1 und 2 des Sketches:

Teil 1:

ArduinoPushButton1 2.PNG

Teil 2:

ArduinoPushButton2 2.PNG

Und der Schaltungsaufbau dazu:

ArduinoButtonTutorial.png

Die Erstellung der Bilder für den Schaltungsaufbau erledigt "Fritzing":

http://fritzing.org/home/

Einblenden Ausblenden (Praktisches Beispiel wäre zum Beispiel eine Leuchturmlampe in einem Model)

Alle Informationen sind im Code(Sketch) dokumentiert.

Aufgabe: Fadet eine LED die mit Pin 9 verbunden ist ein und wieder aus.

Der Sketch:

Arduino fading.PNG


Und der Schaltungsaufbau dazu:

Arduino fading circuit.png

Wie oft wurde der Taster gedrückt (Praktisches Beispiel wäre zum Beispiel ein Besucherzähler)

Alle Informationen sind im Code(Sketch) dokumentiert.

Aufgabe: Durch Tastendruck zählen wie oft der Taster gedrückt wurde.

Der Sketch:

Teil 1:

ArduinoCountButton01.PNG

Teil 2:

ArduinoCountButton02.PNG

Teil 3:

ArduinoCountButton03.PNG

Und der Schaltungsaufbau dazu:

ArduinoCountButtonCircuit.PNG.png


Und wie in den vorherigen Anleitungen erwähnt kann hier der serielle Monitor ausgelesen werden:

ArduinoSeriellerMonitor.PNG

LCD Display ansteuern

Benutzt wird das LCD aus dem KIT ARDUINO STARTER

Erklärung zum Display:

Das LCD hat eine parallele Schnittstelle, das bedeutet das mehrere Pins auf einmal verändert werden müssen um das LCD zu steuern.

Die Schnittstelle, ist folgendermaßen zusammen gesetzt:

Ein Register (RS) Pin das den Speicher kontrolliert in welches rein geschrieben wird.

Man kann entweder das "data register" anwählen, was festhält was auf den Bildschirm angezeigt wird,

oder ein "Instruktionsregister" wo der LCD Controller nachschaut was als nächstes zu tun ist.

Ein Lese/Schreib (R/W) Pin das den Schreibmodus oder Lesemodus auswählt

Ein Einschalt Pin das das Schreiben in das Register einschaltet.

8 Datenpins (D0 -D7). Die Stati von den Pins können (high, oder low sein).Das sind die Bits die in das Register beim Schreiben geschrieben werden.

Oder die Werte die beim Auslesen gelesen werden.

Zusätzlich gibt es einen Pin (Vo) für den Kontrast des LCD's, Stromversorgung Pins für +5V und Masse und für eine Hintergrundbeleuchtung (Bklt+ und Bklt-)die jeweils angesteuert werden können.

Der Prozess um das Display zu kontrollieren beinhaltet das einbringen der Daten, die Form des Bildes, oder was man Anzeigen will in das Register und

das einbringen von Anweisungen in das Anweisungsregister. Die LCD Bibliothek vereinfacht dies, somit benötigt man kein Wissen, über die Maschinenorientierte Anweisungen.

Alle Informationen sind im Code(Sketch) dokumentiert.

Aufgabe: Hello World und Zeit in Sekunden anzeigen seit dem letztem Reset.

Aufbau:

Arduino LCD Tutorial.png

Sketch:

Arduino LCD Tutorial Sketch.png

Ja! Das war wirklich alles :)

Servo Steuerung

Servo Motor mit Potentiometer ansteuern (Beispiel aus der RC Technik)

Benutzt wird das Potentiometer und der Servo Motor aus dem KIT ARDUINO STARTER

Aufgabe:

Servo Motor mit Potentiometer regeln.

Arduino ServoTutorial.png

Sketch:

Arduino ServoTutorial Sketch.png

Arduino Shields im Eigenbau

Arduino Shields im Eigenbau:

Wir haben hier für Sie Beispiele zusammengestellt wie man selber Shields für den Arduino, Raspberry PI, oder andere Einplatinencomputer erstellen kann.

Hier geht es zum Warenkorb: Warenkorb ALL IN!

Wir haben zu dem Warenkorb auch Werkzeuge und Schutzmittel hinzugefügt, die das erstellen erleichtern. Eine Schutzbrille sollte nicht fehlen!

Schutzbrilleparis.jpg | Proxxon saege.png

Beispiel LED:

Shield parts led.JPG Shield parts led1.JPG

Streifenrasterplatine Shoplink ausbrechen, oder aussägen und SL 1x36W 2,54 Shoplink passend abbrechen, oder sägen.

Einlöten mit gewünschter Farbe und richtiger Polung. Danach kann das Shield mit dem Arduino, oder einem anderen Einplatinencomputer eingesetzt werden und ist Steckboardkompatibel!

Shield LedReady.JPG Shield inSTBoard.JPG

Wir haben natürlich auch 5V LED’s im Sortiment, dann kann man den Widerstand weg lassen, da dieser in der LED enthalten ist:

Shoplink zu den LED mit Vorwiderstand TIP auf der linken Seite kann man nach 5V filtern! Wir benutzen von der Stiftleiste mehr Pole als benötigt, da das einlöten vereinfacht und die Stabilität des Shields erheblich gesteigert wird.

Steckboardbrücken sollten nicht fehlen: STBUJumper.jpg

Hier eine Auswahl an Beispielen mit entsprechenden Bauteilen (Möglichkeiten unbegrenzt)! Zu jedem Beispiel gibt es ein „Fritzing Protype Schaltbild“


Temperatursensor LM 35 und ein Potentiometer:

TemperaturSensorLM35 Steckplatine.png Poti Steckplatine.png

LDR 07 Lichtsensor und Reed-Kontakt:

Ldr Steckplatine.png Reed switch Steckplatine.png


Wir möchten gerne noch einmal auf die Möglichkeiten der Fritzing Software hinweisen, die viele Beispiele enthält, auch mit Programmier-beispielen für den Arduino und Raspberry:

Fritzing shields.PNG

Weitere Möglichkeiten sind: Summer, RTC(RealTimeClock), Taster IR-Switches, Lüfter, Regler, Sensoren, Klemmen, IC-Sockel, Kondensatoren.... Anhand der Bilder können Sie sich inspirieren lassen:

Alle Artikel der Bilder befinden sich auch im Warenkorb:Warenkorb

Fazit

Wir hoffen hier einen guten Einstieg in die Welt des Arduino und dessen Programmierung gegeben zu haben.

Falls mal ein Zubehörteil fehlt, oder die Steckbrücken ausgehen haben wir hier einen Warenkorb zusammengestellt aus dem man auswählen kann:

Weiteres Zubehör

Für weitere Anleitungen und Hilfe bei Problemen können wir die Orginal Arduino Seite mit Ihrem Forum empfehlen:

https://www.arduino.cc/

Für das erstellen von Bildern der Sketches können wir Fritzing empfehlen:

http://fritzing.org/home/

Auf beiden Seiten ist die englische Sprache von Vorteil.


Projekt Dartscheibe

Umbau elektronisches Dartspiel zu Arduino -> PC, oder auch Raspberry PI möglich.

Noch ein elektronisches Dartspiel im Keller?

Hier eine DIY Anleitung zum Umbau, um das Dartboard an einen PC, oder Raspberry PI anzuschliessen inklusive Netzwerktauglichkeit.

Pydarts.png

Benötigt wird ein Arduino NANO, oder UNO, oder vergleichbar. Der NANO passt natürlich sehr gut in das Dartgehäuse.

Ein PC zum anschliessen, oder ein Raspberry PI

Zusätzlich die Opensource-Software pyDarts:

https://sourceforge.net/projects/pydarts/

Dort findet man auch immer die aktuelle Version:

https://sourceforge.net/projects/pydarts/files/

Diese kann man in ein beliebiges Verzeichnis entpacken.

Hier ein Warenkorb mit allen benötigten Artikeln für den Umbau:

Nicht benötigtes einfach entfernen:

Zum Warenkorb

Ab hier der Hinweis, das dass Board nicht mehr normal nutzbar ist, da die Platine aus dem Dartgehäuse entfernt wird.

Zuerst wird das elektronische Dartspiel geöffnet.

Sollten sich wie auf dem Foto um ein einziges Flachbandkabel handeln, ist der Ablauf etwas anders, da man genau herausfinden muss, wie die Leitungen der Matrix verbunden sind.

Bigslicknotgood.JPG

Zusätzlich würde das abgreifen der Matrix problematisch werden, da die Kontakte nur aufliegen. Wir haben mit diesem Board nicht weiter gemacht.

Am einfachsten ist es, wenn das Board 2 Kabel hat: ein Kabel was 8 belegt hat und einmal 10, also eine 8x10 Matrix, zusätzlich sollte das Flachbandkabel leicht zu entlöten sein.

Wie man auf diesem Bild gut erkennen kann:

Slick withsr50.JPG


Es wird der Stecker inklusive Flachbandkabel entlötet, entweder mit Entlötlitze, oder mit Entlötpumpe. Man muss probieren wie es sich besser entlöten lässt.

Ganz wichtig! Das Flachbandkabel ist Kunststoff und verträgt absolut keine Hitze, es muss sehr sorgfältig gearbeitet werden.

Am Ende sollte man 2 "Slicks" mit jeweils einem Pfostenstecker freigelegt haben. Bei unserem Board ist der Lochabstand 2.54mm.

Desoldered cuttet.JPG

Die beiden "Slicks" kann man jetzt jeweils in eine Streifenrasterplatine löten, die Platine nicht zu klein sägen, damit man noch die Leitungen zum Arduino

einlöten kann. Ungefähr wie auf dem Bild:

Slick withsr50.JPG


Wie man sieht kann man ein abisoliertes Patchkabel benutzen und die jeweiligen Leitungen auf die Streifenrasterplatine löten, so

das jeder Pin von der Dartmatrix abgegriffen werden kann.

Dart arduino contacts.jpg

Dazu kann man natürlich auch das DEBO Kabelset verwenden.

Hier sieht man wie die Leitungen zum Arduino NANO geführt werden:

Dart arduino contacts.jpg


Der Arduino NANO wurde in eine Streifenrasterplatine eingelötet und seitlich wurden gewinkelte Buchsenleisten eingelötet, damit später auch das

Dartgehäuse wieder geschlossen werden kann.

Wichtiger Hinweis! Die Leiterbahnen unterbrechen auf der Streifenrasterplatine, damit der Arduino sich nicht mit "Magic Smoke"(Kurzschluss) zum Elektroschrott verabschiedet.

Dart arduino contacts2.jpg

Die Matrix wird wie folgt verbunden:

Der "Slick" mit den wenigeren Kontakten von A0 - A5 und auf 2 und 3, der andere Slick von D4 nach D13

Dart connection overview.png

Evtl. hat man andere "Slicks" 8x9 oder 4x16,

Dann muss man die Arduino Datei anpassen!

8 10ArduIno.JPG


rowPins und colPins definieren die jeweiligen Pins auf dem Arduino.

Viele Bilder findet man auch auf der Entwicklerseite, was als Basis für unsere Anleitung dient.

(Die Seite is in Englisch.)

pyDarts

Man kann auch die Buttons von der Platine nutzen:

Dart button front.jpg

Muss man aber nicht, da diese Funktionen auch über die Tastatur gesteuert werden können.

Wer noch keine Erfahrung mit dem Arduino hat kann sich hier über die Basics Informieren:

http://www.reichelt.de/reicheltpedia/index.php5/Arduino

Software installieren:

Das Paket für alle Abhängigkeiten kann hier geladen werden:

https://sourceforge.net/projects/pydarts/files/dependancies/

Getestet mit Windows 7 und Windows 10

Wer lieber die Pakete selber installieren möchte kann folgende Links verwenden:

Bitte nur 32bit Pakete installieren und Python 2.7 kompatible Versionen.

python 2.7 http://www.python.org/download/windows/

pyserial http://sourceforge.net/projects/pyserial/

pygame http://www.pygame.org/download.shtml

netifaces https://pypi.python.org/pypi/netifaces/ Instructions here [netifaces_install_windows]

wxPython https://wxpython.org/download.php

Arduino Software http://arduino.cc/en/main/software


Den Sketch in den Arduino laden und erstmal den Arduino baumeln lassen für einen ersten Test:

Dart windows test.jpg


den Arduino mit dem PC verbinden über USB Verlängerungskabel. Bei unseren Tests waren 5 Meter Entfernung kein Problem. Die Software wird mit pydarts.bat gestartet und sollte die Dartscheibe automatisch erkennen. Beim ersten mal findet eine Autokonfiguration statt wo nacheinander alle Felder der Dartmatrix gedrückt werden müssen. Buttons können übergangen werden, wenn keine Buttons benötigt werden. Wir haben uns dazu entschieden, das "nächster Spieler" und "Beenden" über die Tastatur gesteuert wird. Das sind für "nächster Spieler" die Leertaste und für "Beenden" die ESC Taste. Einfach nach allen Feldern die ESC Taste drücken.

Eigentlich ist das Projekt jetzt abgeschlossen, die Scheibe ist einsatzbereit.

Wir wollen einen Schritt weitergehen und lassen den PC weg, ersetzen diesen dann gegen einen Raspberry PI. In unserem Fall einen Zero, bei einem Raspberry PI 2/3 ist der Ablauf ähnlich und einfacher.

Echte Fummelarbeit:

der 1. Test sah so aus:

Dart zero test.JPG


Dazu wird auf einem raspberry mit Debian-Jessie Lite mit zusätzlichen Paketen installiert:

sudo apt-get update

sudo apt-get install python python-pygame python-serial python-netifaces cu python-wxgtk3.0

addgroup "Benutzername" dialout

Einbinden des Netzwerkmoduls ENC28J60(Kann bei einem Raspberry PI 2/3 übersprungen werden:

Networkmodul.JPG

folgendermaßen verbinden:

Dar network.JPG

SPI muss aktiviert werden mit:

sudo raspi-config

in den "Advanced Options” "SPI” aktivieren.

in der Bootconfig eine Zeile einfügen.

sudo nano /boot/config.txt

dtoverlay=enc28j60

sudo reboot

DSC 0385.JPG


Nun sollte die Netzwerkkarte mit 10 M/Bit zur Verfügung stehen.


Alles passend in das Dart Gehäuse platzieren, ggfs. mit etwas Heißkleber fixieren:

Dart filledparts.jpg


Wer noch einen VGA Monitor besitzt kann diesen mit einem HDMI/VGA Adapter verwenden.

Ein aktiver USB HUB ist noch zu empfehlen für einen Zero, damit genügend Ports zur Verfügung stehen Raspberry PI 2/3 hat ausreichend USB-Ports.

Hier noch ein paar Impressionen wie das Board am Ende aussehen kann:


Dart lan connector.jpg

Dart front.jpg

Dart cable raus.jpg

Dart zero inside.jpg


Test mit Raspberry PI 3:

Dart raspberrypitest.JPG

Wir empfehlen ausdrücklich den Raspberry PI 2/3 zu benutzen, da es eine Menge an "Fummelarbeit" erspart.

Alle Produkte hier im Warenkorb:

Zum Warenkorb

Bei weiteren Fragen und Anregungen steht ein Forum zur Verfügung: https://sourceforge.net/p/pydarts/discussion/

Es sind mit diesem Projekt auch Spiele über Netzwerk möglich, das bedeutet:

Wenn Jemand auch eine umgebaute Dartscheibe besitzt, kann man weltweit mit aktiver Internetverbindung gegeneinander mit bis zu 8 Spieler eine Runde Darts spielen.

Viel Erfolg und Spaß!

  • Einige Bilder mit freundlicher Genehmigung der pyDarts Community


Projekt Pan Tilt Außenkamera mit Nachtsicht

Pan Tilt Außenkamera mit Servos und Nachtsicht

DummySDOME RPICAM03.JPG

Der passende Warenkorb zu dem Projekt hier:

zum Warenkorb

Ein paar wichtige Hinweise:

Der Raspberry kann zum testen über die GPIO Ports mit Strom versorgt werden, damit

umgeht man allerdings alle Sicherheitseinrichtungen des Raspberry PI und somit kann es

bei Überspannungen zur Zerstörung des Raspberry PI führen.

Mit einem abgewinkelten Micro USB Kabel zur Stromversorgung des Raspberry PI sollte

noch ausreichend Platz in dem "Dummy Gehäuse" sein um die PAN TILT Funktion nutzen zu können.

In dieser Anleitung wird das USB-Versorgungskabel durchgetrennt, deswegen richtet sich diese Anleitung

an schon etwas erfahrene Personen, oder an Personen die sich von erfahrenen helfen lassen können.

Zuerst wird ein Jessie Lite mit 2 zusätzlichen Dateien installiert:

Hier noch der Link zu dem Download: https://www.raspberrypi.org/downloads/raspbian/

ssh und wpa_supplicant.conf

Die Datei wpa_supplicant.conf mit folgendem Inhalt:

update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
    scan_ssid=1
    ssid="DeineSessionID"
    psk="password"
}
 

und einfach einen "textdatei" mit dem Namen "ssh"

damit haben wir SSH aktiviert und eine funktionierende WLAN Verbindung nach dem Start vom Raspberry PI

Wpa ssh.JPG

Diese beiden Dateien kommen in das "root" Verzeichnis der micro SD Karte

Aus Sicherheitsgründen wird das Password nach dem Start mit:

passwd geändert.

weiter mit:

sudo apt-get update

Wer mag kann noch:

sudo apt-get install mc

ausführen für den Midnight Commander.

mit

sudo raspi-config

die Kamera aktivieren

Dann werden ein paar Projekte aus dem github geladen um nicht alles neu erfinden zu müssen:

sudo apt-get install git

Dann die benötigten Projekte laden:

git clone https://github.com/richardghirst/PiBits.git

git clone https://github.com/skalad/RPi_Cam_Web_Interface_ServoBlaster_pan_tilt

Nun Servoblaster installieren(Verzeichnisnamen anpassen bei Bedarf):

cd PiBits/ServoBlaster/user/

sudo make install

Das Timeout von 2000 auf 500 setzen in der Servoblaster Datei:

sudo nano /etc/init.d/servoblaster

sudo ./servod

startet den Server.

Zum Test kann man später:

echo 0=150 > /dev/servoblaster eingegeben werden wenn die Servos angeschlossen wurden.

Nun die Software:

git clone https://github.com/skalad/RPi_Cam_Web_Interface_ServoBlaster_pan_tilt

cd RPi_Cam_Web_Interface_ServoBlaster_pan_tilt

sudo chmod u+x RPi_Cam_Web_Interface_Installer.sh

sudo ./RPi_Cam_Web_Interface_Installer.sh install

^^ das dauert ein wenig, aber es werden aber alle benötigten Pakete installiert.

Testweise kann man den Raspberry neu starten um zu prüfen, ob die Weboberfläche zur Verfügung steht.

Dazu wird die IP Adresse des Raspberry PI mit einem Webbrowser von einem anderen Rechner aufgerufen:

WebiRPICAM 01.JPG

Sollte nur eine Testseite des Apache2 Servers angezeigt werden, dann stimmt das "Homeverzeichnis" nicht.

Dieses sollte sein /var/www/ <-- in diesem Verzeichnis sollten die Dateien unserer Seite liegen

Dieses kann wie folgt geändert werden:

sudo nano /etc/apache2/sites-enabled/000-default

hier kann man das "DocumentRoot" passend ändern.

sudo service apache2 reload sollte auslangen, ansonsten ein:

sudo service apache2 restart

ausführen, um den Apache neu zu starten.

Danach den Raspberry PI ausschalten und Stromversorgung trennen.

Nun gehts an die Hardware:

Wir haben uns zum testen 1 Platine erstellt um die Stromversorgung der Servos direkt vom Netzteil zu holen.

Powerconposneg.jpg

Die GPIO Ports vom Raspberry sind nicht dazu geeignet um große Lasten zu bewegen, deswegen sollte man die Servos nicht

über die GPIO Ports mit Strom versorgen. Wir haben die Zuleitung aufgetrennt und auf die Platine mit einer Steckerleiste angebracht.

Die Servos werden mit Strom von der Platine versorgt und nur die Steuerleitungen der Servos gehen auf GPIO 4 und GPIO 17.

PiGPIO-Layoutrev1.png

"Zum Testen" haben wir den Raspberry über die GPIO PORTS mit Strom versorgt.

Powerovergpio.jpg

Die Servos werden einfach mit Heißkleber aneinander geklebt. Dabei muss man darauf achten, das dies exakt mittig geschieht,

Servoinside.jpg

damit später das Gehäuse vom Raspberry nicht am Kameragehäuse hängen bleibt.

Dann werden die Servos auf das Raspberry Gehäuse geklebt. Wir haben dazu die 4 Flügel Blätter benutzt.

Die Stecker der Servos haben wir entfernt und mit Steckbuchsen versehen. Nicht vergessen die Flügel Blätter mit Schrauben befestigen und nicht kleben!

Anschluss der Servos:

ROT ist VCC

BRAUN ist GND

ORANGE ist "Steuerleitung zum GPIO"

Grv servoPICAM02.JPG

Testen kann man außerhalb des "Dummy Gehäuses" um zu prüfen ob alles funktioniert.

echo 0=150 > /dev/servoblaster

Nicht vergessen genug Leitungslänge im Gehäuse zu lassen, damit die Kamera sich auch drehen kann.

Wenn alles korrekt angeschlossen wurde und der Raspberry PI wieder eingeschaltet wurde kann man über die IP Adresse des Raspberry PI

die Kamera Seite aufrufen:

WebiRPICAM 01.JPG

hier können die Servos jetzt über die grünen Pfeile bewegt werden.

Man kann noch die Begrenzungen der PAN TILT Funktion ändern.

Die Dateien um die Begrenzungen einzustellen sind im Verzeichnis:

www/left.sh

www/right.sh

www/up.sh

www/down.sh

so kann man die Drehung eingrenzen nach Bedarf, damit die Kabel im Gehäuse nicht zu sehr auf Spannung kommen.

Wenn alles funktioniert kann man den Raspberry inklusive Servos in das "Dummy Gehäuse" einkleben, auch hier

haben wir wieder Heißkleber benutzt, da man herrlich korrigieren kann. Auch hier gilt es muss genau mittig und tief genug sitzen

damit das Gehäuse auch noch geschlossen werden kann. Die Stromversorgung kann von oben erfolgen, dabei ist aber darauf zu achten

das die gebohrte Stelle gut abgedichtet wird.

Auch genug Kabellänge sollte im Gehäuse verbleiben, damit die Drehungen auch ausgeführt werden können.

Um einen besseren Halt zu bekommen kann man ein Stück Holz in den Deckel (Ja mit Heißkleber) kleben, darauf dann den

Raspberry Servo Verbund kleben.

DummySdomeInside.jpg

Man kann auch etwas vom Gehäuse des Raspberry wegschneiden um kleine Fehler beim Einbau zu korrigieren.

Chassieside.jpg

Über die kleine Platine können jetzt noch Infrarotdioden mit Strom versorgt werden um auch in der Nacht

ein Bild zu bekommen.

Löcher in das Gehäuse für die LEDs, erst mit 3mm vorbohren, dann mit 5mm auf die richtige Größe bringen und entgraten.

Mit 2-3 Kabelbinder, kann man sich eine Markierungslinie für die Löcher erstellen. Danach auf Dichtigkeit des Gehäuses achten.

Dummysdomeledtest.jpg Dummysdomeir.jpg


Hier noch eine LDR 07 Schaltung, damit die IR-LEDs nicht ununterbrochen laufen müssen.

Ldrschaltung07.png

Leider können die LEDs nicht in das Gehäuse, da die Kuppel nicht entspiegelt ist und somit kommt es zu unerwünschten Reflexionen.

6 gerichtete Dioden sind nur für kurze Entfernungen gedacht, für eine größere Reichweite kann man natürlich einen LED-IR Scheinwerfer benutzen:

IR SW 18 für ca. 10 Meter Reichweite.

IR-Scheinwerfer

Das funktioniert natürlich nur mit einer IR fähigen Kamera wie:

NoirCAMRPICAM04.JPGRASP CAN 2

Rasp can 2

Hier 2 Beispielbilder der Kamera:

1x mit 6 SFH ca. 2-3 Meter von den Objekten weg.

Ircamimageinnen.jpg

Und 1x draußen mit IR Scheinwerfer.

SpiderIRImage.jpg

"Thekla" unten auf dem Bild, hat die Aufnahme ausgelöst an einer Synology Diskstation mit Bewegungserkennung! :)

Camera inside.jpg Camonwall.jpg


Crazy Skater Projekt

Skateboard am Computer mit Arduino Leonardo

Noch ein Skateboard im Keller? Auch ein abgenutztes Skateboard ist geeignet.

Skater00.jpg Skater01.jpg

Wir benötigen 2 Taster und 2 Rollenhebelschalter, sowie einen Arduino Leonardo und ein paar Kabelbrücken.

Als Verlängerung hat sich ein Patchkabelrest gefunden.

Etwas Heißkleber ist auch sehr hilfreich. Etwas Lötzinn und eine Platine für die Taster, sowie ein Leiste um die Massen zu verbinden.

Heißklebesticks gibt es auch im Shop:

Klebesticks

Hier der Warenkorb zum Projekt: Warenkorb

Zuerst laden wir diesen simplen Sketch auf den Leonardo:

Skatersketch.JPG Skater01.jpg

Es wird noch die passende Bibliothek benötigt:

https://github.com/MHeironimus/ArduinoJoystickLibrary/tree/version-1.0

Ab Version 1.6.6 aufwärts ist diese Bibliothek kompatibel.

der Weg dahin geht so:

Skater Sketch sample path.png

oder so:

Im Ordner /Joystick/examples/JoystickButton findet man unseren Sktech: JoystickButton.ino

In der Systemsteuerung/Geräte und Drucker sollte nach erfolgreichem Upload der Gamecontroller auftauchen, hier kann man sich die Gerätekonfiguration angucken und später testen.

Skater07.JPG


Um jetzt unser Skateboard zu benutzen, müssen 2 Taster und die beiden Rollenhebel mit dem Arduino verbunden werden, diese haben später die Joystick Buttons 1, 2, 3, und 4.

Am Leonardo sind das die digitalen Eingänge 9, 10, 11, und 12.

Nun die Rollenhebel so auf das Skateboard kleben, dass Sie auch von den Rollen beim Neigen erwischt werden,

dabei darauf achten, das die Schalter beim Neigen des Boards nicht zerstört werden, dafür die Trucks evtl. etwas härter einstellen.

Skater03.jpg Skater04.jpg

Wir benutzen hier Button 1 und 2 (9 und 10) als Taster für die Hand, das simuliert uns springen und ducken. 3 und 4 (11 und 12) sind unsere Rollenhebel, diese simulieren uns links und rechts.

Skater06.jpg

Testen können wir alle Taster in der Systemsteuerung

Skater07.JPG Skater08.JPG

Wenn alles läuft benötigen wir noch ein Spiel zum testen.

Dafür hat 1 Mitarbeiter dieses kostenlose Crazy Skateboard Projekt erstellt, so das es auch mit unserem Leonardo funktioniert.

Zum Download


Hier ein Video vom Spiel:

https://youtu.be/OoodU5cThTU

Man sollte am Anfang jemanden dabei haben der einen abfängt, falls man mal das Gleichgewicht verliert.

Ein Stück tiefer Teppich schützt vor dem wegrollen des Boards, oder man fixiert das Board gleich auf dem Boden.

SkateReady.jpg


Viel Spaß beim Skaten.