Hallo Ich möchte gerne eine Ampelschaltung realisieren mit folgenden Vorgaben: 30 Sekunden vor Startzeit 1 rotes Licht 10 Sekunden vor Startzeit 2 rotes Licht 5 Sekunden vor Startzeit bis Start gelbes Blinklicht (jede Sekunde) Start: grünes Licht Nach dem „GO“ Signal: 20 Sekunden freier Start(grünes Licht) Danach 30 Sekunden bis Neustart Spannung zwischen 1,5V-24V DC Lichter SMD-LED's Hat jemand eine Iddee? Danke schon mal im Voraus!
Die wichtigste Frage: Wie sind deine Vorkenntnisse. Denn vor dem 'Wollen' kommt das 'Können'
Wenn ich den Schaltplan hätte oder zumindest nen groben Plan dan würde ich das schon hinbekommen Problem ist nur das ich im Moment 0 Plan habe wie das hinhauen soll;) Handwerklich besteht kein problem.
AndyT schrieb: > Wenn ich den Schaltplan hätte oder zumindest nen groben Plan Oh. Das wird schlecht. Denn sowas diskret aufzubauen - ok, machbar ist das schon - aber eigentlich verdammt aufwändig. Mit einem µC wärs um einiges einfacher im Aufbau. Allerdings muss man das ganze dann auch programmieren. Das ist auf der einen Seite zwar gut für den einfachen Aufbau. Auf der anderen Seite aber schlecht, weil noch eine Komponente mehr dazu kommt. > dan würde > ich das schon hinbekommen Problem ist nur das ich im Moment 0 Plan habe > wie das hinhauen soll;) Eine Uhr - und deine Ampel ist ja im weitesten Sinne eine Uhr - hat IMMER irgendeine Form eines Schwinggliedes, der einen Takt erzeugt. D.h. ohne wirds schon mal nicht gehen. Und der Rest - nun das sind Takte zählen und je nach Zählerstand leuchten andere Leds.
Sieh dir zb das hier mal an Beitrag "Lauflichtsteuerung" und stell dir einfach mal vor, dass da einige LED nicht bestückt wären. Der ganze linke Teil erzeugt den Takt. die beiden 4017 sind Zähler, die Taktpulse zählen und je nach Zählerstand geht ein Ausgangspin nach dem anderen auf 1. An den Ausgangspins hängen LED. Zb eine rote LED an den Pins .... (Die Sache mit den 2 4017 brauchst du ja so nicht, wohl aber das Prinzip um Sekundenpulse zu erzeugen bzw. die Pulse zu zählen ....
Unter Start(zeit) verstehe ich immer irgendeine Aktion. Z.B. Knopfdruck. Wie aber lässt sich: "30 Sekunden vor Start" erfassen? Oder soll das System automatisch, zyklisch (30/10/5)s + 20s + 30s laufen. Was soll eigentlich in den 20 Sekunden passieren? Nur Grünlicht?
amateur schrieb: > Unter Start(zeit) verstehe ich immer irgendeine Aktion. Z.B. Knopfdruck. > Wie aber lässt sich: "30 Sekunden vor Start" erfassen? Ich denke die ganze Beschreibung sollte auf "der Ablauf beginnt mit einem Knopfdruck" umgemodelt werden. Knopfdruck -> Zeit beginnt zu laufen 1 LED leuchtet 20 Sekunden später: eine 2.te LED leuchtet wieder 5 Sekunden später: rote LED aus, dafür gelbe LED ein 1 Sekunde später: gelbe LED aus 1 Sekunde später: gelbe LED ein .... Es sei denn, die Startzeit muss eine ganz bestimmte Realzeit sein. Dann wirds allerdings wirklich aufwändig und ohne µC würde ich da nichts mehr tun.
Man sollte einen Knopf drücken um das ganze zu starten und danach sollte der Vorgang wie in einer Endlosschleife immer wieder durchlaufen werden bis man einen anderen Knopf für Reset drückt und ja in den 20 Sekunden sollte das grüne Licht weiter leuchten
AndyT schrieb: > Man sollte einen Knopf drücken um das ganze zu starten und danach sollte > der Vorgang wie in einer Endlosschleife immer wieder durchlaufen werden > bis man einen anderen Knopf für Reset drückt Ah. Ok Na ja. Das ist ja dann im Prinzip nur ein etwas seltsameres 'Lauflicht'.
Karl Heinz Buchegger schrieb: > AndyT schrieb: >> Man sollte einen Knopf drücken um das ganze zu starten und danach sollte >> der Vorgang wie in einer Endlosschleife immer wieder durchlaufen werden >> bis man einen anderen Knopf für Reset drückt > > Ah. Ok > > Na ja. Das ist ja dann im Prinzip nur ein etwas seltsameres 'Lauflicht'. Allerdings eines mit 95 'Stufen', wobei natürlich viele Stufen dieselbe LED leuchten lassen. Aber Wired-Or mit Dioden ist ja schon erfunden. Mit den beiden 4017 aus dem Link wärst du zb dabei (wenn die 30 Sekunden Pause auch 35 Sekunden sein dürfen um in Summe auf 100 Sekunden zu kommen) Ob der 555 jetzt allerdings einen 1-Sekunden Takt erzeugt .... müsste man nahrechnen. Beitrag "Lauflichtsteuerung"
Ich würde dir die Schaltung gerne zusammenbauen, melde dich hier mal bitte an und schicke mir eine PM mit deiner email adresse. Würde das mit einem ATtiny realisieren, ist ja keine Große sache.
Du benötigt eine Sekundenauflösung und 95 Gesamtsekunden und 5 Ausgänge (4 LEDs und 1 Reset für den Zähler). Da die Decodierung, welcher Ausgang wann aktiv sein soll aufwändig ist, schlage ich keinen Mikrocontroller vor den man programmieren müsste, sondern einen NE555 als Taktgeber einen 74HC393 als rücksetzbaren 8 bit Zähler, und ein EPROM als Zuordnung welcher Ausgang bei welcher Zählsekunde aktiv sein soll. Das EPROM muss man zwar auch programmieren,aber braucht dazu keine Programmiersprache zu erlernen. Wahlweise lässt sich Zähler und Decodierung auch in einem GAL22V10 realisieren (allerdings werden die wieder in einer Formelsprache programmirrt, sind also nicht so viel einfacher als ein uC der dann auch noch den Taktgeber ersetzen würde.
1 | void main(void) |
2 | {
|
3 | uint8_t i,j; |
4 | DDRB=0x0f; |
5 | while(1) for(i=0;i<190;i++) |
6 | {
|
7 | PORTB=(i<60;2;0) |
8 | |(i<80;1;0) |
9 | |(80<i&&i<90&&(i&1)==0;4;0) |
10 | |(90<i&&i<130;8;0); |
11 | for(j=0;j<50;j++) _delay_ms(10); |
12 | }
|
13 | }
|
Das wäre übrigens das Programm für einen Atmega8 in C.
Dann böte sich ein modifiziertes Lauflicht im Sekundentakt an. Led1 0 bis 29 und 50 bis 79 Sekunden. Led2 20 bis 29 Sekunden. Led3 25, 27, 29 Sekunde. Led4 31 bis 49 Sekunden. Oder so.
MaWin schrieb: Nitpicking: > PORTB=(i<60;2;0) PORTB=(i<60?2:0) die restlichen Detto. EPROM ist übrigens eine gute Idee. Daran hatte ich noch gar nicht gedacht.
Karl Heinz Buchegger schrieb: > EPROM ist übrigens eine gute Idee. Daran hatte ich noch gar nicht > gedacht. Was allerdings auch programmiert werden will.
amateur schrieb: > Dann böte sich ein modifiziertes Lauflicht im Sekundentakt an. > Led1 0 bis 29 und 50 bis 79 Sekunden. > Led2 20 bis 29 Sekunden. > Led3 25, 27, 29 Sekunde. > Led4 31 bis 49 Sekunden. > Oder so. Die erste roe soll von beginn an leuchten dan die zweite rote dazu und sobald die gelbe zu blinken begind solten die beiden aufhören zu leuchten wenn die grüne an geht sollte die gelbe nicht mer leuchtn und danach die grüne auch(nach gewisser zeit) und das genze beginnt von vorne also nicht ganz richtig
Andreas Tippelt schrieb: > amateur schrieb: >> Dann böte sich ein modifiziertes Lauflicht im Sekundentakt an. >> Led1 0 bis 29 und 50 bis 79 Sekunden. >> Led2 20 bis 29 Sekunden. >> Led3 25, 27, 29 Sekunde. >> Led4 31 bis 49 Sekunden. >> Oder so. > > Die erste roe soll von beginn an leuchten dan die zweite rote dazu und > sobald die gelbe zu blinken begind solten die beiden aufhören zu > leuchten > wenn die grüne an geht sollte die gelbe nicht mer leuchtn und danach die > grüne auch(nach gewisser zeit) und das genze beginnt von vorne > also nicht ganz richtig Na ja. Ein bischen Arbeit soll ja für dich auch noch bleiben, so du denn wirklilch diskret aufbaust.
Sorry, das habe ich anders verstanden! 30 Sek vor Start Led1 10 Sek vor Start Led2 5 Sek vor Start Led3 alles aus (Start) 20 Sek Led4 aus 30 Sek. Led1 ... und weil's so schön war nochmal.
amateur schrieb: > Wie aber lässt sich: "30 Sekunden vor Start" erfassen? Fluxkompensator - macht man doch seit den 80ern so ... Gruß Jobst
> PORTB=(i<60?2:0)
Oh ja, die gelbe blinkt wohl auch zu schnell und die roten sind
falschrun, na ja, das Prinzip stimmt zumindest.
Jetzt weiß ich auch, warum sich hier wer "c-hater" nennt und an anderen Stellen über kryptischen Code gestöhnt wird.
Martin Kreiner schrieb: > Jetzt weiß ich auch, warum sich hier wer "c-hater" nennt und an anderen > Stellen über kryptischen Code gestöhnt wird. Man kanns so schreiben, wie MaWin das gemacht hat. Man muss aber nicht! Man kanns auch deutlich lesbarer schreiben :-)
Karl Heinz Buchegger schrieb: > Man kanns auch deutlich lesbarer schreiben :-) Ich lach' mich auch über den Versuch schlapp, hier dem unerfahrenen Threadstarter so "tollen, kompakten" Code zum Fraß vorzuwerfen und dann nicht mal selbst die kryptische Syntax richtig anwenden können. Ok, wir driften ab....
Jobst M. schrieb: > Fluxkompensator - macht man doch seit den 80ern so ... Aber nur, wenn du 1.21 GW Leistung zur Verfügung hast.
Karl Heinz Buchegger schrieb: > Man kanns so schreiben, wie MaWin das gemacht hat. Man muss aber nicht! Ja, aber nur, wenn man andere bis aufs Blut ärgern will.
Warum nicht ein <rotesTuch> Arduino </rotesTuch> ? Der hat genug IOs für LEDs, einfach mit Vorwiderstand ran. Tastereingang ebenso. Das Programm ist in einer Stunde geschrieben. Aufwand: 30 Euro Material, 1 Stunde Löten, 1 Stunde Programmieren.
Die Dosen-Schaltung? Programmieren tut man die Dose mit Isolierband Quelle: http://files.rakuten.de/b4372ce2f46ec8855e3f416d187e06db/thumbs/250/c9/549513825_175403.jpg
Nette Idee! Hast du aber vielleicht noch eine Ahnung, wie man dann einen Hamster so dressieren kann, dass er langsam an der Kurbel dreht?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.