Arduino im T3

Aus T3-Pedia
Wechseln zu: Navigation, Suche

noch in Arbeit - Projektstatus

Hier werden aktuell Inforamtion/Basiswissen gesammelt um einen Arduino im T3 zu nutzen.

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.

SIM808
Adafruit Feather
Mainboard
Platine fürs Display
Display
Display Beleuchtung
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

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

Leiste für Anschlusskabel Display anlöten
Anschlussleisten für das Display anlöten
Kondensatoren anlöten, keine Polung
Transistor anlöten, Polung beachten, und Widerstände, keine Polung aber auf die Beleuchtungsfarbe achten, bei Weiß Drahtbrücke anstatt R3 einsetzen
Folie der Hintergrundbeleuchtung und hintere Folie Display abziehen
Das Display auf die Hintergrundbeleuchtung stecken
Display mit Hintergrundbeleuchtung vorsichtig auf die fertige Platine aufstecken

Hauptplatine

Stiftleiste Featherboard
Anschlussleiste rechts
Lange Anschlussleiste Featherboard
kurze Anschlussleiste Featherboard
Anschlusspins an Spannungswandler 12 auf 5 V
Spannungswandler auf die Hauptplatine
Links die 4 Widerstände R1, R2,R3 und R4 mit 82k Ohm rechts der Widerstand R13 mit 1k Ohm
Dioden D14, ohne Polung, D11,D12,D13 Polung beachten und Poti RV1 und RV2
Sockel für Optokoppler und Elko C8 und C7 jeweils 1 microF Polung beachten
C4 und C3 22micro polung beachten L1 keine Polung und C9 4,7micro Polung beachten
F1, Sicherungshalter und R7, R8 jeweils 39k keine Polung
R5 und R6 jeweils 22K, keine Polung
C1, C2, C5 und C6 jeweils 100n, keine Polung
D1 und D2 Polung beachten
D3-D10 Polung beachten
R9-R11, keine Polung Q1 Polung beachten, Pinleisten FONA, LoNet und X1
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); 
}

Weitere Forenthreads

Ersatz für die Ditigtaluhr

T3 Monitor

Matrix display