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
  Zahl von SD-Card Modul einlesen und Var. zuweisen Nafetz 13 300 28.10.2016 10:12
Letzter Beitrag: hotsystems
  433 Mhz Signal von Garagentor Fernbedieung einlesen Much 6 826 07.02.2016 10:45
Letzter Beitrag: Binatone
  Port B vom Arduino Ethernet einlesen magifix 0 354 08.01.2016 10:46
Letzter Beitrag: magifix
  Byteweise von Datei einlesen von SD-Karte. arduinofan 8 921 28.10.2015 19:52
Letzter Beitrag: arduinofan
  GUI für Arduino Werte einlesen/rausschreiben Xtremefly 2 927 23.01.2015 18:41
Letzter Beitrag: Xtremefly
  Analogwerte einlesen kendrick 10 2.575 03.01.2015 20:27
Letzter Beitrag: Bitklopfer
  Wie nur ansteigende Flanken einlesen ? mops 11 4.755 21.09.2014 11:12
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


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