Hallo,
muss zwei Arduinos verbinden,
Zur datenübertrageung darf nur eine Leitung und masse verwendet werden.
I2C kann ich nicht nehmen bräuchte ein zweites Kabel :-(
Also die Anwendung, der erste Arduino, hat zwei Potis angeschlossen,
über das Kabel, Solen deren ADC werte an den zweiten Arduino übertragen
werden.
1 | int Motor = 12;
|
2 | int Pot;
|
3 | int Pot2;
|
4 |
|
5 |
|
6 | void setup() {
|
7 |
|
8 | pinMode(Motor, OUTPUT);
|
9 | }
|
10 |
|
11 |
|
12 | void loop() {
|
13 | Pot = analogRead(A0);
|
14 | Pot2 = analogRead(A2);
|
15 | digitalWrite(Motor, HIGH);
|
16 | delay(2);
|
17 | digitalWrite(Motor, LOW);
|
18 | delayMicroseconds(250);
|
19 | digitalWrite(Motor, HIGH);
|
20 | delayMicroseconds(Pot+5);
|
21 | digitalWrite(Motor, LOW);
|
22 | delayMicroseconds(250);
|
23 | digitalWrite(Motor, HIGH);
|
24 | delayMicroseconds(pot+5);
|
25 | digitalWrite(Motor, LOW);
|
26 | delayMicroseconds(250);
|
27 |
|
28 | }
|
Senderprogramm.
Diese Zeiten sollen vom empfänger gemessen und Interpretiert werden.
Dieser Delay von 2ms soll das Synchronisationssignal sein.
Sprich das emfänger Programm startet rat, wenn es die 2ms gemessen hat.
Danach sollte das mpfängerprogramm Synchron zum Sender laufen.
In der Theorie klappt das jetz auch.
In der Praxis, habe ich das Problem, dass ich die Zeiten nicht
ordentlich messen kann.
Gibt es eine Libary, bei welcher ich den Timer soald der auf High
schaltet startet, und sobald wider low ist, der Timer gestoppt und der
Wert gespeichert wird.
Danke schonmal.