Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Binär Ausgabe mit 3 LED und Attiny13

Basteleien analog und digital mit Strom und Spannung.

Moderator: radioscout

Uranus
Geocacher
Beiträge: 18
Registriert: Fr 6. Dez 2013, 18:13

Binär Ausgabe mit 3 LED und Attiny13

Beitrag von Uranus » Fr 6. Dez 2013, 18:26

Moin moin erstmal :-)

Nachdem Ich festgestellt hab das die Koords klein sind und eine passende Station gefunden wurde, passt Binär am Besten.

Zur Verfügung stehen 3 Led und ein ATTiny13.

Ausgelöst werden soll über Taster (Schließer).

Es müssen also mal 1 Led Leuchten mal 2 usw.

Hab jetzt das Forum durchgelesen aber nix Passendes gefunden, Upigors hab Ich auch schon um Rat gebeten, ein Script wie das 7 Segment scheint zwar Logisch...aber Ich schau da abzulut nicht durch .

Weiß da einer Abhilfe oder hat ein Passendes Script was ich anpassen kann?

Werbung:
Benutzeravatar
l3berwurst
Geomaster
Beiträge: 388
Registriert: Mi 15. Aug 2012, 12:26

Re: AW: Binär Ausgabe mit 3 LED und Attiny13

Beitrag von l3berwurst » Fr 6. Dez 2013, 21:02

Ich kenn das Script nicht, aber such doch den Befehl, welcher die Taste abfragt. Passiert aber wahrscheinlich als Interruppt. Dann brauchst Du das nicht.

Danach den Befehl um die Ports an und auszuschalten...
Einen Pausenbefehl..
Der Rest ist Copy und Paste.

Uranus
Geocacher
Beiträge: 18
Registriert: Fr 6. Dez 2013, 18:13

Re: Binär Ausgabe mit 3 LED und Attiny13

Beitrag von Uranus » Fr 6. Dez 2013, 21:28

Genau daran liegt ja das Problem, hab gerade erst damit angefangen. Den Programmer hab ich selbst gelötet, USP-ISP Verbindung unter WIn8 läuft auch. Das erste was Ich hinbekommen hab war ein Morse Code, der Funzt auch einwandfrei. Nur jetzt solls Kniffiliger werden- und beim Programmieren stopt es gerade :-)

Benutzeravatar
l3berwurst
Geomaster
Beiträge: 388
Registriert: Mi 15. Aug 2012, 12:26

Re: AW: Binär Ausgabe mit 3 LED und Attiny13

Beitrag von l3berwurst » Fr 6. Dez 2013, 21:49

Morse hat doch alles was du brauchst.
Leds ansteuern und Verzögerungen.
Musst nur die Ports abändern und anstatt eine Led mehrere Gleichzeitig ein und ausschalten.

Machst du in C oder Bascom?

Uranus
Geocacher
Beiträge: 18
Registriert: Fr 6. Dez 2013, 18:13

Re: Binär Ausgabe mit 3 LED und Attiny13

Beitrag von Uranus » Fr 6. Dez 2013, 22:13

Aber wie ändere ich die Ports bzw wie bringe ich sie dazu das mal 2 LED leuchten , mal 3 usw ?

bascom

Benutzeravatar
l3berwurst
Geomaster
Beiträge: 388
Registriert: Mi 15. Aug 2012, 12:26

Re: Binär Ausgabe mit 3 LED und Attiny13

Beitrag von l3berwurst » Fr 6. Dez 2013, 23:01

Ich mach eigentlich in C.
In Bascom wird es wohl so aussehen.
Über den Schalter kannst Du der Einfachheit halber die Versorgungsspannung laufen lassen.
Dann hast Du nix mit Sleepmodes zu tun und sparst auf einfachste Weise Strom.
Es geht aber auch eleganter.

Einfach die nachfolgenden Codeschnipsel so kopieren wie Du sie brauchst.

