Forum: Mikrocontroller und Digitale Elektronik Arduino sketch


von Carmine S. (Gast)


Lesenswert?

Folgende Funktionen soll den Sketch ermöglichen


1.- Taster 1 (PIN 2) wird gedruckt.  Aktiviert PIN 10 für 10 Sekunden 
dann geht wieder auf LOW:
2.- Taster 4 (PIN 5) wird gedruckt.  Aktiviert PIN 11 für 10 Sekunden 
dann geht wieder auf LOW:
3.- Taster 5 (PIN 6) wird gedruckt.  Aktiviert PIN 12 für 10 Sekunden 
dann geht wieder auf LOW:


4.- Taster 2 (PIN 3) wird gedruckt.   Geht auf HIGH und bleibt für 10 
Sekunden auf HIGH.
                  In diese Zeit, wenn man Taster 1 druckt dann geht
                  PIN 11 auf HIGH und bleibt für 10 Sekunden.
                  Danach geht wieder auf LOW:

5.- Taster 3 (PIN 4) wird gedruckt.   Geht auf HIGH und bleibt für 10 
Sekunden auf HIGH.
                  In diese Zeit, wenn man Taster 1 druckt dann geht
                  PIN 12 auf HIGH und bleibt für 10 Sekunden.
                  Danach geht wieder auf LOW:
Ich bin eine Neuling  mit Arduino.
Habe versucht mit boolean dann const int  habe habe ich nichts erreicht 
weil ich keine ahnung habe.
Wer ist so nett und sagt mir die lösung. ?
Besser gesagt den Sketch.
meine EMail Adresse ist mare.blu@gmx.de
in voraus Danke.

von Egonwalter M. (heiner1234)


Lesenswert?

1.) Schöne Aufgabe!
2.) Hausaufgabe?
3.) Wie sieht dein bisheriges Programm aus (=> zeig's mal)!

4.) Kein Output ohne Input => 3.)

5.) welcher Arduino

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Herzlichen Glückwunsch zum schlechtesten Eröffnungsbeitrag der Woche.

- Nichts sagender Titel
- keine Angaben zum Mikrocontroller
- keine Angabe, wie die Taster angeschlossen sind
- Kein Quelltext
- Keine konkrete Frage
- Bitte um "Vorsagen" der Lösung
- Antwort an persönliche Adresse (anstatt hier) erbeten
- Email Adresse leichtfertig veröffentlicht

Aber immerhin hast du beschrieben, was das Programm tun soll. Wir hatten 
hier schon Fälle, wo sogar das fehlte.

Solange du hier deinen Lösungsansatz nicht zeigst, brauchst du keine 
hilfreichen Antworten erwarten. Du provozierst damit eher dumme 
Kommentare wie meinen.

Einen Tip zum Lösungsansatz möchte ich dir aber geben: Versuche mal, das 
Programm als Zustandsautomat darzustellen. Erstmal nur das Diagramm und 
die Tabelle. Siehe dazu 
http://stefanfrings.de/multithreading_arduino/index.html

von Heiner (Gast)


Lesenswert?

Kannste nicht lesen? Gmx-Mail fkt nicht!

von Frank S. (_frank_s_)


Lesenswert?

Heiner schrieb:
> Kannste nicht lesen? Gmx-Mail fkt nicht!

Hallo Heiner,
das ist doch mal nett formuliert. Wenn ich mich ganz dunkel erinnern 
kann, gibt es, glaube ich, die Möglichkeit Dateien als Anhänge an einen 
Post anzuhängen. Wenn das nicht geht, kann man auch den Quelltext als 
Beitrag verfassen.
Noch einen schönen 3. Advent

MfG von der Spree
Frank

