Forum: Mikrocontroller und Digitale Elektronik 2 Tasten Codeschloss


von Sarah P. (Gast)


Lesenswert?

Hallo ihr lieben,

ATMEGA 16 und sollte folgendes programmieren(in c):

* 4-Stelliges Codeschloss

* Taster0    0
  Taster1    1

* code[4]={1,0,0,1}   //möglicher Code

*Anzeige der Eingabe mit LED

* Wenn code richtig -> alle LEDs leuchten für 1s

*Timeout 5s -> wenn kein code eingegeben wird.


ich hoffe ihr könnt mir helfen.

schönen Abend
Sarah P.

von fragezeichen (Gast)


Lesenswert?

...und welchen Code/Überlegung/Anstrengung hast DU in dieser Sache schon 
vorangetrieben? -code[4]={1,0,0,1}   //möglicher Code???
Ich wünsche mir ein Pony. Wer schenkt mir eins?

von Sarah P. (Gast)


Lesenswert?

Entschuldige das ich gefragt habe ob mir jemand helfen kann. Ich suche 
hier Hilfe weil ich gerade erst angefangen habe in C zu programmieren. 
ich kann nur HTML, CSS, PHP, C++, ST.

von Sarah P. (Gast)


Lesenswert?

und ich habe gedacht man könnte es mit Switch probieren.
ISR ist selbstverständlich wegen den Timeout.

von Sarah P. (Gast)


Lesenswert?

fragezeichen schrieb:
> ...und welchen Code/Überlegung/Anstrengung hast DU in dieser Sache
> schon
> vorangetrieben? -code[4]={1,0,0,1}   //möglicher Code???
> Ich wünsche mir ein Pony. Wer schenkt mir eins?

und "code[4]={.....}  //möglicher Code"

ist MÖGLICHER CODE VOM SCHLOSS!!!

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Sarah P. schrieb:

> ich hoffe ihr könnt mir helfen.
>
> schönen Abend
> Sarah P.

Klar, zeig mal den Code, den du bisher hast, bzw. an welcher Stelle im 
Code Probleme auftreten. Oder sollen wir dir hier deine Hausaufgaben 
machen?

von Dennis S. (sixeck)


Lesenswert?

Wenn du schon keine Ahnung hast, warum dann kein Arduino ?
Der benutzt doch eine C++ Form...

von Sebastian V. (sebi_s)


Lesenswert?

Sarah P. schrieb:
> und ich habe gedacht man könnte es mit Switch probieren.

Ich weiß nicht was du da mit dem switch vor hast. Da du nur zwei Taster 
hast macht es Sinn dafür auch nur einzelne Bits zu verwenden. Bei einem 
Tastendruck shiftest du alle Bits eins weiter und fügst das gerade 
gedrückte hinzu. Wenn die ersten 4 Bits dann mit dem richtigen Code 
übereinstimmen hat jemand die richtige Kombination eingegeben.

von Georg (Gast)


Lesenswert?

Hallo,

das sind im wesentlichen 2 Teilaufgaben:

1. Bei Tastendruck Time Counter zurücksetzen, das Bitmuster nach links 
schieben und anzeigen, entweder eine 0 oder eine 1 anhängen, prüfen ob 
richtiges Bitmuster, wenn richtig alle LEDs ein.

2. Time Interrupt, in dem Time Counter hochgezählt wird, bei Erreichen 
von 5 sec oder von 1 sec bei richtigem Bitmuster das Bitmuster löschen, 
Time Counter auf Null setzen.

Georg

von Sarah P. (Gast)


Lesenswert?

Dennis S. schrieb:
> Wenn du schon keine Ahnung hast, warum dann kein Arduino ?
> Der benutzt doch eine C++ Form...

wir müssen für die Schule in C programmieren.


Daniel H. schrieb:
> Oder sollen wir dir hier deine Hausaufgaben
> machen?

nein eben nicht. aber ich habe das Problem selber lösen können. bin zwar 
sehr lange wach gewesen doch es läuft nun. :)

Danke für eure Hilfe
Sarah

von Max B. (theeye)


Lesenswert?

Sarah P. schrieb:
> Entschuldige das ich gefragt habe ob mir jemand helfen kann. Ich suche
> hier Hilfe weil ich gerade erst angefangen habe in C zu programmieren.
> ich kann nur HTML, CSS, PHP, C++, ST.

Dann erwarte ich (besonders, wenn du C++ kannst), dass du 
selbstständig die grundsätzlichen Dinge löst. Eingänge abfragen und 
Ausgänge schalten wird hier komplett abgearbeitet: [[Absolute 
Beginner-AVR Steckbrettprojekte]].

Und dann wäre der richtige Zeitpunkt gekommen um hier weiterzumachen.

Sarah P. schrieb:
> Daniel H. schrieb:
>> Oder sollen wir dir hier deine Hausaufgaben
>> machen?
>
> nein eben nicht. aber ich habe das Problem selber lösen können. bin zwar
> sehr lange wach gewesen doch es läuft nun. :)

Wie sieht dein Code denn nun aus?

Gruß Max

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.