einen Zähler der über eine Lichtschranke wenn die 10 mal etwas registriert eine bzw. zwei LEDs von Rot nach Grün Schaltet.
ich habe eine Fotodiode und eine Senderdiode ( ich bin mir nicht sicher wie diese LEDs heißen die Licht senden die das Auge nicht sehen kann). also ich habe einen Sender und Empfänger sagen wir es mal so.
Hat jemand eine Idee Für den Code das ich das überhaupt nicht hin bekomme. ich weiß nicht mal wie man die Fotodiode ansteuert...
wäre echt cool wenn mir jemand mit dem Code helfen könnte.
Dann sage uns einmal, welchen "echten" Arduino Du nutzt, und-
einen Link zu den Datenblättern Deines Empfänger/Sender wäre auch nicht schlecht.
Gruß und Spaß
Andreas
onal13:
... ich bin mir nicht sicher wie diese LEDs heißen die Licht senden die das Auge nicht sehen kann ...
Wenn es eine Diode ist, die Infrarotlicht ausstrahlt, nennt man sie IR-LED.
onal13:
ich weiß nicht mal wie man die Fotodiode ansteuert...
Hier ein Schaltplan, wie ich eine BPW34 (IR-Fotodiode) überwache:
Am Analogeingang liegt dann eine Spannung an, deren Höhe davon abhängt, wieviel IR-Licht die Fotodiode empfängt. Wenn Du die Schaltung nicht vom Arduino mit Energie versorgst, musst Du die GND-Anschlüsse von Arduino und Energiequelle verbinden.
Was den Code angeht, empfehle ich Dir, einfach mal die Beispiele in der IDE durchzugehen. Wenn Du nicht gerade unterirdisch dämlich bist, solltest Du den Code dann locker hinbekommen.
guntherb:
Zeig mir doch mal deine Idee, dann kann ich dir sagen, ob sie der meinen ähnelt.
ich hab noch keinen richtigen Code. Also ich noch relativ am Anfang mit Arduino. Also die Grundlagen haben drauf aber wenns um schwierigere Codes geht bin ich bisschen überfordert.
Wenn du die Grundlagen schon drauf hast, um so besser. Dann ist es nicht mehr so schwierig.
Fang doch erst mal an und male/schreibe auf (z.B. in Form eines Struktogrammes), was der Arduino tun soll. Und das möglichst detailliert und Schritt für Schritt.
wenn du das hast, dann ist der Schritt zum Code nicht mehr weit.
guntherb:
Wenn du die Grundlagen schon drauf hast, um so besser. Dann ist es nicht mehr so schwierig.
Fang doch erst mal an und male/schreibe auf (z.B. in Form eines Struktogrammes), was der Arduino tun soll. Und das möglichst detailliert und Schritt für Schritt.
wenn du das hast, dann ist der Schritt zum Code nicht mehr weit.
also das Programm soll folgendes können:
die Lichtschranke Also die IR-Led und fotodiode soll 10 mal etwas registrieren.
wenn die 10 mal etwas registriert hat soll eine Led grün aufleuchten und eine andere rote Led die vor den 10 malen leuchtet ausgehen.
was auch noch cool wäre wenn ich mit einem externen Taster noch das Programm reseten kann, dass er von vorne 10 mal zählt statt auf dem arduino den reset button drücken zu müssen.
Das ist genau das, was Du exakt formulieren musst. Was genau heißt „registrieren“? Jede Unterbrechung des Lichtstrahls? Oder nur eine Unterbrechung, die eine bestimmte Zeit dauert (oder die mindestens eine bestimmte Zeit dauert)?
Und was ist, wenn zwei Dinge gleichzeitig durch den Lichtstrahl laufen? Kann das überhaupt vorkommen?
Wenn Du das sagen kannst, ist der Rest nur noch ein bisschen Zählerei.
gregorss:
Das ist genau das, was Du exakt formulieren musst. Was genau heißt „registrieren“? Jede Unterbrechung des Lichtstrahls? Oder nur eine Unterbrechung, die eine bestimmte Zeit dauert (oder die mindestens eine bestimmte Zeit dauert)?
Und was ist, wenn zwei Dinge gleichzeitig durch den Lichtstrahl laufen? Kann das überhaupt vorkommen?
Gruß
Gregor
Also jede Unterbrechung. Ob es eine Fliege ist oder eine Hand. Also zwei Dinge gleichzeitig kann eigentlich nicht passieren aber jetzt wo du es sagst kann es passieren, dass z.B. wenn eine Hand registriert wird die sich dann bewegt dann nicht mehr die Schranke unterbricht aber dann wieder registriert wird und 2 mal gezählt wird obwohl es nur einmal ist. Wäre villeicht ganz gut wenn die Fotodiode paar sekunden wartet bevor sie wieder etwas registrieren kann.
Hallo,
einen Link zur Erklärung hast Du doch bekommen? Liest Du auch, was hier
geschrieben wird?
Im einfachen Grunde dokumentierst Du nur, vor- der Programmierung klitzeklein,
was genau Du mit dem µC (Arduino) vor hast.
Du schreibst z.B.
"Also die IR-Led und Fotodiode soll 10 mal etwas registrieren"
Hört sich ja toll an, ist hochwichtig- sagt aber nichts aus.
"Sicheres Auftreten bei völliger Ahnungslosigkeit" nennt man das.
Bis hier her…
Du merkst sicher schon, das sich dieser Thread totläuft. Mit allem was Du nicht
suchst oder brauchst.
Das liegt daran, das Du auf nichts eingehst.
Du hast einen Schaltplan bekommen- interessiert Dich nicht.
Es ist nach Datenblätter gefragt worden- interessiert Dich nicht.
Du hast einen Link zum Programmablaufplan bekommen- interessiert Dich nicht.
Du sagst, Du hast die Grundlagen drauf- wohl nicht!
Wenn Du nur quatschen willst, dann besorge Dir 50 Cent und stecke Sie in eine
Parkuhr. Vielleicht hört Die- Dir dann zu.
Gruß und Spaß
Andreas
SkobyMobil:
Hallo,
einen Link zur Erklärung hast Du doch bekommen? Liest Du auch, was hier
geschrieben wird?
Im einfachen Grunde dokumentierst Du nur, vor- der Programmierung klitzeklein,
was genau Du mit dem µC (Arduino) vor hast.
Du schreibst z.B.
"Also die IR-Led und Fotodiode soll 10 mal etwas registrieren"
Hört sich ja toll an, ist hochwichtig- sagt aber nichts aus.
"Sicheres Auftreten bei völliger Ahnungslosigkeit" nennt man das.
Bis hier her…
Du merkst sicher schon, das sich dieser Thread totläuft. Mit allem was Du nicht
suchst oder brauchst.
Das liegt daran, das Du auf nichts eingehst.
Du hast einen Schaltplan bekommen- interessiert Dich nicht.
Es ist nach Datenblätter gefragt worden- interessiert Dich nicht.
Du hast einen Link zum Programmablaufplan bekommen- interessiert Dich nicht.
Du sagst, Du hast die Grundlagen drauf- wohl nicht!
den Schaltplan hab ich nachgebaut jetzt habe ich eine Schaltung mit der ich nichts anfangen kann
den Artikel hab ich durchgelesen versteh ihn aber nicht
Datenblätter hab ich nicht weil ich die Bauteile bekommen habe
mal zu meiner Person ich Azubi
wir haben gerade erst mit arduino angefangen und ich dachte ich lass meine Ahnungslosigkeit lieber in einem Forum raus das denke ich auf sowas spezialisiert ist und mir helfen kann als ich in meinem betrieb.
onal13:
Wozu ist denn so ein Forum deiner Meinung nach
Jedenfalls nicht, um dir die Grundlagen beizubringen.
Die bestehen sicher nicht nur daraus, wie das Teil angeschlossen wird.
Grundlagen musst du dir selbst beibringen, dazu gibt es Bücher oder auch zahlreiche Beiträge im Web.
Und wenn du wie du schreibst, die Grundlagen schon kannst, warum stellst du uns nicht deinen ersten Sketch vor ?
HotSystems:
Grundlagen musst du dir selbst beibringen, dazu gibt es Bücher oder auch zahlreiche Beiträge im Web.
Und wenn du wie du schreibst, die Grundlagen schon kannst, warum stellst du uns nicht deinen ersten Sketch vor ?
int LED1 = 3; Schranke unterbrochen
int LED2 = 4;
int Fotodiode = A0;
Ok, viel ist das in der Tat nicht.
Was soll denn der jetzige Sketch machen ?
Und eine Fotodiode sehe ich nur in der Initialisierung, danach nicht mehr. Genauso wie Led1 und Led2.
Warum verwendest du die nicht weiter ?
Und hier findest du weitere Informationen zu einer Fotodiode und deren Verwendung.
Edit:
Setze bitte zukünftig deinen Sketch in Code-Tags.
HotSystems:
Ok, viel ist das in der Tat nicht.
Was soll denn der jetzige Sketch machen ?
Und eine Fotodiode sehe ich nur in der Initialisierung, danach nicht mehr. Genauso wie Led1 und Led2.
Warum verwendest du die nicht weiter ?
Edit:
Setze bitte zukünftig deinen Sketch in Code-Tags.
Ich habe die Lichtschranke tatsächlich geschafft
hier der Code
int LEDInaktiv=5; //Led wenn Lichtschranke nicht durchbrochen
int LEDAktiv=6; //Led wenn Lichtschranke durchbrochen
int LEDIr=7; //IR Led
int PD=A0; //Analoger Eingang der Photodiode
int val=0; //Messdaten int do_debug=1;
int do_debug=1;
void setup()
{
if (do_debug ==1) Serial.begin(9600);
//benötigte Ports aktivieren
pinMode(LEDAktiv, OUTPUT);
pinMode(LEDInaktiv, OUTPUT);
pinMode(LEDIr, OUTPUT);
pinMode(PD, INPUT);
//IR Led einschalten
digitalWrite(LEDIr,HIGH); //einschalten der IR Diode
}
void loop()
{
val=analogRead(PD); //Photodiode auslesen
if (val<60) //Wird der Lichtstrahl unterbrochen...
{
digitalWrite(LEDAktiv, HIGH);
digitalWrite(LEDInaktiv, LOW);
}
else
{
digitalWrite(LEDAktiv, LOW);
digitalWrite(LEDInaktiv, HIGH);
}
if (do_debug ==1)
{ Serial.println(val); //Werte zum Serial Monitor senden
delay(1); }
}
jetzt fehlt nur noch der Zählmodus
das kriege ich aber nicht hin
if (val<60) //Wird der Lichtstrahl unterbrochen...
{
digitalWrite(LEDAktiv, HIGH);
digitalWrite(LEDInaktiv, LOW);
Zähler++; // bei jeder Unterbrechung zählt der Zähler hoch
}
und hier
if (do_debug ==1)
{ Serial.println(val); //Werte zum Serial Monitor senden
delay(1);
Serial.println(Zähler); // Werte Zähler zum Serial Monitor senden
}
CodeTag´s findest Du im Editor oben links (</>)
Gruß und Spaß
Andreas