Hallo zusammen, hab ein kleines Problem ich suche ein AVR-Programm für Ampelschaltung mit 2 Autoampeln und 3 Fussgängerampeln, quasi eine Haupt und eine Nebenstraße und das ganze sollte mit dem ATmega16 funktionieren. Vielen Dank.
OK. Ist ja nicht gerade Raketentechnik. Wo ist dein Ansatz? Du musst dazu gerade einmal 2 Dinge können * eine LED an einem Pin gezielt ein/ausschalten (wenn ich genau überlege musst du noch nicht einmal das. Einfach alle LED gemeinsam schalten. Wird halt eine LED, die sowieso schon eingeschaltet ist noch einmal eingeschaltet. Stört doch keinen) * die _delay_ms Funktion kennen AVR-GCC-Tutorial (Das ich nicht lüge. 3 Dinge. Die Ports muss man auch noch kopnfigurieren können. Langer Rede kurzer Sinn: Das kriegt jeder Anfänger in einer ersten Version nach seiner ersten Unterrichtsstunde hin)
Möchtest Du es in Form einer PowerPoint Präsentation oder gedruckt als word Dokument?! Welchen Namen soll ich als Autor eintragen? Soll ich den Namen deiner Schule auf der Titelseite erwähnen? Hat deine Schule ein Logo? Dann schicke mir das mal zu, dass macht sich in solchen dingen immer gut...
Ach... Manchmal wünsche ich mir dass bei solchen Anfragen automatisch die Identität des Fragestellers ermittelt und ein Hinweis an die Schule/Uni geschickt wird welche den Fragesteller dann durch die Prüfung rasseln lässt. Das wäre doch mal eine sinnvolle Verwendung von dem was Vorratsdatenspeicherung und Co und so bescheren.
Muss ja nicht unbedingt ein Schüler sein. Kann auch ein Modelleisenbahner sein, der etwas für seine Anlage braucht. Das ändert aber nichts am Sachverhalt, dass eine einfache starre Ampelkreuzung Übungsaufgabe nach der ersten Unterrichtseinheit im AVR Programmieren ist. Gleich nach der blinkenden LED. (NIcht ganz ernst gemeint: Das kriegen sogar Mädchen ohne Hilfe hin, so einfach ist das)
Karl Heinz Buchegger schrieb: > Muss ja nicht unbedingt ein Schüler sein. Das IST ein Schüler! Ein Modellbahner würde wohl einen Grund angeben und (weil er eben wirklich keine Ahnung hat) keinen µC-Typ angeben. Hätte er genug Ahnung um den mega16 zu kennen würde er das Programm wohl selber schreiben können. Ein Modellbahner mit einem gewissen Niveau dürfte außerdem Google bedienen können und würde schnell eine Lösung finden (aber eben nicht für den mega16). Man kann die Aufgabe ja fast mit NE555+Schieberegister+Diodenmatrix oder X mal NE555 oder ... lösen! Nein, hier ist ein Schüler am Werk (bzw. nicht am Werk(en)) dem der Lehrer den mega16 "verordnet" hat.
Peter Dannegger schrieb: > Anbei das Prinzip mit einer Ampel. > > > Peter Was soll das? Warum machst du anderen Leuten ihre Hausaufgaben?
g ast schrieb: > Was soll das? Warum machst du anderen Leuten ihre Hausaufgaben? Vermutlich Eigennutz: So hält man sich Konkurrenz vom Leib... Unser Bernd S. muß/wird es so nicht selber lernen, und mit dem nicht erworbenen Wissen kann er nicht Peters Arbeitsplatz gefähren... ;-)
g ast schrieb: > Peter Dannegger schrieb: >> Anbei das Prinzip mit einer Ampel. >> >> >> Peter > Was soll das? Warum machst du anderen Leuten ihre Hausaufgaben? Schau ins Zip-File rein. Wenn er das abgibt, dann fragt ihn sein Lehrer garantiert wie das funktioniert. Und die Frage kann er nicht beantworten. No way.
Find ich gut! Ich hab reingeguckt! Klasse Programmierleistung! Jemals dran gedacht beim IOCCC mitzumachen? Mit freundlichen Grüßen, Valentin Buck
Karl Heinz Buchegger schrieb: > g ast schrieb: >> Peter Dannegger schrieb: >>> Anbei das Prinzip mit einer Ampel. >>> Peter >> Was soll das? Warum machst du anderen Leuten ihre Hausaufgaben? > Schau ins Zip-File rein. Autsch! Sorry, ich hatte nicht reingeschaut. Das taugt wirklich nur zur Gegnerverwirrung (weil viel zu kompliziert für eine solche Aufgabe, dass der Code allgemein nichts taugt hab ich nicht gesagt!). Trotzdem, eigentlich sollte man auf solche Antworten gar keinen Code posten. Zumindestens ein oder zwei Zeilen Timerinit könnte man übernehmen (wenn man überhaupt einen Timer nutzen will). Lothar Miller schrieb: > g ast schrieb: >> Was soll das? Warum machst du anderen Leuten ihre Hausaufgaben? > Vermutlich Eigennutz: So hält man sich Konkurrenz vom Leib... > Unser Bernd S. muß/wird es so nicht selber lernen, und mit dem nicht > erworbenen Wissen kann er nicht Peters Arbeitsplatz gefähren... ;-) Das ist gut. :-) Nur: Wer finanziert dem Peter später seine Rente? :-(
g ast schrieb: > Karl Heinz Buchegger schrieb: >> g ast schrieb: >>> Peter Dannegger schrieb: >>>> Anbei das Prinzip mit einer Ampel. >>>> Peter >>> Was soll das? Warum machst du anderen Leuten ihre Hausaufgaben? >> Schau ins Zip-File rein. > Autsch! Sorry, ich hatte nicht reingeschaut. Das taugt wirklich nur zur > Gegnerverwirrung (weil viel zu kompliziert für eine solche Aufgabe, dass > der Code allgemein nichts taugt hab ich nicht gesagt!). Oh. Der Code ist sogar sehr gut. Von einem Profi ist auch nichts anderes zu erwarten. Aber wie du schon sagst: Von einem Einsteiger auf keinen Fall. Und ob sein Lehrer das durchblickt ... ich hab da so meine Zweifel, wenn ich den typischen Lehrer zugrunde lege :-) Von daher: Er hat eine Lösung. Er hat sogar eine sehr gute Lösung. Nur nützt sie ihm nichts, wenn das ganze tatsächlich Hausaufgabe ist.
Tja. Der Lehrer wird nicht erbaut darüber sein, die Lösung für eine Aufgabe zu finden (die Multitimer), die er frühestens in zwei Jahren stellen wollte.
Wäre wohl besser für Bernd gewesen wenn er gleich von vorn herein reinen Wein eingeschenkt hätte warum er das braucht, ob er etwas dabei lernen will oder nur nen Dummen sucht der im Arbeit abnimmt. So wird ihm vermutlich überhaupt nicht geholfen.
Naja. Er hat ja noch den Beitrag von Karl Heinz. Beitrag "Re: Ampelschaltung mit ATmega16" Neues Spiel, neues Glück.
Karl Heinz Buchegger schrieb: > Oh. Der Code ist sogar sehr gut. Nur damit keine Missverständnisse aufkommen: Dass Peter Dannegger sehr guten Code schreiben kann und Ahnung von der Materie hat hat er schon hunderte Male bewiesen, ich würde es nicht wagen das Gegenteil zu behaupten. Für diesen Zweck ist sein Code allerdings viel zu kompliziert (neudeutsch overkill) und ideal geeignet um einen Anfänger zu verwirren. Natürlich ist das hier Absicht, Peter würde wohl (hoffentlich!) etwas deutlich einfacheres verwenden wenn er die Aufgabe "richtig" lösen wollte. Das wollte ich mit > Autsch! Sorry, ich hatte nicht reingeschaut. Das taugt wirklich nur zur > Gegnerverwirrung (weil viel zu kompliziert für eine solche Aufgabe, dass > der Code allgemein nichts taugt hab ich nicht gesagt!). ausdrücken. Alle Klarheiten beseitigt? ;-) > Und ob sein Lehrer das durchblickt ... ich hab da so meine Zweifel, wenn > ich den typischen Lehrer zugrunde lege :-) Ich würde mal sagen durchaus berechtigt, das hängt vom Lehrer ab. Wir wissen ja nicht auf welchem Niveau (Schule/Betrieb/Uni/...) sich die ganze Sache bewegt. Mal eine andere Frage: Wie werden eigentlich die echten Ampeln "da draußen" gesteuert? Von der Rechenleistung her dürfte ein µP reichen oder braucht es dank "Warum einfach wenns auch kompliziert geht?" gleich einen ganzen PC mit Windows 7 ?
Ich würde mal schätzten, dass die Schaltkästet irgendwas SPS oder embedded-System mässiges drin haben, weil die sind ja alle aus einer Zentrale steuerbar, auch wenn ein einfaches netzwerk auch mit µC klappt.
g ast schrieb: > Peter würde wohl (hoffentlich!) etwas > deutlich einfacheres verwenden wenn er die Aufgabe "richtig" lösen > wollte. Nein, ich würde es genau so machen. Warum sollte ich das Werkzeug Scheduler verstauben lassen, wenn ich damit bequem die Abläufe hinschreiben und auch leicht ändern kann. Es benötigt nur wenig Ressourcen, der ATtiny25 ist kaum ausgelastet. Und auf dem ATmega16 könntest Du damit bequem 100 Ampeln programmieren inklusive grüne Welle, Füßgängertaste, Busvorrang usw.. Peter
Karl Heinz Buchegger schrieb: > Oh. Der Code ist sogar sehr gut. Aber hallo: 5 Sekunden lange Gelb-Phasen und "Sehr gut"? Wo sind wir denn? ;-)
Peter Dannegger schrieb: > g ast schrieb: >> Peter würde wohl (hoffentlich!) etwas >> deutlich einfacheres verwenden wenn er die Aufgabe "richtig" lösen >> wollte. > > Nein, ich würde es genau so machen. > Warum sollte ich das Werkzeug Scheduler verstauben lassen, wenn ich > damit bequem die Abläufe hinschreiben und auch leicht ändern kann. > > Es benötigt nur wenig Ressourcen, der ATtiny25 ist kaum ausgelastet. > Und auf dem ATmega16 könntest Du damit bequem 100 Ampeln programmieren > inklusive grüne Welle, Füßgängertaste, Busvorrang usw.. > > > Peter Stimmt auch wieder, wenn du damit klarkommst warum nicht. Vergiss meinen zitierten Satz. raketenfred schrieb: > Ich würde mal schätzten, dass die Schaltkästet irgendwas SPS oder > embedded-System mässiges drin haben, weil die sind ja alle aus einer > Zentrale steuerbar, auch wenn ein einfaches netzwerk auch mit µC klappt. Hm, müsste man mal reingucken. Vielleicht hab ich Glück und komme mal an einem Kasten vorbei der gewartet wird.
Gewöhnlich sind in den Schränken SPS-Steuerungen drin. Allerdings sind die Steuerungen nicht so simpel programmiert wie man glaubt. Da gibts jede Menge Zusatzfunktionen die unzulässige oder unmögliche Zustände überwachen die die Verkehrssicherheit gefährden könnten. Z.B. werden alle Rotlampen überwacht für den Fall das die ausfallen. Dann muss die Anlage auf Störung gehen und die Vorfahrtrichtung muss abschalten und die Nebenstraße gelb blinken. Ein-und ausgeschaltet wird die Anlage über Gelb auf Vorfahrt und Nebenrichtung. Beim Starten geht die gesammte Anlage im Folgezustand auf Rot-Rot. Nach den Sicherheitsstart übernimmt die Ablaufsteuerung die Kontrolle, Zeiten werden abgearbeitet, Zustände werden entsprechend an die Signalgeber ausgegeben, wie ein Automat. Gleichzeitige Grünzustände, z.B. durch defekte Relais müssen auch ständig überwacht werden. Da gibts ne Menge Vorschriften zu beachten und nicht jede Anlage ist gleich weil es oft andere Verkehrsverhältnisse gibt, z.b. mit zusätzlichen Fußgänger-Signalgebern, mit/ohne Grünanforderungen usw.
Hey Leute, ganz Ruhig brauch den Misst nicht für eine Prüfung, bin 42 Jahre und meine Studienzeit liegt schon ein paar Jahre zurück. Beschäfftige mich bloß Privat etwas mit dem Thema und ein Freund und ich wohlen damit eine Eisbahnplatte verschöner. Also wäre echt super wenn hier nur Leute antworten die auch was Sinnvolles zum Thema beitragen können, der Rest sollte es einfach lassen. Bin mitlerweile selber soweit das die ersten Ampeln laufen, aber mein zeitlicher Ablauf und das Blinkt funktioniert noch nicht so wie es wollen. Also Helft oder lasst es, mein Leben hängt nun nicht davon ab und bis nächste Woche brauch es auch nicht fertig sein. Viele Grüße
Bernd S. schrieb: > Bin mitlerweile selber soweit > das die ersten Ampeln laufen, aber mein zeitlicher Ablauf und das Blinkt > funktioniert noch nicht so wie es wollen. Also Helft oder lasst es, mein > Leben hängt nun nicht davon ab und bis nächste Woche brauch es auch > nicht fertig sein. Viele Grüße Super, das ist toll! :) Dann zeig doch mal deinen Code her, und beschreibe was für Probleme damit auftauchen und ich bin mit sicher, dass du hilfreiche Antworten bekommst. Je konkreter du eine Frage stellst, desto besser kann dir geholfen werden ("Ich brauche Ampelschaltung, fertig" ist ziemlich nichtssagend und provoziert solche Antworten, wie du gerade gemerkt hast).
Bernd S. schrieb: > aber mein zeitlicher Ablauf und das Blinkt > funktioniert noch nicht so wie es wollen. Du solltest Dir erstmal das Zeitdiagramm für alle LEDs auf Papier aufmahlen. Dann ist der Rest ein Kinderspiel. Wie Du an meinem Beispiel sehen kannst, trägt man dann einfach die gewünschten Aktionen und Zeiten als Scheduleraufrufe ein. Programmierer nennen diese Technik Callback-Funktion. Man ist dadurch sehr flexibel und die Funktionen beeinflussen sich nicht gegenseitig. Sie werden quasi parallel ausgeführt. Wenn also was doch nicht auf Anhieb stimmt, kann man es leicht ändern. Peter
Bei Pollin gibt es einen Bausatz für so eine Ampelsteuerung und da ist sogar der Quelltext in C mit dabei. MfG Turbotoni
Michael S. schrieb: > Gewöhnlich sind in den Schränken SPS-Steuerungen drin. > [...] Interessant, danke für die Info.
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.