4 LEDs an und ausschalten lassen:
$regfile = "ATtiny13.DAT"
$crystal =128000 'Hier Frequenz aus Fusebits angeben
Config Portb = &B00001111 'Pinb.0...3 Ausgang Rest Eingang Zählweise:0 ist hinten
Waitms 50 'Warte xxx Millisekunden
Do
Portb.0 = 1 'LED an Port b.x AN
Portb.1 = 1 'LED an Port b.x AN
Portb.2 = 1 'LED an Port b.x AN
Portb.3 = 1 'LED an Port b.x AN
Waitms 900 'Warte xxx Millisekunden
Portb.0 = 0 'LED an Port b.x AUS
Portb.1 = 0 'LED an Port b.x AUS
Portb.2 = 0 'LED an Port b.x AUS
Portb.3 = 0 'LED an Port b.x AUS
Waitms 500 'Warte xxx Millisekunden
Loop


google mal
mikrocontroller attiny13 bascom
Oder lade Dir das Reaktivlichtkochbuch runter.
Das ist auch Bascom.

Benutzeravatar
l3berwurst
Geomaster
Beiträge: 388
Registriert: Mi 15. Aug 2012, 12:26

Re: Binär Ausgabe mit 3 LED und Attiny13

Beitrag von l3berwurst » Fr 6. Dez 2013, 23:18

Es wäre außerdem schlau, die LEDs einzeln, aber so schnell hintereinander zu schalten, dass es aber so aussieht als wären alle gleichzeitig an.
Das würde noch einmal 3/4 Strom sparen und der Attiny wird nicht überlastet.

etwa so:

Do
For A = 1 To 500 'Teil bis Zeile Next A 500 mal wiederholen
Portb.0 = 1 'LED an Port b.x AN
Waitms 2 'warte xxx Millisekunden
Portb.0 = 0 'LED an Port b.x AUS
Portb.1 = 1 'LED an Port b.x AN
Waitms 2 'warte xxx Millisekunden
Portb.1 = 0 'LED an Port b.x AUS
Portb.2 = 1 'LED an Port b.x AN
Waitms 2 'warte xxx Millisekunden
Portb.2=0 'LED an Port b.x AUS
Portb.3= 1 'LED an Port b.x AN
Waitms 2 'warte xxx Millisekunden
Portb.3 = 0 'LED an Port b.x AUS
Next A 'zurück zu For schleife Anfang bis xxx mal wiederholt

Waitms 600 'warte xxx Millisekunden
Loop

TeamAdolzfurt
Geomaster
Beiträge: 915
Registriert: Fr 25. Jun 2010, 13:13

Re: Binär Ausgabe mit 3 LED und Attiny13

Beitrag von TeamAdolzfurt » Sa 7. Dez 2013, 07:10

Machs nicht so kompliziert. Moderne (helle) LED sind mit 1mA mehr als deutlich zu sehen (Vorwiderstand anpassen, 1k geht problemlos). Der Tiny kann 40mA pro Port, keinerlei Problem. Batterielebensdauer ist auch kein Problem, der Energieverbrauch ist zu vernachlässigen (das sind ein paar Sekunden am Tag, wenn überhaupt)

Uranus
Geocacher
Beiträge: 18
Registriert: Fr 6. Dez 2013, 18:13

Re: Binär Ausgabe mit 3 LED und Attiny13

Beitrag von Uranus » Sa 7. Dez 2013, 14:21

Aber wie bringe ich sie dazu gleichzeitig an zu gehen?

An PP0 soll LED1, an PB1 LED 2 , an PB2 LED 3,

Der Taster an PB4, kann Ich den ohne weiters gegen Masse Schalten?

Benutzeravatar
l3berwurst
Geomaster
Beiträge: 388
Registriert: Mi 15. Aug 2012, 12:26

Re: AW: Binär Ausgabe mit 3 LED und Attiny13

Beitrag von l3berwurst » Sa 7. Dez 2013, 16:39

In der Zeile oben
Config Portb =&00001111
Ist definiert worden, dass port 4 eij eingang ist. Da muss ein Plus drauf, damit der attiny das erkennt.

Um das abzufragen brauchst Du eine IF Abfrage.

If Portb.4 = 1 Then
Portb.3=1
Else
Portb.3=0
End if

Ich lerne noch Bascom. Ihhh :grin:

Lass über den Schalter die Versorgungsspannung zum Chip auf den VCC Pin laufen. Du schaltest den dann einfach nur ein und er rennt los.
Sonst brauchst Du den Schlafmodus, weil der Attiny nicht abschalten würde.
Die If Abfrage brauchst Du dann auch nicht.

Antworten