INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Senden bei Datenänderung
23.03.2014, 11:04
Beitrag #9
RE: Senden bei Datenänderung
... dort hängt nur ein Schalter dran!!!! gut hätte ich dazu schreiben sollen...

Die sache ist eben das mir der zustand 1 nur dann gesendet wird wenn er sich geändert hat...
und das ganze soll auch über ein poti mit einem Analogen eingang gekastert von 0-127 funktionieren, macht es aber mit dem ersteren code nicht...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2014, 11:27
Beitrag #10
RE: Senden bei Datenänderung
Hallo LittleAngus,

Zitat:... dort hängt nur ein Schalter dran!!!! gut hätte ich dazu schreiben sollen...
Kleines aber wichtiges Detail. Ich hab schon gedacht, dass ich lieber mit dem Arduino aufhören sollte, wenn ich grundlegende Dinge schon nicht kapiere Big Grin
Zitat:Die sache ist eben das mir der zustand 1 nur dann gesendet wird wenn er sich geändert hat...
Da macht der Code genau das was du ihm gesagt hast:
Code:
if (digital != digitalalt1);
Wenn sich der Pegel ändert, egal ob von HIGH nach LOW oder umgekehrt.
Wenn ich dich richtig verstehe möchtest du aber den per Poti eingestellten Wert auslesen, oder?
Wenn dem so ist, bleibt dir nur die Lösung mit den analogen Pins. Hast du das Poti auch mit allen drei Anschlüssen verkabelt? Naja, und ansonsten dürfte meine Bemerkung zum Thema Genauigkeit des Potis noch ne Rolle spielen.
Schau dir mal das an: http://www.arduino.cc/en/Tutorial/Potent...y617c4QPdk

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2014, 11:43
Beitrag #11
RE: Senden bei Datenänderung
Ja genau, nur möchte ich den ausgelesenen Wert nur senden wenn er sich geändert hat. Das schiebepoti (10k) ist an 3 beinen Angeschlossen. Also wird es dann doch deine Aussage mit der ungenauigkeit der Poti`s treffen nur wie schreibe ich ein Tolleranzspektrum? Es kommt hier wie gesagt nicht auf höchste genauigkeit an, also der gesendete wert kann ruhig +/-1 sein....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2014, 12:38 (Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2014 13:04 von rkuehle.)
Beitrag #12
RE: Senden bei Datenänderung
Naja,

was du dann brauchst um die ständig wechselnden Werte zu "glätten" ist ein Code der nach Abfrage des aktuellen Wertes nicht gleich einen Vergleich macht, sondern guckt ob sich dieser Wert nur innerhalb bestimmter Grenzen geändert hat. Wenn ja, dann keine Änderung des Ergebnisses des Vergleichs.

Nach dem Motto als Pseudocode:
if ((analog != analogalt) & (analog - analogalt < xpos || analog -analogalt > xneg))

xpos und xneg sind der postive bzw. negative Wert der über-/iunterschritten werden muss um es als Änderung zu akzeptieren.
Die beiden Differenzen mit || verknüpft, da man ja nicht weiß ob der Wert am Pin größer oder kleiner geworden ist.

Nur so ein Gedankengang.

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2014, 15:04
Beitrag #13
RE: Senden bei Datenänderung
(21.03.2014 20:10)LittleAngus schrieb:  Hallo, folgender Sachverhalt:

Ich habe meine 6 Analogeingänge mit Potis beschalten, in der Software möchte ich das, sobald sich Poti 1 ändert, der neue Wert von Poti 1 per MIDI gesendet wird. Da MIDI ja nur max. 127dez übertragen kann, wird der Analogwert durch 8 geteilt. daraus ergibt sich Folgender codeausschnitt:

analog1 = analogRead(analog)/8 ;
if (analog1 != analogalt1);
{
noteOn (0x82, 0x00, analog1);
}
analogalt1 = analog1;}


... leider ist es aber so, das die ganze zeit der Wert gesendet wird, selbst wenn ich den Analogeingang auf 5V lege also ich wirklich keinerlei änderung habe. Wo liegt der fehler?

P.s. ich bin frischlingWink

Uiiiiii,
das sind ja heftige Diskussionen um Kaisers Bart mal wieder ohne die wesentliche Frage zu bearbeiten....dabei steckt die Tücke mal wieder im Detail sprich in der Syntax vom Code...Rolleyes

Also du schreibst:

if (analog1 != analogalt1); <===
{
noteOn (0x82, 0x00, analog1);
}

...das ist fast richtig, nur siehe Pfeil <=== da gehört das Semikolon nicht hin weil das dann die IF Abfrage beendet und somit dein noteon immer ausgeführt wird. Mach mal das Semikolon weg und du siehst den Unterschied.
In dem Fall könntest du das auch alternativ gleich so schreiben weil du eh nur einen Befehl ausführen willst :

if (analog1 != analogalt1) noteOn (0x82, 0x00, analog1);

Jedoch würde ich die Altwertaktualisierung auch noch in die IF Schleife reinpacken weil die von der Logik her da dazugehört (meine Meinung). Also so:

if (analog1 != analogalt1)
{
noteOn (0x82, 0x00, analog1);
analogalt1 = analog1;
}

Und was rk schreibt wegen dem springen der ADC Werte steht auf einem anderen Blatt... wenngleich auch durch das /8 schon die meisten Wertesprünge damit untern Tisch fallen.

lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2014, 15:53
Beitrag #14
RE: Senden bei Datenänderung
Is nicht wahr??? Tatsache.... tausend dank Smile das ist ja total verrückt....

Das Wort zum Sonntag... Angel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2014, 16:48
Beitrag #15
RE: Senden bei Datenänderung
(23.03.2014 15:53)LittleAngus schrieb:  Is nicht wahr??? Tatsache.... tausend dank Smile das ist ja total verrückt....

Das Wort zum Sonntag... Angel

....ja UND...schon getestet....funzt es nun ???...Shy

P.S. die Welt ist ganz normal...siehe meine Signatur ... 1+1 ist 10....

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.03.2014, 17:25
Beitrag #16
RE: Senden bei Datenänderung
Ja funktioniert superSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  NRF24L01+ "Ping" senden, empfangen, bestätigen MeisterQ 8 376 23.08.2016 13:19
Letzter Beitrag: MeisterQ
  Problem mit ESP8266 und EMail senden torsten_156 1 593 13.06.2016 21:14
Letzter Beitrag: torsten_156
  Sensordaten per I2C senden ElAleMaNo 2 684 30.03.2016 23:44
Letzter Beitrag: ElAleMaNo
  Daten per Ethernet Shield 2 senden Mark79 3 859 22.03.2016 19:29
Letzter Beitrag: Mark79
  Datei von SD an anderen Arduino senden ProgrammierTier 1 538 02.02.2016 09:05
Letzter Beitrag: hotsystems
Bug Problem mit DMX senden Helyx 2 512 31.01.2016 23:20
Letzter Beitrag: Helyx
  array von Php --> Arduino zu senden (ethernet) Mourti 0 441 27.01.2016 22:11
Letzter Beitrag: Mourti
  Stringvariable senden beim ESP8266 geht nicht , warum ? arduinofan 9 1.130 12.01.2016 11:05
Letzter Beitrag: arduinofan
  Mit dem Webserverbeispiel senden und empfangen. arduinofan 3 677 09.12.2015 12:41
Letzter Beitrag: arduinofan
  Daten per USB senden/empfangen chhec 6 1.052 03.11.2015 09:15
Letzter Beitrag: arduinofan

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste