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
Takt einlesen
06.11.2015, 18:24 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2015 19:12 von Igor_H.)
Beitrag #1
Takt einlesen
Hallo,
ich geb's zu: Ich bin zu blöd
Und: Ich erwarte tatsächlich, daß jemand mein Problem löst
Und liebe Oberlehrer: Ich bitte um keine Kommentare nach dem Motto: Wir sind nicht dafür da, dir deinen Code zu schreiben, das mußt du schon selber lösen, google doch mal, schau doch mal da und dort nach*, usw.
Wen's in den Fingern juckt: Einfach wegklicken
Für den, der sich erbarmt, hier mein Problem:l
Es soll ein Takt zwischen 250Hz ... 1kHz eingelesen werden.
Wenn nach 0.... 30 Sekunden der Takt wegbleibt, soll nichts geschehen. Liegt der Takt länger als 30 Sekunden an, soll, wenn er wegbleibt, nach einer Verzögerungszeit ein Piepser gestartet werden (also ein Ausgang auf HIGH gehen). Das weitere trau' ich mir dann -vorerst- wieder zu.
Beim Ausbleiben des Taktes kann der Eingang auf HIGH oder LOW liegen.
Eigentlich ganz einfach, oder? Ich krieg aber die Kurve nicht....
Vorhanden: Arduino UNO
Ich bedanke mich mal schon im Voraus beim barmherzigen Samariter.
* hab ich schon

(06.11.2015 18:24)Igor_H schrieb:  Hallo,
ich geb's zu: Ich bin zu blöd
Und: Ich erwarte tatsächlich, daß jemand mein Problem löst
Und liebe Oberlehrer: Ich bitte um keine Kommentare nach dem Motto: Wir sind nicht dafür da, dir deinen Code zu schreiben, das mußt du schon selber lösen, google doch mal, schau doch mal da und dort nach*, usw.
Wen's in den Fingern juckt: Einfach wegklicken
Für den, der sich erbarmt, hier mein Problem:l
Es soll ein Takt zwischen 250Hz ... 1kHz eingelesen werden.
Wenn nach 0.... 30 Sekunden der Takt wegbleibt, soll nichts geschehen. Liegt der Takt länger als 30 Sekunden an, soll, wenn er wegbleibt, nach einer Verzögerungszeit ein Piepser gestartet werden (also ein Ausgang auf HIGH gehen). Das weitere trau' ich mir dann -vorerst- wieder zu.
Beim Ausbleiben des Taktes kann der Eingang auf HIGH oder LOW liegen.
Eigentlich ganz einfach, oder? Ich krieg aber die Kurve nicht....
Vorhanden: Arduino UNO

PS: Die Frequenz ist unwichtig. Es geht nur darum, liegt was an oder nicht
Ich bedanke mich mal schon im Voraus beim barmherzigen Samariter.
* hab ich schon
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.11.2015, 19:32
Beitrag #2
RE: Takt einlesen
Hallo,
0 Sekunden sind nicht machbar, aber alles was länger dauert schon.
4µs ist die kürzeste Timeout Zeit die sinnvoll ist.

Code:
int eingang = 7;
int ausgang = 8;
#define tTimeout 30000000 //µs      

void setup()
{
  pinMode(eingang, INPUT);
  pinMode(ausgang, OUTPUT);
  digitalWrite(ausgang, LOW);
}

void loop()
{
  unsigned long T1 = pulseIn(eingang, HIGH, tTimeout);
  unsigned long T2 = pulseIn(eingang, LOW,  tTimeout);
  if ( T1 == 0 || T2 == 0) digitalWrite(ausgang, HIGH);
}
Ungetestet und ohne Gewähr. 30s sind voreingestellt.
Der Ausgang geht, einmal gesetzt, nicht mehr auf LOW, das muss noch eingebaut werden. Es gab dazu aber keine Vorgabe.

Gruß
Arne

(06.11.2015 18:24)Igor_H schrieb:  Hallo,
ich geb's zu: Ich bin zu blöd
Und: Ich erwarte tatsächlich, daß jemand mein Problem löst
Und liebe Oberlehrer: Ich bitte um keine Kommentare nach dem Motto: Wir sind nicht dafür da, dir deinen Code zu schreiben, das mußt du schon selber lösen, google doch mal, schau doch mal da und dort nach*, usw.
Wen's in den Fingern juckt: Einfach wegklicken
Für den, der sich erbarmt, hier mein Problem:l
Es soll ein Takt zwischen 250Hz ... 1kHz eingelesen werden.
Wenn nach 0.... 30 Sekunden der Takt wegbleibt, soll nichts geschehen. Liegt der Takt länger als 30 Sekunden an, soll, wenn er wegbleibt, nach einer Verzögerungszeit ein Piepser gestartet werden (also ein Ausgang auf HIGH gehen). Das weitere trau' ich mir dann -vorerst- wieder zu.
Beim Ausbleiben des Taktes kann der Eingang auf HIGH oder LOW liegen.
Eigentlich ganz einfach, oder? Ich krieg aber die Kurve nicht....
Vorhanden: Arduino UNO
Ich bedanke mich mal schon im Voraus beim barmherzigen Samariter.
* hab ich schon

(06.11.2015 18:24)Igor_H schrieb:  Hallo,
ich geb's zu: Ich bin zu blöd
Und: Ich erwarte tatsächlich, daß jemand mein Problem löst
Und liebe Oberlehrer: Ich bitte um keine Kommentare nach dem Motto: Wir sind nicht dafür da, dir deinen Code zu schreiben, das mußt du schon selber lösen, google doch mal, schau doch mal da und dort nach*, usw.
Wen's in den Fingern juckt: Einfach wegklicken
Für den, der sich erbarmt, hier mein Problem:l
Es soll ein Takt zwischen 250Hz ... 1kHz eingelesen werden.
Wenn nach 0.... 30 Sekunden der Takt wegbleibt, soll nichts geschehen. Liegt der Takt länger als 30 Sekunden an, soll, wenn er wegbleibt, nach einer Verzögerungszeit ein Piepser gestartet werden (also ein Ausgang auf HIGH gehen). Das weitere trau' ich mir dann -vorerst- wieder zu.
Beim Ausbleiben des Taktes kann der Eingang auf HIGH oder LOW liegen.
Eigentlich ganz einfach, oder? Ich krieg aber die Kurve nicht....
Vorhanden: Arduino UNO

PS: Die Frequenz ist unwichtig. Es geht nur darum, liegt was an oder nicht
Ich bedanke mich mal schon im Voraus beim barmherzigen Samariter.
* hab ich schon

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.11.2015, 20:01
Beitrag #3
RE: Takt einlesen
(06.11.2015 19:32)ardu_arne schrieb:  Hallo,
0 Sekunden sind nicht machbar, aber alles was länger dauert schon.
4µs ist die kürzeste Timeout Zeit die sinnvoll ist.

Code:
int eingang = 7;
int ausgang = 8;
#define tTimeout 30000000 //µs      

void setup()
{
  pinMode(eingang, INPUT);
  pinMode(ausgang, OUTPUT);
  digitalWrite(ausgang, LOW);
}

void loop()
{
  unsigned long T1 = pulseIn(eingang, HIGH, tTimeout);
  unsigned long T2 = pulseIn(eingang, LOW,  tTimeout);
  if ( T1 == 0 || T2 == 0) digitalWrite(ausgang, HIGH);
}
Ungetestet und ohne Gewähr. 30s sind voreingestellt.
Der Ausgang geht, einmal gesetzt, nicht mehr auf LOW, das muss noch eingebaut werden. Es gab dazu aber keine Vorgabe.

Gruß
Arne

(06.11.2015 18:24)Igor_H schrieb:  Hallo,
ich geb's zu: Ich bin zu blöd
Und: Ich erwarte tatsächlich, daß jemand mein Problem löst
Und liebe Oberlehrer: Ich bitte um keine Kommentare nach dem Motto: Wir sind nicht dafür da, dir deinen Code zu schreiben, das mußt du schon selber lösen, google doch mal, schau doch mal da und dort nach*, usw.
Wen's in den Fingern juckt: Einfach wegklicken
Für den, der sich erbarmt, hier mein Problem:l
Es soll ein Takt zwischen 250Hz ... 1kHz eingelesen werden.
Wenn nach 0.... 30 Sekunden der Takt wegbleibt, soll nichts geschehen. Liegt der Takt länger als 30 Sekunden an, soll, wenn er wegbleibt, nach einer Verzögerungszeit ein Piepser gestartet werden (also ein Ausgang auf HIGH gehen). Das weitere trau' ich mir dann -vorerst- wieder zu.
Beim Ausbleiben des Taktes kann der Eingang auf HIGH oder LOW liegen.
Eigentlich ganz einfach, oder? Ich krieg aber die Kurve nicht....
Vorhanden: Arduino UNO
Ich bedanke mich mal schon im Voraus beim barmherzigen Samariter.
* hab ich schon

(06.11.2015 18:24)Igor_H schrieb:  Hallo,
ich geb's zu: Ich bin zu blöd
Und: Ich erwarte tatsächlich, daß jemand mein Problem löst
Und liebe Oberlehrer: Ich bitte um keine Kommentare nach dem Motto: Wir sind nicht dafür da, dir deinen Code zu schreiben, das mußt du schon selber lösen, google doch mal, schau doch mal da und dort nach*, usw.
Wen's in den Fingern juckt: Einfach wegklicken
Für den, der sich erbarmt, hier mein Problem:l
Es soll ein Takt zwischen 250Hz ... 1kHz eingelesen werden.
Wenn nach 0.... 30 Sekunden der Takt wegbleibt, soll nichts geschehen. Liegt der Takt länger als 30 Sekunden an, soll, wenn er wegbleibt, nach einer Verzögerungszeit ein Piepser gestartet werden (also ein Ausgang auf HIGH gehen). Das weitere trau' ich mir dann -vorerst- wieder zu.
Beim Ausbleiben des Taktes kann der Eingang auf HIGH oder LOW liegen.
Eigentlich ganz einfach, oder? Ich krieg aber die Kurve nicht....
Vorhanden: Arduino UNO

PS: Die Frequenz ist unwichtig. Es geht nur darum, liegt was an oder nicht
Ich bedanke mich mal schon im Voraus beim barmherzigen Samariter.
* hab ich schon

Vielen Dank
Ich schau mir das gleich morgen an
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.11.2015, 21:01 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2015 21:02 von HaWe.)
Beitrag #4
RE: Takt einlesen
Leute, biitte, bitte, biite:
könnt ihr euch nicht abgewöhnen, bei einer Antwort die ganze Litanei der vorhergehenden Posts mit zu kopieren / mit zu zitieren?

Da vergeht einem ja schon vom Hinschauen die Lust zu antworten!

Einfach nur "New Reply" kein "Quote Reply"

B I T T E !!!


und bitte, editiert mal eure Post nach und löscht den ganzen Zitat-Krempel raus!!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.11.2015, 12:06
Beitrag #5
RE: Takt einlesen
[quote='ardu_arne' pid='24094' dateline='1446834724']
Hallo,
0 Sekunden sind nicht machbar, aber alles was länger dauert schon.
4µs ist die kürzeste Timeout Zeit die sinnvoll ist.

Code:
int eingang = 7;
int ausgang = 8;
#define tTimeout 30000000 //µs      

void setup()
{
  pinMode(eingang, INPUT);
  pinMode(ausgang, OUTPUT);
  digitalWrite(ausgang, LOW);
}

void loop()
{
  unsigned long T1 = pulseIn(eingang, HIGH, tTimeout);
  unsigned long T2 = pulseIn(eingang, LOW,  tTimeout);
  if ( T1 == 0 || T2 == 0) digitalWrite(ausgang, HIGH);
}
Ungetestet und ohne Gewähr. 30s sind voreingestellt.
Der Ausgang geht, einmal gesetzt, nicht mehr auf LOW, das muss noch eingebaut werden. Es gab dazu aber keine Vorgabe.

Gruß
Arne
Wow, das war's. Ein ganz anderer Ansatz als der meine (if, for, nex, while....)
Danke für die rasche Hilfe
Igor_H
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  PCA9685 auf Externen Takt umschalten. Herby0107 5 264 10.09.2017 17:23
Letzter Beitrag: Tommy56
  Batteriespannung einlesen Flap 7 572 07.09.2017 21:43
Letzter Beitrag: Flap
  Einlesen txt Datei auf Arduino gamma 21 1.400 21.07.2017 10:34
Letzter Beitrag: Tommy56
  String in tinygps++ einlesen hoko 17 1.177 07.03.2017 15:40
Letzter Beitrag: hoko
  Wie nur ansteigende Flanken einlesen ? mops 16 8.759 22.12.2016 16:33
Letzter Beitrag: Tommy56
  Zahl von SD-Card Modul einlesen und Var. zuweisen Nafetz 13 1.231 28.10.2016 10:12
Letzter Beitrag: hotsystems
  433 Mhz Signal von Garagentor Fernbedieung einlesen Much 6 2.139 07.02.2016 10:45
Letzter Beitrag: Binatone
  Port B vom Arduino Ethernet einlesen magifix 0 531 08.01.2016 10:46
Letzter Beitrag: magifix
  Byteweise von Datei einlesen von SD-Karte. arduinofan 8 1.535 28.10.2015 19:52
Letzter Beitrag: arduinofan
  GUI für Arduino Werte einlesen/rausschreiben Xtremefly 2 1.222 23.01.2015 18:41
Letzter Beitrag: Xtremefly

Gehe zu:


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