Hi, mal ein kleiner Rückblick Youtube
Marc
Montag, 19. März 2012
Mittwoch, 8. Februar 2012
Samstag, 4. Februar 2012
Der 100. Meter Kabel
Soeben habe ich den ungefähr 100. Meter Kabel verlegt. Dieser geht von der zweiten LED am R-Gear-Green Annunciator zu einem der vielen Breakoutboards. Das bedeutet, dass nun alle LEDs am MIP verkabelt sind. Sobald ich diese Matrix (es müssen noch ein par Leds vom MCP angelötet werden) fertig habe, wird sie an die 3 AS vom MCP "gecascaded". Also sind nun die LEDs des MIP und ein Teil der LEDs vom MCP auf Device no. 4! Dann verwende ich 3 !!!!! Pins am Arduino für alle 7 Segmentanzeigen plus alle LEDs am Main Glareshield. Ich kann bis zu 8 Matrixe an einen Strang hängen, dadurch kann ich wahrscheinlich einen Großteil, wenn nicht alle, der LEDs im GESAMTEN COCKPIT von einem Interface steuern. Die Software und mein Protokoll, welches ich nun "ARCOM" nenne, ist fertig. Ich suche noch einen handler um eine Verbindung von Computer und Arduino herzustllen über welche die beiden mit ARCOM kommunizieren. Aus XPANDT wurde ich mehr oder weniger rausgeschmissen, nachdem ich den lieben spanischen Kollegen klar machen wollte, dass das immernoch MEINE Ideen und MEIN Projekt ist. Auf der Homepage des Projekts standen plötzlich Namen als "founder" die ich nicht kannte. Sie hatten meine Konzepte als ihres verkauft... unerhört, aber ohne mich kommen die eh nicht weit :P . Es gibt jetzt weiterhin XPANDT allerdings unter dem namen Xplane AVR Developer Team oder so. Das interessiert mich nicht, und ich glaube es wird auch nicht viele andere interessieren, denn z.Zeit versuche ich mit Marty von Prosim737 Kontakt aufzunehmen um über eine mögliche INtegration von ARCOM in Prosim zu diskutieren. DAs würde bedeuten, dass es kinderleicht wäre vorerst nur LEDS und 7 Segment Anzeigen und später auch andere Hardware äußerst simpel zu kontrollieren. Mal schaun was rauskommt :)
Bis bald, hier noch einige Bilder:

die Kabel des MIPs^^




