Durch zufall hab ich noch eine Software gefunden welche die Steuerung zwischen FS2004 / FSX und einem Arduino übernimmt.
Das ganze wird schon seit 2007 entwickelt und steht auch nicht still.
Möglich wäre auch ein anderes Display mit Touch und/oder SD-Card um verschiede informationen abrufen zu können.
Eine recht einfache Möglichkeit mehrer Arduinos zu verbinden, bietet der i2c (I2C-Bus), da nur 2 Kabel für SDA, SDC benötigt werden.
Die Stromversorgung teilt sich selbiger mit dem ersten (Master) Arduino.
An diesem “Bus” konnen bis zu 112 Arduinos angeschlossen und über einen USB-port angesprochen werden.
Transfer rate: 10 Kb/s (low speed) – 100Kb/s
SDA – Serial Data line
SCL – Serial CLock line
128 possible addresses
16 reserved addresses
112 devices max
Devices have to share both 5V (Power) and GND (Ground)
Es müssen nur A4, A5 (Leonardo: A2,A3, Due/Mega: A20,A21) der Arduinos verbunden werden.
Jeweils zwischen den Leitungen zur 5v muss ein 1,5 KOhm Widerstand (nicht benötigt beim Mega) eingesetzt werden.
Erste Test sind abgeschlossen und ich werde mir jetzt erstmal ein grösseres 3.2 Zoll TDT mit Touch und SD bestellen.
So, hier mal ein erstes Video von meinem Tacho am Arduino Nano
Mit einem Arduino Uno, etc. und einem Kabel, mit dem richtigen Sketch und der passenden Windowssoftware habt ihr einen hervoragenden Oszilloskop der vollkommen für kleinere Bastelarbeiten ausreicht und mir schon ein paar mal geholfen hat.
Das ganze nennt sich XOSCILLO und finden könnt ihr es >> hier <<
Mit 3 Kabel, Anzahl x Led’s, am Arduino ansteuern.
das Shift Register Breakout – 74HC595 mit Hardware SPI
Demo (8 x Led & 1 x 7 segment) mit 2 x 74HC595
#include <SPI.h>
// Mega2560 74HC595 ARDUINO SPI
int dataPin = 11; // 51 SER = MOSI
int latchPin = 10; // 53 RCLK = SS
int clockPin = 13; // 52 SRCLK = SCLK
int N1[9] = {63,6,91,79,102,109,124,7,127};
int N2[9] = {0,1,3,7,15,31,63,127,255};
void setup()
{
pinMode(latchPin, OUTPUT);
digitalWrite(latchPin, LOW);
//Setup SPI
SPI.setBitOrder(MSBFIRST);
SPI.begin();
}
void loop() {
for (byte i=0; i < 9; i++)
{
writeOutput(N1[i], N2[i]);
delay(500);
}
}
void writeOutput(int b1, int b2)
{
digitalWrite(latchPin, HIGH); // Pull latch LOW to send data
SPI.transfer(b1);
SPI.transfer(b2);
digitalWrite(latchPin, LOW); // Lower the latch to apply the changes
}
Wem die schlichte Entwicklungsumgebung der Arduino IDE nicht reicht, sollte sich unbedingt mal Code::Blocks ansehen.