von Zeno (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> keine Angaben zum Mikrocontroller
> - keine Angabe, wie die Taster angeschlossen sind

Kannst Du lesen? Es ist ein Arduinobrettel. An welchen Pins die Taster 
angeschlossen sind wurde doch auch geschrieben.

Allerdings sollte sich der TO auf den Hosenboden setzen und den 
versäumten Lernstoff nachholen. Denn ganz offensichtlich handelt es sich 
hier um eine Hausaufgabe und ich bin mir ziemlich sicher das der Stoff 
vor Stellen der Aufgabe behandelt wurde.

von Stefan F. (Gast)


Lesenswert?

Zeno schrieb:
> Kannst Du lesen? Es ist ein Arduinobrettel. An welchen Pins die Taster
> angeschlossen sind wurde doch auch geschrieben.

Wenn das alles ist, dann kannst du mir jetzt ja sofort sagen, ob die 
Taster beim Drücken einen HIGH oder einen LOW Pegel liefern.

Nicht? Och!

Das es mehr als einen Arduino gibt ist dir wohl auch entgangen.

von Heiner (Gast)


Lesenswert?

Hallo Stefan

Willst du dem TO die Lösung geben?
Ich denke nicht, dass er mit deinen Erklärungen bezgl multithreading 
klar kommt bzw seine Aufgabe lösen kann.
Dafür ist sein Wissen wohl etwas zu gering

von Stefan F. (Gast)


Lesenswert?

Heiner schrieb:
> Willst du dem TO die Lösung geben?

Nein, das habe ich doch deutlich zu verstehen gegeben, oder?

> Ich denke nicht, dass er mit deinen Erklärungen bezgl. multithreading
> klar kommt bzw seine Aufgabe lösen kann.
> Dafür ist sein Wissen wohl etwas zu gering

Woher willst du das denn wissen? Und inwiefern nützt das dem TO?

Das hat doch eher den Charakter von: Hurra, ich habe gleich zwei Opfer 
gefunden, die mache ich jetzt beide fertig. Muhaha, bin ich gut!

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Da fehlt nur noch die "Bitte", die Lösung der Aufgabe bis spätestens 
Montag, 8:55 Uhr zu liefern, da er/sie ansonsten die Lösung nicht 
pünktlich um 9 Uhr abgeben kann und damit sein/ihr Abschluss gefährdet 
wäre.

von Heiner (Gast)


Lesenswert?

Hallo Stefan

Ich wollte nur Dich dezent darauf hinweisen, dass man jemandem, der nur 
die Grundrechnungsarten beherrscht, nicht die Infinitesimalrechnung 
erklären sollte, da er sie wegen fehlender Grundlagen nicht verstehen 
wird.

Und von wegen zwei Opfer gefunden - was soll das?

von Stefan F. (Gast)


Lesenswert?

Heiner, jemand der so eine Hausaufgabe bekommen hat, sollte mit 
Zustandsautomaten nicht überfordert sein. Das ist keine 
Raketen-Wissenschaft.

von Zeno (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Wenn das alles ist, dann kannst du mir jetzt ja sofort sagen, ob die
> Taster beim Drücken einen HIGH oder einen LOW Pegel liefern.
>
> Nicht? Och!
>
> Das es mehr als einen Arduino gibt ist dir wohl auch entgangen.

Wieviel Arbeit ist es die Abfrage der Taster von Low auf High 
umzuschreiben? Dürfte im vorliegenden Fall keine 5 Minuten dauern. Am 
Prinzip der Abfrage und der Weiterverarbeitung ändert sich dabei 
schlichtweg gar nix.
Ja  klar gibt es mehr als einen Arduino - na und, ändert am Prinzip auch 
nichts. Die richtige Zuordnung zu den tätsächlichen Hardwarepins erfolgt 
in der Arduino IDE schlicht und einfach durch Auswahl des passenden 
Boards.

Du hast einfach wieder mal einen Schnellschuß gemacht und bist einfach 
an 2 Stellen Deines ansonsten den Sachverhalt gut treffenden Posts, 
übers Ziel hinaus geschossen.

von Heiner (Gast)


Lesenswert?

Stefan - wenn der TO nicht mit der Erstellung eines Zustandsautomaten 
überfordert wäre hätte er nicht um die Lösung der Aufgabe gebeten

von Stefan F. (Gast)


Lesenswert?

Heiner schrieb:
> Stefan - wenn der TO nicht mit der Erstellung eines Zustandsautomaten
> überfordert wäre hätte er nicht um die Lösung der Aufgabe gebeten

Vielleicht wusste er noch gar nicht, was ein Zustandsautomat ist oder 
kam nicht auf die Idee, es damit zu versuchen.

Du hilfst niemandem, indem du ihm die Hausaufgabe komplett vorsagst. 
Besser ist, die richtigen Stichwörter zum Nachforschen zu geben und auf 
Dokumentation zu verweisen.

Dazu gehörte auch meine Rückfrage zur Schaltung. Ein 
Elektronik-Entwickler muss dazu fähig sein, seine Schaltungen korrekt zu 
beschrieben. Ein Software-Entwickler muss dazu fähig sein, die 
Bedingungen korrekt zu erfassen, denn nur dann kann er korrekt 
programmieren.

Da gibt es noch weitere Lücken bei Punkt 4 und 5, auf die wollte ich 
später eingehen, falls es Carmine nicht selbst schon während der 
Erstellung der Diagramme auffällt.

Denke immer daran, dass diese Leute eventuell das Auto entwickeln 
werden, dass dich in 20 Jahren töten wird. Oder ähnliche Szenarien. Ich 
möchte nicht, dass in Zukunft sicherheitsrelevante Technik von 
Blender-Typen entwickelt wird.

Durch Vorsagen züchtest man sich Blender-Typen heran und ist daher an 
den Folgen mit schuldig.

von Peter D. (peda)


Lesenswert?

Zeno schrieb:
> Wieviel Arbeit ist es die Abfrage der Taster von Low auf High
> umzuschreiben?

Je nach Entprellcode ist ein "~" hinzuzufügen oder fällt weg.
Bei Taste gegen VCC ist auch ein externer Pulldown notwendig.

Für die Aufgabe würde ich meine Entprellung und meinen Scheduler 
benutzen.
Beitrag "Wartezeiten effektiv (Scheduler)"

von Schlaumaier (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das es mehr als einen Arduino gibt ist dir wohl auch entgangen.

dürfte bei so einen Spielzeug-Aufgabe wohl egal sein.

@TO

Mach dich mit der Funktion DELAY vertraut.  Der Rest ist so einfach das 
kann man oder man lässt es ganz.

Das ganze sieht dann so aus.

pin gedrückt.
pin auf high setzen (oder low wenn anders rum)
delay = Warte etwas
pin auf low setzen (oder high wenn anders rum)


Und nein ich bin viel zu faul das Programm dir auch noch zu schreiben.

von Stefan F. (Gast)


Lesenswert?

Ich sehe in der Anwendung keinen Bedarf für eine Entprellung. Kein 
Taster prellt 10 Sekunden lang.

von Stefan F. (Gast)


Lesenswert?

Schlaumaier schrieb:
> Mach dich mit der Funktion DELAY vertraut.

Besser nicht, sie kollidiert mit dem Modell der Zustandsautomaten. Die 
Punkte 4 und 5 wären damit besonders schwierig umzusetzen.

von Schlaumaier (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Besser nicht, sie kollidiert mit dem Modell der Zustandsautomaten.

Stimmt habe ich übersehen.

Sorry

Dann halt die Funktion millis.  Musst sie halt überwachen in einer 
Schleife.

von Stefan F. (Gast)


Lesenswert?

Schlaumaier schrieb:
> Dann halt die Funktion millis.  Musst sie halt überwachen in einer
> Schleife.

Und genau dazu habe ich ein Beispiel verlinkt. Carmine ist ja nicht die 
erste, die das braucht.

von Zeno (Gast)


Lesenswert?

Peter D. schrieb:
> Je nach Entprellcode ist ein "~" hinzuzufügen oder fällt weg.
> Bei Taste gegen VCC ist auch ein externer Pulldown notwendig.

Eben!

von Peter D. (peda)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich sehe in der Anwendung keinen Bedarf für eine Entprellung. Kein
> Taster prellt 10 Sekunden lang.

Er kann ja länger als 10s gedrückt gehalten werden und dann darf das 
Prellen beim Loslassen keinen neuen Puls erzeugen.

Entprellen ist eigentlich immer nützlich und kostet ja fast nichts.
Es spart außerdem die Entwicklungszeit, die ich überlegen müßte, ob ich 
einfach die Standardlösung für Tasten nehme oder mir nur für diese 
Projekt eine extra Lösung ausdenke.

von Stefan F. (Gast)


Lesenswert?

Peter D. schrieb:
> Entprellen ist eigentlich immer nützlich und kostet ja fast nichts.

Ja für dich und für mich.

Die Aufgabe ist aber eine ganz andere. Sie soll offensichtlich dazu 
dienen, sich mit Zustandsautomaten zu befassen, nicht mit 
Entprell-Routinen.

Wir reden hier von einer Hausaufgabe, nicht von einem gebrauchsfertigen 
Produkt! Kein Lehrer wird begeistert sein, wenn man so weit vom Thema 
abweicht während man zugleich den Kern der Aufgabe nicht erfasst hat.

von Peter D. (peda)


Lesenswert?

Schlaumaier schrieb:
> Mach dich mit der Funktion DELAY vertraut.  Der Rest ist so einfach das
> kann man oder man lässt es ganz.

Ganz so einfach ist es aber nicht.
Es steht ja nicht geschrieben, daß die Tasten immer nur nach Ablauf der 
10s betätigt werden dürfen. Es können also bis zu 5 Abläufe parallel 
gestartet werden.
Auch ist unklar, ob ein Retriggern erfolgen soll oder nicht.

von Mathias M. (matjes)


Lesenswert?

Für Punkt 4&5 würde ich als Anregung mal das Arduino Beispiel 02.Digital 
-> BlinkWithoutDelay empfehlen.

von Schlaumaier (Gast)


Lesenswert?

Wieso redet ihr über Entprellung per Software. Das habe ich in meiner 
Jugendzeit auch ohne sauber hinbekommen. Müssen halt 1-2 Bauteile mehr 
auf die Schaltung.

Was i.d.R. auch gar nicht verkehrt ist, selbst in der heutigen Zeit. 
Weil dadurch die MC nicht zeitkritisch belastet wird, was je nach 
Projekt schlimm sein kann.

von Peter D. (peda)


Lesenswert?

Schlaumaier schrieb:
> Weil dadurch die MC nicht zeitkritisch belastet wird, was je nach
> Projekt schlimm sein kann.

Mir fällt kein einziges Szenario ein, wie man eine CPU mit Entprellen 
"zeitkritisch belasten" könnte.

von Stefan F. (Gast)


Lesenswert?

Leute, es geht hier nicht um Entprellung!

von Schlaumaier (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Leute, es geht hier nicht um Entprellung!

Eben. ;) Das macht die Schaltung selbst damit die Kiddys auch diese 
Technik lernen. hihi

von Heiner (Gast)


Lesenswert?

Off topic

Der TO wird schon lange nicht mehr mitlesen, da er keine "mundgerechte 
Lösung" bekommen hat/wird.

Mit den bislang gelieferten/ vorgeschlagenen kann er nichts anfangen 
sonst hätte er sich wohl mal geäußert.

Wozu also noch weiter über Lösungen diskutieren?

von Schlaumaier (Gast)


Lesenswert?

Naja, moderne Zeiten.

Ich hab damals mit meinen Freunden Time-Sharing gemacht. Einer machte 
die Hausaufgaben und alle haben abgeschrieben.

Heutzutage fragt man im Internet und hofft das ein Dummer einen die 
Arbeiten macht.  Moderne Zeiten eben. ;)

von Peter D. (peda)


Lesenswert?

Stefan ⛄ F. schrieb:
> Wir reden hier von einer Hausaufgabe, nicht von einem gebrauchsfertigen
> Produkt!

Wo steht geschrieben, daß Hausaufgaben nicht sauber und vollständig 
gelöst werden dürfen?
Die Folgen sieht man dann in der Praxis, wenn kommerzielle Geräte auch 
nur mit halbgaren Lösungen entwickelt werden und der Kunde es ausbaden 
muß.

von Joachim B. (jar)


Lesenswert?

Peter D. schrieb:
> Die Folgen sieht man dann in der Praxis, wenn kommerzielle Geräte auch
> nur mit halbgaren Lösungen entwickelt werden und der Kunde es ausbaden
> muß.

wir werden das nie mehr ändern können
PKW deren Uhr gestellt werden müssen bei Umschaltung auf MEZ trotz GPS 
und RDS.
Herde deren Touchfelder auch weiter nerven wenn der Herd ausgeschaltet 
ist!

uvam.

von Wolfgang (Gast)


Lesenswert?

Schlaumaier schrieb:
> Wieso redet ihr über Entprellung per Software. Das habe ich in meiner
> Jugendzeit auch ohne sauber hinbekommen. Müssen halt 1-2 Bauteile mehr
> auf die Schaltung.

Bei den ersten Computern bestand der Programmspeicher auch aus 
Ringkernen, durch die sich Drähte geschlängelt haben. Und trotzdem hat 
sich Flash-Speicher durchgesetzt, obwohl die Ringernspeicher sauber 
funktioniert habe.

von Schlaumaier (Gast)


Lesenswert?

Joachim B. schrieb:
> wir werden das nie mehr ändern können

Wieso sollten man. Dann haben wir doch kein Spass mehr.  Da gibt es z.b. 
von einen Disconter ein Reiskocher.  Alle meine Bekannten und ich haben 
den. Bei allen saut der die Küche voll nur nicht bei mir. Der Grund : 
Ich habe einfach die Überdruckmembrane etwas mit den Cutter erweitert. 
So das sich der Druck schneller abbaut.

Wie gesagt. Wo bleibt der Spass wenn die Kisten perfekt laufen. ;)

Ich behebe öfters mal Konstruktionsfehler. Einfach weil ich das Ergebnis 
besser finde.

von Wolfgang (Gast)


Lesenswert?

Joachim B. schrieb:
> wir werden das nie mehr ändern können PKW deren Uhr gestellt werden
> müssen bei Umschaltung auf MEZ trotz GPS und RDS.

Woher soll GPS wissen, was sich der deutsche Gesetzgeber für Zickereien 
bei der gesetzlich Zeit hat einfallen lassen.

von Jens (Gast)


Lesenswert?

Joachim B. schrieb:
> wir werden das nie mehr ändern können

Sag niemals nie. Aber die Menschheit muss das erst einmal durchleben bis 
auch der letzte Bimmel bemerkt hat dass der Kuchen trotz des WLAN oder 
vielleicht gerade deswegen an brennt.

Jedes Epoche hat doch ihr Ideal, bei der Technik war es wohl irgendwann 
nach dem Glühobst und vor der App.

Warum kauft man sich einen kochenden Mixer mit Rezeptcodes um ein Steak 
zu Bramixen?

Warum regle ich die Temperatur meiner Heizung wenn ich nicht zu hause 
bin, und warum bürde ich mir überhaupt auf mir darum auch noch Gedanken 
machen zu müssen wenn ich nicht mal zu hause bin, abgesehen von der 
Tatsache dass ich Updates, ein neues Telefon, Sicherheitssoftware und 
einen Internetzugang brauche... völliger Wahnsinn.

Warum steuert das Zimemrlicht ein Server mit Spracherkennung im Ausland, 
und warum gibt es Glühobst mit über eine Million Farben und man sieht 
trotzdem nicht viel.

Warum schafft man das wechselbare Glühobst überhaupt ab und warum baut 
man Leuchtmittel mit 50.000 Stunden Lebensdauer ein, aber ein netzteil 
das nach 00 Stunden kaputt geht. Warum baut man nicht eine 
überdimensioniert Glühlampe, nur metall und Glaskolben, kaum 
umweltschädigend im Verhältnis wenn sie gut eingesetzt wird, kann sie 
Genertionen überleben und damit ist sie billiger und energiesparender 
als jedes jemals erfundene Leuchtobst.

So denn

von Schlaumaier (Gast)


Lesenswert?

Das nennt man Wirtschaftswachstum.

Wenn man das nicht macht, gibt es zu viele Arbeitslose weil man nix 
neues bauen muss, weil das alte Zeug ja ewig hält. Wenn man dann noch 
eine Vereinheitlichung macht, brauch der Mensch nur noch 1 Stecker für 
seine Handys/Tablett und sonstige Gadgets.

Zu viel Arbeitslose gibt Stress in der Bevölkerung. Wozu das führt haben 
wir um 1930 gelernt. Also unternimmt die Regierung nix was der 
Wirtschaft schadet.

Besser man produziert munter weiter. Alle verdienen Geld. Wie haben 
Wohlstand.

Ok spätestens unsere Enkelkinder dürfen das ausbaden. Dann gibt es 
eine echte Wirtschaftskrise. Nicht weil kein Geld da ist. Das ist eh 
unwichtig dann. Einfach weil der Planet so ausgelaugt und verseucht ist, 
das man nix mehr zu fressen ernten kann. Und um den Rest wird sich 
geprügelt wie hungrige Hunde.

SF oder reale Prognose. Naja, ich werde es eh nicht erleben. Und ich 
habe keine Kinder. So gemein bin ich halt nicht.

Aber ich halte BIO, OKO-Siegel und den anderen Mist eh nur für 
Augenwischerei.  Ist aber nur meine Meinung.

von Zeno (Gast)


Lesenswert?

Peter D. schrieb:
> Wo steht geschrieben, daß Hausaufgaben nicht sauber und vollständig
> gelöst werden dürfen?
> Die Folgen sieht man dann in der Praxis, wenn kommerzielle Geräte auch
> nur mit halbgaren Lösungen entwickelt werden und der Kunde es ausbaden
> muß.

Du hast es gerade auf den Punkt gebracht. Wozu Hirnmasse anstrengen? 
Könnte schädlich sein. Dabei ist es bei Hirn eben genau umgekehrt, denn 
das will gefordert werden. Hirn einsetzen ist heutzutage aber so etwas 
von uncool, wie es dieser Thread mit dem ersten Post demonstriert.
Ich frag mich wie wir nur unsere Hausaufgaben gelöst haben. Zu meiner 
Zeit gab es kein Internet, da blieb einem nix anderes übrig als die Nase 
ins Buch zu stecken. Ob man dafür ein ganzes Wochenende opfern mußte, 
war dem Lehrer und später dem Prof. aber so was von egal. Da gab es nur 
eines: abliefern oder mit n'er schlechten Note zufrieden sein.

von MeierKurt (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Zeno schrieb:
>> Kannst Du lesen? Es ist ein Arduinobrettel. An welchen Pins die Taster
>> angeschlossen sind wurde doch auch geschrieben.
>
> Wenn das alles ist, dann kannst du mir jetzt ja sofort sagen, ob die
> Taster beim Drücken einen HIGH oder einen LOW Pegel liefern.
>
L oder H? Das ist doch völlig unerheblich - was bitte ist an
"1.- Taster 1 (PIN 2) wird gedruckt.  Aktiviert PIN 10 für 10 Sekunden
dann geht wieder auf LOW:" denn nun wieder so unklar?
Der Arduino startet, und der anliegende Pegel am Tasterpin wird als 
"Taster nicht gedrückt" interpretiert. Der Rest ergibt sich. (Nur mal 
als Beispiel - auch wenn die Aufgabe wahrscheinlich nicht unbedingt 
darauf abzielt).

> Nicht? Och!

Ja - och!. Die Blumen für den zweitbesten gehen an Dich.

>
> Das es mehr als einen Arduino gibt ist dir wohl auch entgangen.

Na und? Wird doch (so man sauber programmieren mag) eh alles als 
Konstante und #ifdef usw. definiert. Stell dich doch nicht so an.
Das kann jeder Arduino.
Die naheliegende Frage ist doch, ob man Spaß daran hat, fremde 
Hausaufgaben
zu lösen. Da gibts sicherlich hier eine gewisse Unbegeisterung.

von Stefan F. (Gast)


Lesenswert?

MeierKurt schrieb:
> so man sauber programmieren mag

Kann er aber nicht, das hat er doch im Eröffnungsbeitrag deutlich 
gezeigt.

Er braucht ein fix und fertiges Programm, wo die Logikpegel der Taster 
bereits festgelegt sind.

Bei den Punkten 4 und 5 wäre noch zu klären was das denn auf High gehen 
soll.
> Geht auf HIGH und bleibt für 10 Sekunden auf HIGH.

Da du aber schon alle nötigen Infos zu haben glaubst, frage ich mich, 
warum du nicht längst die Lösung präsentiert hast. Das wäre doch viel 
hilfreicher, als die Rückfragen anderer zu kritisieren.

Wir hatten schon einmal einen Thread der ganz ähnlich verlief. Das 
stellte sich nachher raus, dass der TO und alle Leute die "es sind doch 
alle nötigen Infos da" schrieben eine einzige Person waren. Würde mich 
nicht wundern, wenn das hier wieder der Fall ist.

von Joachim B. (jar)


Lesenswert?

Wolfgang schrieb:
> Woher soll GPS wissen,

echt jetzt?

GPS kennt meine Position, RDS weiss welche Zeit gilt!
Ausserdem kann man MESZ und MEZ Umstellung nach Geokoordinaten 
berechnen, macht sogar mein Proggi im Nano.
Ein Haken setzen einmalig Umstellung ja/nein/manuell/automatisch würde 
im Menü reichen, das muss ich das nicht 2x im Jahr selber machen.

Also besonders schlau sind die heutigen Ings. nicht mehr, oder es wird 
wieder um jeden Cent im Prozessor und Rom gefeilscht, BWL halt, aber PKW 
im zig k€ Bereich anbieten und schön die Vorstände füttern.

Ich merke halt kaum noch im dritten Jahrtausend zu sein, es wird gefühlt 
immer schlimmer.

Winterreifenwechsel und dabei in eine "Fach"Werkstatt müssen um die RDS 
Sensoren neu anzulernen?
Batteriewechsel und dabei in eine "Fach"Werkstatt müssen um das BMS neu 
anzulernen?

von malsehen (Gast)


Lesenswert?

Schlaumaier schrieb:
Da plaudert mal einer aus dem Nähkästchen!

von Wolfgang (Gast)


Lesenswert?

Joachim B. schrieb:
> Wolfgang schrieb:
>> Woher soll GPS wissen,
>
> echt jetzt?
>
> GPS kennt meine Position, RDS weiss welche Zeit gilt!
Auf die Turmuhr (RDS) gucken kann jeder. Das funktioniert aber nicht 
global.

> Ausserdem kann man MESZ und MEZ Umstellung nach Geokoordinaten
> berechnen, macht sogar mein Proggi im Nano.

Kann man nicht. Dafür brauchst du mindestens noch den Inhalt der aktuell 
gültigen Rechtsverordnung. Oder woher weiß dein Nano, wie z.B. im Sommer 
1916 oder 1920 der Offset zwischen UTC und gesetzlicher Zeit war und 
wann genau umgestellt wurde.

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> Die Aufgabe ist aber eine ganz andere. Sie soll offensichtlich dazu
> dienen, sich mit Zustandsautomaten zu befassen, nicht mit
> Entprell-Routinen.

Entprell-Routinen SIND auch Zustandsautomaten, du Depp!

von Ein Freund (Gast)


Lesenswert?

Carmine S. schrieb:
> Ich bin eine Neuling  mit Arduino.

Hast Du Dir schon Gedanken um die Verbindung zum Drucker gemacht?

von Manfred (Gast)


Lesenswert?

Schlaumaier schrieb:
> Ich hab damals mit meinen Freunden Time-Sharing gemacht. Einer machte
> die Hausaufgaben und alle haben abgeschrieben.

Du warst der König der Abschreiber, was Du hier im Forum ständig 
demonstrierst.

Joachim B. schrieb:
> Winterreifenwechsel und dabei in eine "Fach"Werkstatt müssen um die RDS
> Sensoren neu anzulernen?

Das kann meiner ohne Fachwerkstatt - aber das Thema hatten wir schon 
mehrfach in anderen Threads.

Wolfgang schrieb:
>> GPS kennt meine Position, RDS weiss welche Zeit gilt!
> Auf die Turmuhr (RDS) gucken kann jeder. Das funktioniert aber nicht
> global.

> Kann man nicht. Dafür brauchst du mindestens noch den Inhalt der aktuell
> gültigen Rechtsverordnung

Das war der Firma Navigon vor etwa 15 Jahren ziemlich egal. Mein 
Mobilnavi, gekauft 2007, kann die korrekte Uhrzeit. Mein PKW von 2018 
hat in den Einstellungen die Zeitzone und ist trotzdem nicht in der 
Lage, von selbst auf MESZ umzustellen - das haben Pfuscher programmiert.

von sid (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Da gibt es noch weitere Lücken bei Punkt 4 und 5, auf die wollte ich
> später eingehen, falls es Carmine nicht selbst schon während der
> Erstellung der Diagramme auffällt.

Ach..

ich hatte das als trigger flag gelesen
(pin 3 triggert enable timer dass pin 2 für pin11 statt pin10 gilt)

aber fremderleuts hausaufgaben haben mir noch nie wirklich spass 
gemacht,


Aber im Zuge der "Hilfe zur Selbsthilfe" Initiative Deutschland e.V.
wie wär's hiermit:

Schau im arduino Beispielheftchen mal nach TIMER1,
überlege Dir wie Du ihn zu einem 1-Sekundentimer machen kannst abhängig 
von der Taktfrequenz (Stichwort: prescaler)
Dazu überlege Dir welchen wert der Comparator haben muss, damit Du so 
exakt wie möglich auf eine Sekunde kommst.

Nun denk nach wie Du diese vergangenen Sekunden zählen kannst
(Stichwort: ISR und "Overflow vector")

Nun brauchst Du etwas was zehn sekunden voneinander unterscheiden kann..
leicht dafür sind die Ziffern 0-9 (Dezimalsystem sei dank)
wie kommen nun also hochzählende Sekunden in ein 0-9 Zustand ?
(Modulo rechnen vielleicht?)

UNd zum Schluss brauchst Du eine Liste von Zuständen die
relevant BLEIBEN über einen gewissen Zeitraum
(Tipp: es braucht nicht mehr als FÜNF Einträge in der Liste)
jeder Eintrag braucht einen Zeitwert und mindestens einen Zustandswert
überlege Dir wieviele bit der Zeitwert hat und wieviele Zustände jeder 
Eintrag haben kann
(darf schalten ja/nein, ist geschaltet ja/nein...)
das bestimmt wieviele Bit der Eintrag braucht (reichen acht, brauchst Du 
16, möchtest Du 32?)

Und dann ist der Rest eine einfache Schleife
mit Bedingungen
INPUT prüfen Zustand setzen,
Zustand prüfen OUTPUT setzen
Zeit prüfen Zustände&Zeit zurücksetzen

das sollte so in etwa reichen um Dich in die Richtung einer möglichen 
Lösung zu schieben. (es ist nicht die einzige Lösung und auch nicht die 
kürzeste.. aber eine leicht nachvollziehbare denk ich)

Shalömmchen

'sid

von Schlaumaier (Gast)


Lesenswert?

Joachim B. schrieb:
> Ausserdem kann man MESZ und MEZ Umstellung nach Geokoordinaten
> berechnen, macht sogar mein Proggi im Nano.

Dann ist dein Programm besser als mein Samsung-Handy. Das hat mir 
nämlich diesen Jahr 2 Zeit-Updates gemacht. Ich frage mich bis heute 
noch wieso. ?!?!

von max123 (Gast)


Lesenswert?

Hallo,
gehe ich recht in der Annahme, dass die Ausgaben selbständig
laufen, auch wenn in der.0 Sekunde ein neuer
Vorgang ausgelöst wird?
Falls „ ja“, ist die Ausgabe in die ISR des Timers
zu legen. In loop wird die Zeitkonstante gesetzt.
Die Eingabe soll über den Seriellen Interrupt
Erfolgen.

von Sven K. (quotschmacher)


Lesenswert?

max123 schrieb:
> Die Eingabe soll über den Seriellen Interrupt
> Erfolgen.

watt? wo kommt denn das jetzt her? oben steht doch "taster"... zudem 
verstehe ich die ganze antwort nicht so ganz. hat das noch was mit der 
frage an sich zu tun?

von Joachim B. (jar)


Lesenswert?

Wolfgang schrieb:
> Oder woher weiß dein Nano, wie z.B. im Sommer
> 1916 oder 1920 der Offset zwischen UTC und gesetzlicher Zeit war und
> wann genau umgestellt wurde.

RDS

von Stefan F. (Gast)


Lesenswert?

Sven K. schrieb:
> so ganz. hat das noch was mit der frage an sich zu tun?

Er hat weder die Aufgabenstellung noch den Zustandsautomaten verstanden.

Ich muss zugeben, dass das Konzept (Multitasking mit Zustandsautomaten) 
auf den ersten Blick abwegig komplex erscheint. Ich kann verstehen, dass 
man das als Anfänger lieber alles irgendwie mit Interrupts lösen will.

Aber damit landet man ganz schnell in einer Sackgasse voller 
Einschränkungen und unerwarteter Seiteneffekte. Kann ich nicht 
empfehlen.

von Einhart P. (einhart)


Lesenswert?

Das TO hat sich nicht wieder gemeldet. Warum schreibt ihr euch noch die 
Finger wund?

von Joachim B. (jar)


Lesenswert?

Schlaumaier schrieb:
> Dann ist dein Programm besser als mein Samsung-Handy. Das hat mir
> nämlich diesen Jahr 2 Zeit-Updates gemacht. Ich frage mich bis heute
> noch wieso. ?!?!

mein Programm will keine neuen Handys verkaufen!
Kennt noch jemand die Millenium Umstellung?
Wieviele Computer(Programme) hatten da Probleme?

Auch mein redmi hat mir ein Zwangsupdate verpasst mit der Folge das es 
nicht mehr so arbeitet wie am Kauftag, das Spiel kennt man doch schon 
seit windows.
Mit jedem Update wirds langsamer bis man ein Neues braucht!

Ich weiss das mein Programm in der Rolladensteuerung endlich ist, aber 
auch das stört mich nicht.
Vielleicht erlebe ich die völlig neue dezimale Zeitrechnung noch und 
kann die umprogrammieren, wenn nicht auch egal, aber das ich im dritten 
Jahrtausend meinem schiet PKW 2x im Jahr den Button setzen muss nervt!

Das ein E-Herd von 1988 bei "Aus" auch ausgeschaltet war und man das 
Ceranfeld putzen konnte ohne angepiept zu werden war Standard, heute 
spielt beim Putzen sogar der Herd verrückt, die Touchfelder bekommen 
Panik, aber auch wenn man mal was ablegt obwohl das Bedienfeld 
ausgeschaltet meint.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Joachim B. schrieb:
> Auch mein redmi hat mir ein Zwangsupdate verpasst mit der Folge das es
> nicht mehr so arbeitet wie am Kauftag, das Spiel kennt man doch schon
> seit windows.

Ich kann mit dir mitfühlen.

Unser Fernseher hatte von Anfang an Probleme mit den Bluetooth 
Lautsprechern. Wir mussten den Verbindungsaufbau immer manuell starten. 
Analoger Ausgang leider nicht vorhanden, nicht einmal eine 
Kopfhörerbuchse (WTF?).

Nach dem Firmware Update ist es schlimmer geworden. Jetzt müssen wir die 
Verbindung immer zweimal manuell starten, denn die erste wird immer 
sofort automatisch getrennt.

Leider gibt es keinen Weg zurück. Den hat Samsung nicht vorgesehen.

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> Er hat weder die Aufgabenstellung noch den Zustandsautomaten verstanden.

Das ist wohl sicher.

> Ich muss zugeben, dass das Konzept (Multitasking mit Zustandsautomaten)
> auf den ersten Blick abwegig komplex erscheint. Ich kann verstehen, dass
> man das als Anfänger lieber alles irgendwie mit Interrupts lösen will.

Häh? Das eine hat mit dem anderen rein garnichts zu schaffen. Man kann 
Zustandsautomaten in ISRs abhandeln oder durch blödes Polling in main() 
oder auch durch irgendwelche Tasks in einem OS.

Die effizenteste Lösung ist aber mit an Sicherheit grenzender 
Wahrscheinlichkeit niemals die mit den Tasks...

> Aber damit landet man ganz schnell in einer Sackgasse voller
> Einschränkungen und unerwarteter Seiteneffekte.

Wenn man Interrupts niemals richtig verstanden hat, dann ist das so, ja. 
Dann fällt man aber auch mit Tasks in einem OS voll auf die Schnauze, 
denn die müssen synchronisiert werden. Das birgt mindestens so viele 
Gefahren wie die ISRs, wenn nicht noch mehr...

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
Noch kein Account? Hier anmelden.