[Metalab] need help with arduino

Julian Schrittwieser j.schrittwieser at gmail.com
Tue Feb 21 18:38:36 CET 2012


Hm, was mir spontant einfällt - haben die beiden Arduinos ein
gemeinsames Nullpotential? (am einfachsten den selben akku, das selbe
Netzteil)
Wenn nicht, könnte das erklären warum du nur wechselnden Unsinn
empfängst. (alle angaben ohne Gewähr, so gut kenne ich mich auch nicht
aus)

lg, Julian

2012/2/21 Christoph <info at kunst-und-raederwerk.de>:
> hallo gemeinde,
>
> ich baue gerade an einem projekt, in dem zwei arduinos miteinander
> kommunizieren sollen. der eine, am ort des geschehens, erfasst daten und
> schaltet schalter, der andere ist remote, er erhält die daten und befielt,
> was der andere tun soll - per zweidrahtleitung.
>
> weil urumständlich, immer die zweidrahtleitung abstecken zum sketch-upload,
> und damit man sehen kann, was passiert, arbeite ich mit der
> SoftwareSerial-Library, wo andere pins zur kommunikation genutzt werden
> können als pin0 und pin1
>
> ich habe alles abgesteckt um nur die kommunikation in den griff zu bekommen,
> zwei ganz einfache patches - aber es funktioniert nicht.
>
> das empfänger-borad empfängt mal nix, mal ein und dann auch mal zwei bytes,
> und immer unfug.
> mit mySerial.print genauso wie mySerial.write,
> mit wie ohne Serial Monitor,
> 9600baud genauso wie mit 2400baud,
> zweidrahtleitung: 18cm
>
> was ist mein problem?
> verzweifelt sich christoph
>
>
>
>
> der Serial Monitor sagt:
>
>
> I receive: ÿ
> I receive: ÿ
> I receive: õ
> I receive: A
> I receive:
> I receive: ó
> I receive: ]
> I receive: Ï
> I receive: ÿ
> I receive: W
> I receive: A
> I receive: ß
> I receive: ÿ
> I receive: Á
> I receive:
> I receive: ÿ
> I receive: ý
> I receive: A
> I receive: ß
> I receive: ÿ
> I receive: A
> I receive: ï
> I receive: ÿ
>
>
>
> ein board sendet alle 2sec ein "A"
>
> #include <SoftwareSerial.h>
>
> SoftwareSerial mySerial(6, 7);
>
> void setup()
> {
>   pinMode(13, OUTPUT);
>
>   Serial.begin(9600);
>   mySerial.begin(9600);
> }
>
> void loop() // run over and over
> {
>   digitalWrite(13, HIGH);
>
>   //  mySerial.print('A');
>   //  mySerial.print("A");
>   mySerial.write(65);
>
>   delay(200);
>
>   digitalWrite(13, LOW);
>
>   delay(1800);
> }
>
>
> das andere board zeigt an was es empfängt:
>
> #include <SoftwareSerial.h>
>
> SoftwareSerial mySerial(10, 11);
>
> char myChar;
>
> void setup()
> {
>   pinMode(2, OUTPUT);
>   pinMode(3, OUTPUT);
>   pinMode(4, OUTPUT);
>   pinMode(5, OUTPUT);
>   pinMode(6, OUTPUT);
>   pinMode(7, OUTPUT);
>   pinMode(8, OUTPUT);
>   pinMode(9, OUTPUT);
>
>   pinMode(13, OUTPUT);
>
>
>   //  Serial.begin(9600);
>
>   mySerial.begin(9600);
>   //  mySerial.listen();
> }
>
> void loop()
> {
>   if (mySerial.available()) {
>     myChar = mySerial.read();
>
>     //  Serial.print("I receive: ");
>     //  Serial.println(myChar);
>
>     digitalWrite(2, bitRead(myChar, 0));
>     digitalWrite(3, bitRead(myChar, 1));
>     digitalWrite(4, bitRead(myChar, 2));
>     digitalWrite(5, bitRead(myChar, 3));
>     digitalWrite(6, bitRead(myChar, 4));
>     digitalWrite(7, bitRead(myChar, 5));
>     digitalWrite(8, bitRead(myChar, 6));
>     digitalWrite(9, bitRead(myChar, 7));
>
>     digitalWrite(13, HIGH);
>   }
>   delay(200);
>
>   digitalWrite(2, LOW);
>   digitalWrite(3, LOW);
>   digitalWrite(4, LOW);
>   digitalWrite(5, LOW);
>   digitalWrite(6, LOW);
>   digitalWrite(7, LOW);
>   digitalWrite(8, LOW);
>   digitalWrite(9, LOW);
>
>   digitalWrite(13, LOW);
>
>   delay(50);
> }
>
>
>
> _______________________________________________
> Metalab mailing list
> Metalab at lists.metalab.at
> https://lists.metalab.at/mailman/listinfo/metalab
>




More information about the Metalab mailing list