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:
  • 1 Bewertungen - 1 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Hilfe bei IR Lichtschranke
07.07.2014, 06:49
Beitrag #25
RE: Hilfe bei IR Lichtschranke
Hi,

ich würde vorschlagen, dass du dir die Interrupt-Funktionalität in einem separaten Sketch erarbeitest.
Starte mit der Doku auf dieser Seite: http://arduino.cc/de/Reference/AttachInterrupt
Als Interrupt-Mode würde bei dir RISING passen, dann solltest du in deiner Interrupt-Routine (Handler, bzw. ISR) landen, wenn die Lichtschranke unterbrochen wird.

Was kannst du dort machen?
Dort solltest du dir die Zeit in einer Variable merken und ggf. noch ein Flag setzen, dass du drin warst. Die Zeit kannst du in deinem Fall mit micros() messen.
Die Doku schreibst, dass die Zeit während der Interrupt-Routine nicht hochzählt. Daher wäre es sicherlich ganz gut, den ISR-Code nicht zu lang zu gestalten.
Mein Vorschlag dahingegen, nur die entsprechenden micros() in der Rouine zu erfassen und in der normalen Programm-Hauptschleife diesen Wert zu verarbeiten.
Hier kannst du solche Sachen machen wie:
- entscheiden ob erster Wert oder zweiter und in entsprechenden Variablen zwischenspeichern
- bei zweitem Wert entsprechend die Geschwindigkeit ausrechnen und anzeigen (Im Testprogramm erstmal über die serielle Schnittstelle)
- Bei Timeout etc. in das Hauptmenü zurückspringen.

Reicht das erstmal zum Starten?

Gruß, Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.07.2014, 07:52 (Dieser Beitrag wurde zuletzt bearbeitet: 07.07.2014 07:58 von cb_baer.)
Beitrag #26
RE: Hilfe bei IR Lichtschranke
Hi Alex, Danke erstmal für die Antwort. Den Link den du gepostet hast habe ich schon gelesen und auch teilweise verstanden. Ich habe aber Probleme damit das ganze umzusetzen. Ich hänge dabei die Zeit zwischenzuspeichern da ich nicht weiss wie ich das mit dem Interrupt zusammenbringe. Ich hab mir das Arduino Kochbuch besorgt und lese da schon eifrig aber das Ding hat 600 Seiten und ich beschäftige mich gerade mal 2 Wochen intensiv damit Wink.
Hilfreich wäre ein Tut oder in Sketch in dem so etwas in der Art verwendet Wurde. Ich finde da versteht man die Zusammenhänge am besten. Etwas passendes woraus ich richtig schlau geworden bin war aber leider noch nicht dabei. Vlt muss ich im Buch mal ein paar Seiten Springen.

Aber das mit dem Timeout ist eine gute Idee. soweit habe ich mich damit noch nicht gedacht Big Grin

Kann ich mir das ganze eigentlich wie eine Art funktion aufbauen die nur aufgerufen wird wenn ich dann einen Knopf drücke? Meinet Wegen, "Variabel1" und wenn ich den linken Knopf Drücke wird alles was in der "Variabel1" steht ausgefürt. Das müsste ja dann in der "void setup()" abgelegt werden. Richtig?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.07.2014, 17:26
Beitrag #27
RE: Hilfe bei IR Lichtschranke
Hi,
falls das mit den Interrupts und so dir zu ungenau ist dann hätte ich dir hier noch einen Schaltungsvorschlag wo dann mit der pulsIn() Funktion zusammenspielen würde. Siehe Anhang.
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
07.07.2014, 20:03
Beitrag #28
RE: Hilfe bei IR Lichtschranke
ist mit "IR1" und IR2" die fertigen IR Module gemeint? oder ein 3 poliger IR Transistor (wenn die so heissen) gemeint?

Ich habe mir nachdem das jemand vorgeschlagen hat, beides geholt und zur zeit die fertigen Module angeschlossen. und die geben mir ja schon ein richtiges High was ich über den Digitalen Eingang auslesen kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.07.2014, 20:20
Beitrag #29
RE: Hilfe bei IR Lichtschranke
(07.07.2014 20:03)cb_baer schrieb:  ist mit "IR1" und IR2" die fertigen IR Module gemeint? oder ein 3 poliger IR Transistor (wenn die so heissen) gemeint?
genau die Module wo mal Eingangs erwähnt wurden. Man muß nur darauf achten das der Ausgangsimpuls bei passieren der LS Negativ ist.

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
07.07.2014, 20:28
Beitrag #30
RE: Hilfe bei IR Lichtschranke
genau das ist er nicht, wenn der Ball die LS passiert sendet sie ein positives Signal. Ich wüsste auch nicht wie ich das umdrehen kann
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.07.2014, 22:27 (Dieser Beitrag wurde zuletzt bearbeitet: 08.07.2014 10:43 von Bitklopfer.)
Beitrag #31
RE: Hilfe bei IR Lichtschranke
(07.07.2014 20:28)cb_baer schrieb:  genau das ist er nicht, wenn der Ball die LS passiert sendet sie ein positives Signal. Ich wüsste auch nicht wie ich das umdrehen kann

