Video mit erster Inbetriebnahme der 7 Segmentanzeigen im MCP mit einem AS1106 und ARDUINO
Looks good!
http://www.youtube.com/user/x737cockpit
Marc
Sonntag, 13. November 2011
Samstag, 5. November 2011
Donnerstag, 3. November 2011
Sonntag, 30. Oktober 2011
Opencockpits
Schlussendlich habe ich mich für die Panels von Opencockpits entschieden. Top Qualität top Preis! Jetzt habe ich die Panels und Annunciators für: MCP,EFIS,Du 45°, Autobrake Panel 45°, Clock, Autpilot Annunciators, Lightning, Nose Wheel, Light Test und natürlich Master Warning plus Sixpack. Alles schön verpackt und nur ein Knopf fehlt, den ich wahrscheinlich bei meiner nächsten Lieferung mitgeschickt bekomme.
Bin sehr zufrieden damit und schon dabei das MCP zusammenzusetzen. Die 7 Segment Anzeigen funktionieren so weit. Habe eine Probeschaltung auf einer Lochrasterplatine aufgebaut.
Hier einige Impressionen:
(das erste Foto zeigt einen bereits zusammengeklebten und bemalten Knopf fürs MCP)
Dienstag, 13. September 2011
Arduino to IOCP client
Der folgende Code ist frei verfügbar und gerne zum Wiederverwenden und Modifizieren zu verwenden, nur ein Hinweis auf mich muss erhalten bleiben. Ich konnte ihn noch nicht testen und weiß nicht obs funktioniert und der Anschluss zu den LEDS ist auch noch nicht wirklich implementiert. Ich übernehme keine Haftung für etwaige Schäden.
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = {
192,168,0,219 };
byte server[] = {
192,168,0,214 };
Client client(server, 8092);
String stringAnswer = "";
int count = 0;
int LEDNUMBER;
int ONOFF;
int length;
void setup() {
// start the Ethernet connection:
Ethernet.begin(mac, ip);
// start the serial library:
Serial.begin(9600);
// give the Ethernet shield a second to initialize:
delay(1000);
Serial.println("connecting...");
// if you get a connection, report back via serial:
if (client.connect()) {
Serial.println("connected");
}
else {
// if you didn't get a connection to the server:
Serial.println("connection failed");
}
client.println("Arn.Inicio:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80:81:82:83:84:85:86:87:88:89:90:91:92:93:94:95:96:97:98:99:100:101:102:103:104:105:106:107:108:109:110:111:112:113:114:115:116:117:118:119:120:121:122:123:124:125:126:127:128:129:130:131:132:133:134:135:136:137:138:139:140:141:142:143:144:145:146:147:148:149:150:151:152:153:154:155:156:157:158:159:160:161:162:163:164:165:166:167:168:169:170:171:172:173:174:175:176:177:178:179:180:181:182:183:184:185:186:187:188:189:190:191:192:193:194:195:196:197:198:199:200:201:202:203:204:205:206:207:208:209:210:211:212:213:214:215:216:217:218:219:220:221:222:223:224:225:226:227");
//subscribe
}
void loop(char c)
{
if (client.available()) {
c = client.read();
stringAnswer += c;
count++;
if (count == 11)
{
if (c == '=')
{
length = 13;
}
}
if (count == 12)
{
if (c == '=')
{
length = 14;
}
}
if (count == 13)
{
if (c == '=')
{
length = 15;
}
}
if(count == 13)
{
if (length = 13)
{
Serial.print(stringAnswer);
Serial.println();
LEDNUMBER = stringAnswer.charAt(10);
ONOFF = stringAnswer.charAt(12);
Serial.println();
Serial.print(LEDNUMBER);
Serial.println();
Serial.print(ONOFF);
/* include only when LEDS connected (change PINNUMBER etc... but basically this should work
if (ONOFF == 1)
{
digitalWrite(LEDNUMBER, HIGH);
}
if (ONOFF == 0)
{
digitalWrite(LEDNUMBER, LOW);
}
*/
stringAnswer = "";
count = 0;
LEDNUMBER = 0;
ONOFF = 0;
}
}
if(count == 14)
{
if (length = 14)
{
Serial.print(stringAnswer);
Serial.println();
LEDNUMBER = stringAnswer.charAt(11);
ONOFF = stringAnswer.charAt(13);
Serial.println();
Serial.print(LEDNUMBER);
Serial.println();
Serial.print(ONOFF);
/* include only when LEDS connected (change PINNUMBER etc... but basically this should work
if (ONOFF == 1)
{
digitalWrite(LEDNUMBER, HIGH);
}
if (ONOFF == 0)
{
digitalWrite(LEDNUMBER, LOW);
}
*/
stringAnswer = "";
count = 0;
LEDNUMBER = 0;
ONOFF = 0;
}
}
if(count == 15)
{
if (length = 15)
{
Serial.print(stringAnswer);
Serial.println();
LEDNUMBER = stringAnswer.charAt(12);
ONOFF = stringAnswer.charAt(14);
Serial.println();
Serial.print(LEDNUMBER);
Serial.println();
Serial.print(ONOFF);
/* include only when LEDS connected (change PINNUMBER etc... but basically this should work
if (ONOFF == 1)
{
digitalWrite(LEDNUMBER, HIGH);
}
if (ONOFF == 0)
{
digitalWrite(LEDNUMBER, LOW);
}
*/
stringAnswer = "";
count = 0;
LEDNUMBER = 0;
ONOFF = 0;
}
}
}
// as long as there are bytes in the serial queue,
// read them and send them out the socket if it's open:
while (Serial.available() > 0) {
char inChar = Serial.read();
if (client.connected()) {
client.print(inChar);
}
}
}
Abonnieren
Posts (Atom)