Arduino im T3: Unterschied zwischen den Versionen
CBS (Diskussion | Beiträge) (→4 Zusammenbau) |
CBS (Diskussion | Beiträge) (→4 Zusammenbau) |
||
Zeile 172: | Zeile 172: | ||
|- | |- | ||
| [[Datei:Bat42 D3-D10.jpg|thumb|D3-D10 Polung beachten]] || [[Datei:Arduino r10.jpg|thumb|R9-R11, keine Polung Q1 Polung beachten, Pinleisten FONA, LoNet und X1]] | | [[Datei:Bat42 D3-D10.jpg|thumb|D3-D10 Polung beachten]] || [[Datei:Arduino r10.jpg|thumb|R9-R11, keine Polung Q1 Polung beachten, Pinleisten FONA, LoNet und X1]] | ||
+ | |} | ||
+ | |||
+ | '''Kabel für das Display''' | ||
+ | |||
+ | Mittlerweile gibt es unterschiedliche Versionen des Busputers, hier ist die Version für 8 poliges Display und 10 Polige Hauptplatine beschrieben. | ||
+ | |||
+ | {| | ||
+ | |- | ||
+ | | [[Datei:Hauptplatine Stecker Busputer.jpg|thumb|Seite Richtung Platine]] || [[Datei:Stecker Hauptplatine Busputer.jpg|thumb|Links (leer) daneben GND, dann folgen blau und lila]] || [[Datei:Displaystecker Busputer 8polig.jpg|thumb|Links (rot) ist Pin 1 und rechts (schwarz) ist GND]] | ||
|} | |} | ||
Aktuelle Version vom 13. August 2019, 13:10 Uhr
noch in Arbeit - Projektstatus
Hier werden aktuell Inforamtion/Basiswissen gesammelt um einen Arduino im T3 zu nutzen.
Inhaltsverzeichnis
Wozu das Ganze?
- Standheizung mit dem Handy starten
- Türen und Innenraum Überwachung (Alarmanlage)
- GPS Tracking vom Fahrzeug
- und viele weitere Ideen
Ziel des Wiki-Eintrag
Eine einfache und simple Anleitung zu schaffen, um auch Busfahrern die mit dem "PC-Zeugs" nix am Hut haben die Möglichkeit zu geben einen Arduino im T3 nutzen zu können.
Hardware
Aktuell werden ein Arduino oder ein adafruit feather genutzt. Siehe dazu in den einzelnen Projekten.
Projekte
BusPuter
Einleitung
Der BusPuter wurde von Brun von de Gönne entwickelt. Das GitHub Projekt dazu findet man unter:
https://github.com/brvdg/busputer/
Diese Anleitung baut auf das GitHub auf und geht teilweise etwas mehr ins Detail um diejenigen die wenig Erfahrung mit solchen Projekten haben den Einstieg zu erleichtern.
Im GitHub ist immer die aktuellste Anleitung inkl Bestelllisten zu finden.
Sie nennt sich: BusPuter_DE.pdf - am besten ausdrucken
Komponenten
Eine Übersicht über alle größeren Komponenten. Die Kleinteile folgen dann in den Detailschritten.
Bauanleitung
0
Hier wird Schritt für Schritt das PDF abgearbeitet, beginnend mit den Ausführungen von Brun, ergänzt um Details die den Aufbau einfacher machen. Die Überschrift hier ist identisch mit dem Kapitel im PDF.
1 Vorwort
Der BusPuter ist ein OpenSource Projekt welches ständig weiterentwickelt wird. Daher kann es zu Abweichungen zwischen der Dokumentation und den Sourcecode geben. Es wird jedigliche Verantwortung für Schäden die durch den Nachbau entstehen abgelehnt. Beim Nachbau und der Veränderung ist auf die entsprechenden Vorschriften zu achten. Ein kommerzieller Vertrieb wird ausdrücklich untersagt.
1.1 Der Name
Auch wenn man durch den Namen denken mag, dass dieses Projekt nur für den VW Bus bestimmt ist, irrt sich. Ja, dieses Projekt findet im Bulli seine erste Verwendung aber der Name stammt von der Intention das er vielseitig bleiben soll und aus diesem Grund ein I2C Bus besitzt sowie optional eine 1-Wire Bus.
1.2 Funktionsumfang
Aktuell sind folgende Funktionen integriert.
- Geschwindigkeitsmessung via GPS
- Geschwindigkeitsmessung via GALA
- Auswertung der Drehzahl
- Auswertung der Wassertemperatur vom Kombiinstrumen
- Auswertung der Tankanzeige vom Kombiinstrument
- Anzeigen der aktuellen Position auf dem Handy mit der Hilfe von Blynk
Der Funktionsumfang ist allerdings noch viel größer. Es wird ja auch ständig dran weiterentwickelt.
2 Vorbereitung
2.1 Arduino IDE einrichten
Damit die BusPuter Sourcen richtig kompiliert werden können, müssen noch folgende Librarys und Komponenten
in der Arduino IDE hinzugefügt werden.
Das Hinzufügen der Feather M0 Kompatibilität ist von Adafruit relativ gut erklärt. https://learn.adafruit.com/adafruitfeather-m0-adalogger/setup
Anschließend können dann folgende Bibliotheken unter Sketch -> Bibliothek einbinden -> Bibliotheken verwalten
runter geladen werden
- TinyGSM (aktuell nur aus meinen Repository)
- Blynk
- U8g2
- OneWire
- SdFat
Die passende TinyGSM Libary kann sich unter https://github.com/brvdg/TinyGSM/archive/master.zip
runter geladen werden. Auch diese muss manuell installiert werden.
Danach muss die Arduino IDE neu gestartet werden.
Auch muss in der Arduino IDE das entsprechende Board noch gewählt werden.
Anschließend sollte BusPuter compiliert werden können.
Ergänzungen:
Arduino IDE gibt es hier https://www.arduino.cc/en/Main/Software -> Windows installer wählen -> wer nicht spenden will wählt "just download"
- Ardunio IDE installieren
- mit Sketch -> Bibliothek einbinden -> Bibliotheken verwalten öffnet sich ein neues Fenster, dort in der Suche jeweils Blynk (by Volodymyr), U8g2 (by oliver), OneWire (by Jim Studt) und SDfat (by Bill Greimann) eingeben und installieren
- mit Sketch -> Bibliothek einbinden -> .ZIP-Bibliothek einbinden die noch gepackt heruntergeladene master-zip hinzufügen
Hinzufügen der Adafruit Boards
- Datei -> Voreinstellungen -> ins Feld: Zusätzliche Boardverwalter-URLs nachfolgenden Link kopieren und mit OK bestätigen
- https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
- Werkzeuge -> Board:"Arduino..... -> Boardverwalter -> bei Typ beigetragen wählen
- Adafruit AVR Boards anklicken und installieren
3 Aufbau des BusPuter
Der BusPuter in der aktuellen Version hat 6 Eingänge. 2 Digitale die über einen Optokoppler getrennt sind, 2 Analoge für Spannungen bis 15,6V
- 2 digitale Eingänge die mit einen Optokoppler ausgestattet sind. Diese können für eine GALA oder Speedpulse
Signal und für Signale vom Drehzahlmesser (aktuell nur WBX getestet) verwendet werden.
- 2 analoge Eingänge für Spannungen von bis zu 15,6V. Ein Port ist für Klemme 15 fest vorgesehen. Damit
kann festgestellt werden ob gewisse Funktionen gebraucht werden oder abgeschaltet werden könne. Der andere ist für die Spannung von der KI Beleuchtung vorgesehen. Diese Eingänge haben eine größere Schutzschaltung.
- 2 analoge Eingänge für Spannungen bis 10V. Diese sind aktuell für den Abgriff von der Tankanzeige sowie
von der Wassertemperatur gedacht.
4 Zusammenbau
Display
Hauptplatine
Kabel für das Display
Mittlerweile gibt es unterschiedliche Versionen des Busputers, hier ist die Version für 8 poliges Display und 10 Polige Hauptplatine beschrieben.
5 Konfiguration
6 Blynk App
7 Erweiterte Information
8 Eigener Code
Standheizung per Arduino schalten
Code
#include <SoftwareSerial.h> char inchar; SoftwareSerial SIM900(7, 8); int SIM = 5; int led = 10; int led1 =2; int led2 =3; int led3 =4; char a=0; char b=0; char c=0; char d=0; int e=0; int f=0; int g=0; int h=0; int i=0; int k=0; int l=0; int m=0; int n=0; char x=0; char y=0; int Minuten=0; int Zeit=0; void setup() { Serial.begin(19200); // set up the digital pins to control pinMode(led, OUTPUT); digitalWrite(led, LOW); digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); SIM900.begin(19200); delay(20000); SIM900.print("AT+CMGF=1\r"); delay(100); SIM900.print("AT+CNMI=2,2,0,0,0\r"); delay(100); Serial.println("Ready..."); } void loop() { if(SIM900.available() >0) { inchar=SIM900.read(); Serial.print(inchar); if (inchar=='#') { delay(10); inchar=SIM900.read(); a=inchar; delay(10); inchar=SIM900.read(); b=inchar; delay(10); inchar=SIM900.read(); c=inchar; delay(10); inchar=SIM900.read(); d=inchar; delay(10); e=(int)a; f=(int)b; g=(int)c; h=(int)d; zeit(); } } } void zeit() { k=e-48; l=f-48; m=g-48; n=h-48; Minuten=(k*10)+l; Zeit=(m*10)+n; x=(char)Minuten; y=(char)Zeit; Serial.println("MINTUEN"); Serial.println(Minuten); Serial.println("ZEIT"); Serial.println(Zeit); sendSMS(); delay(Minuten*60000); Serial.println(Minuten); digitalWrite(led,HIGH); digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, HIGH); delay(Zeit*60000); Serial.println(Zeit); digitalWrite(led,LOW); digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); a=0; b=0; c=0; d=0; e=0; f=0; g=0; h=0; k=0; l=0; m=0; n=0; } void sendSMS() { SIM900.print("AT+CMGF=1\r"); delay(100); SIM900.println("AT + CMGS = \"+491.........\""); delay(100); SIM900.print("Die Heizung wird in "); SIM900.print(Minuten); SIM900.print(" Minuten fuer "); SIM900.print(Zeit); SIM900.print(" Minuten angeschaltet"); delay(100); SIM900.println((char)26); delay(100); SIM900.println(); delay(1000); }