Dann invertieren wir doch einfach die Eingänge und nehmen einen Schmitt-Trigger Baustein 4093 dazu was nochmals die Schaltflanken steiler macht.
Die Widerstände R1+R2 würde ich auf alle Fälle reinmachen das bei offenen Eingängen nichts zu schwingen anfängt....CMOS ist da bei offenen Eingängen etwas anfällig dafür...
Achja, und für die Zwei IC's die Stromversorgung nicht vergessen, für beide gilt Pin 7 = GND, Pin 14 = VCC in dem Fall 5V.

   

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
09.07.2014, 20:58 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2014 20:59 von cb_baer.)
Beitrag #32
RE: Hilfe bei IR Lichtschranke
So, ich bin gerade dabei und beschäftige mich mit der Interruppt Geschichte.

In einem einzelnem Sketch habe ich angefangen mit meinem LCD display und meinen beiden Lichtschranken zu spielen.

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

volatile int LS1 = LOW;
volatile int LS2 = LOW;


void setup()
{
lcd.begin(16, 2);
Serial.begin(9600);
attachInterrupt(0, Lichtschranke, RISING);
attachInterrupt(1, Lichtschranke1, RISING);
}

void loop()
{
for (int i = 0; i < 1000; i++)
{
delay(1000);
}
}

void Lichtschranke()
{
LS1 = !LS1;

Serial.println("LS 1");
lcd.setCursor(0,0);
lcd.print("Lichtschranke1");

}

void Lichtschranke1()
{
LS1 = !LS1;

Serial.println("LS 2");
lcd.setCursor(0,1);
lcd.print("Lichtschranke2");
}

So sieht das bisher aus. Nun Die Frage dazu:

Beide Lichtschranken funktionieren und geben mir schon etwas auf dem Bildschirm aus. Aber ich bekomm es nicht hin dass die erste und 2 LS ihre Werte nehmen und miteinander vergleichen. UNd ich werde auch noch nicht ganz schlau aus dem teil

{
for (int i = 0; i < 1000; i++)
{
delay(1000);
}
}

Ich habe noch keinen Leitfaden oder Text gefunden in dem näher auch die "for" befehle eingegangen wird. (ausser der Arduino.cc Seite) Kennt jemand von euch dazu ein gutes Werk oder kann mir erklären wie ich das mit den Werten machen kann?

Und warum ist der Delay nötig?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Hilfe 433MHz Empfänger OLDARDUINO 12 383 16.11.2016 09:55
Letzter Beitrag: hotsystems
  Hilfe für einen GPS gestützten Quadrocopter TeamQuadro 13 391 02.11.2016 08:14
Letzter Beitrag: Binatone
  Hilfe, ist der bmp280 defekt? reimundko 5 596 12.09.2016 18:49
Letzter Beitrag: ardu_arne
  Bitte un Hilfe 3ddrucker 3 249 18.08.2016 16:24
Letzter Beitrag: Binatone
Star Bitte um hilfe bei Aurel Empfänger & Sender Mischa 3 523 08.06.2016 15:26
Letzter Beitrag: hotsystems
Heart Bitte um Hilfe um auf Display Temperatur auzugeben Mischa 6 515 04.06.2016 20:49
Letzter Beitrag: hotsystems
  Hilfe bei Ironman Helm Sketch Heppo 4 398 31.05.2016 17:18
Letzter Beitrag: Heppo
  Benötige Hilfe zu Schaltbild torsten_156 4 490 07.04.2016 16:09
Letzter Beitrag: Bitklopfer
  Lichtschranke mit IR-LED und Fototransistor C++Developer2000 7 1.462 01.01.2016 13:12
Letzter Beitrag: hotsystems
  Lichtschranke - Speichen Waishon 1 912 16.09.2015 23:03
Letzter Beitrag: hotsystems

Gehe zu:


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