Bis bald, hier noch einige Bilder:
Freitag, 27. Januar 2012
Samstag, 17. Dezember 2011
Konzept für Arduino, MIP
Mittwoch, 7. Dezember 2011
Donnerstag, 24. November 2011
XPLANE 10, neues Arduino Programm, MCP fertig gebaut
Endlich ist XPLANE 10 raus! Sieht schonmal sehr gut aus: XPLANE
weiters habe ich eine neue um einiges verbesserte Beta Version welche annimmt, dass alle Variablen auf den Plätzen 901-999 7 Segment Werte sind. Rundherum 100 -899 LEDS. Noch ist nur ALtitude auf 901 bei mir zu testzwecken - es werden alle Verlinkungen auf einer SD Karte in einem TEXT file abgespeichert sein - spricht für leichtes Updaten der Variablen. Ich verwende PRosim737 mit XPUIPC (Xplane läuft jetzt bald auf einer Windows Partition - geht sehr viel leichter). Getestet habe ichs schon am "fertigen" MCP.
//® by Ma®c
#include "LedControl.h"
#include <SPI.h>
#include <Ethernet.h>
//Ethernet
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,0,219 };
byte server[] = { 192,168,0,214 };
Client client(server, 8092);
//LedControl
LedControl lc=LedControl(7,6,5,1);
unsigned long delaytime=250;
//STRING for incoming
String StringAnswer = "";
//char for incoming
char i;
//counter
int counter = 0;
//LEDs on off
int LedOnOff;
void setup() {
//ETHERNET
Ethernet.begin(mac, ip);
//SERIAL
Serial.begin(115200);
//7 Segment
lc.shutdown(0,false);
lc.setIntensity(0,8);
lc.clearDisplay(0);
if (client.connect()) {
Serial.println("connected");
lc.setChar(0,0,'y', false);
lc.setChar(0,1,'E', false);
lc.setChar(0,7,'S', false);
}
else {
Serial.println("connection failed");
lc.setChar(0,7,'F', false);
lc.setChar(0,4,'A', false);
lc.setDigit(0,5,1, false);
lc.setChar(0,6,'L', false);
delay(10000);
}
}
void Subscribe(){
client.println("Arn.Inicio:230"); //ALtitude dial MCP
}
void loop(){
while (counter < 11) {
ReadEthernet();
}
if (StringAnswer.charAt(10) != 9) {
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
LedLightup();
}
if (StringAnswer.charAt(10) == 9) {
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
sevenSegment();
}
}
void ReadEthernet() {
i = client.read();
StringAnswer += i;
counter ++;
}
void LedLightup(){
char hundreds = StringAnswer.charAt(10);
char tens = StringAnswer.charAt(11);
char ones = StringAnswer.charAt(12);
String StringNumber ;
StringNumber += hundreds;
StringNumber += tens;
StringNumber += ones;
if (StringAnswer.charAt(14) = 0) {
int LedOnOff = 0;
}
if (StringAnswer.charAt(14) != 0) {
int LedOnOff = 1;
}
StringAnswer = "";
counter = 0;
}
void sevenSegment() {
char one = StringAnswer.charAt(14);
char two = StringAnswer.charAt(15);
char three = StringAnswer.charAt(16);
char four = StringAnswer.charAt(17);
char five = StringAnswer.charAt(18);
if (StringAnswer.charAt(11) == 0) {
if (StringAnswer.charAt(12) == 1) {
lc.setChar(0,7,one,false);
lc.setChar(0,4,two,false);
lc.setChar(0,5,three,false);
lc.setChar(0,6,four,false);
lc.setChar(0,2,five,false);
StringAnswer = "";
counter = 0;
}
}
}
weiters habe ich eine neue um einiges verbesserte Beta Version welche annimmt, dass alle Variablen auf den Plätzen 901-999 7 Segment Werte sind. Rundherum 100 -899 LEDS. Noch ist nur ALtitude auf 901 bei mir zu testzwecken - es werden alle Verlinkungen auf einer SD Karte in einem TEXT file abgespeichert sein - spricht für leichtes Updaten der Variablen. Ich verwende PRosim737 mit XPUIPC (Xplane läuft jetzt bald auf einer Windows Partition - geht sehr viel leichter). Getestet habe ichs schon am "fertigen" MCP.
//® by Ma®c
#include "LedControl.h"
#include <SPI.h>
#include <Ethernet.h>
//Ethernet
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,0,219 };
byte server[] = { 192,168,0,214 };
Client client(server, 8092);
//LedControl
LedControl lc=LedControl(7,6,5,1);
unsigned long delaytime=250;
//STRING for incoming
String StringAnswer = "";
//char for incoming
char i;
//counter
int counter = 0;
//LEDs on off
int LedOnOff;
void setup() {
//ETHERNET
Ethernet.begin(mac, ip);
//SERIAL
Serial.begin(115200);
//7 Segment
lc.shutdown(0,false);
lc.setIntensity(0,8);
lc.clearDisplay(0);
if (client.connect()) {
Serial.println("connected");
lc.setChar(0,0,'y', false);
lc.setChar(0,1,'E', false);
lc.setChar(0,7,'S', false);
}
else {
Serial.println("connection failed");
lc.setChar(0,7,'F', false);
lc.setChar(0,4,'A', false);
lc.setDigit(0,5,1, false);
lc.setChar(0,6,'L', false);
delay(10000);
}
}
void Subscribe(){
client.println("Arn.Inicio:230"); //ALtitude dial MCP
}
void loop(){
while (counter < 11) {
ReadEthernet();
}
if (StringAnswer.charAt(10) != 9) {
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
LedLightup();
}
if (StringAnswer.charAt(10) == 9) {
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
ReadEthernet();
sevenSegment();
}
}
void ReadEthernet() {
i = client.read();
StringAnswer += i;
counter ++;
}
void LedLightup(){
char hundreds = StringAnswer.charAt(10);
char tens = StringAnswer.charAt(11);
char ones = StringAnswer.charAt(12);
String StringNumber ;
StringNumber += hundreds;
StringNumber += tens;
StringNumber += ones;
if (StringAnswer.charAt(14) = 0) {
int LedOnOff = 0;
}
if (StringAnswer.charAt(14) != 0) {
int LedOnOff = 1;
}
StringAnswer = "";
counter = 0;
}
void sevenSegment() {
char one = StringAnswer.charAt(14);
char two = StringAnswer.charAt(15);
char three = StringAnswer.charAt(16);
char four = StringAnswer.charAt(17);
char five = StringAnswer.charAt(18);
if (StringAnswer.charAt(11) == 0) {
if (StringAnswer.charAt(12) == 1) {
lc.setChar(0,7,one,false);
lc.setChar(0,4,two,false);
lc.setChar(0,5,three,false);
lc.setChar(0,6,four,false);
lc.setChar(0,2,five,false);
StringAnswer = "";
counter = 0;
}
}
}
Abonnieren
Posts (Atom)