Pollin Würfel

Hi Leute,

ich habe mir mal so einen Würfelgenerator von Pollin zugelegt. Damit wollte ich mich auch ein wenig die Programmierung eines ATtiny einarbeiten. Zuvor wollte ich das im Tiny13 abgelegte Programm speichern. Gedacht getan…. Tiny auslesen, löschen und wollte dann selber testen und lernen. Auch aus Zeitgründen kam ich nur bis zum Löschen. Dann wollte ich das ausgelesene Prog wieder rein geschrieben.

Der Würfel funktionierte nicht mehr….

Was ich nicht bedacht hatte, das Prog war vor einem Auslesen geschützt. Auf diese Art und Weise war ich dann doch gezwungen, mich etwas einzuarbeiten und selbst ein kleines Würfelprogramm zu entwickeln.

Nun, das habe ich getan und möchte es hier der Allgemeinheit zur Verfügung stellen.

##   main.c   #######################################

 

// Für Pollin-Würfel mit ATtiny13
// PB1 = L1 + L6
// PB2 = L2 + L5
// PB3 = L3 + L4
// PB4 = L7
// PB* = 1, led an
// taster nach +5V an PB0
// bernd, dh4bm

#include
#include

int main(void)
{
int i=7;
DDRB |= _BV(PB1);                    // Datenrichtungsregister PB1
DDRB |= _BV(PB2);                    // Datenrichtungsregister PB2
DDRB |= _BV(PB3);                    // Datenrichtungsregister PB3
DDRB |= _BV(PB4);                    // Datenrichtungsregister PB4
// als Ausgang setzen
DDRB &= ~_BV(PB0);                // Eingang PB0

while (1) {
if (bit_is_set(PINB,0))              // taste gedrueckt ?
{i=rand() % 6 + 1;                 // neue zufallszahl zwischen 1 und 6 erzeugen
if (i==1)
{PORTB &= ~_BV(PB1);    // aus
PORTB &= ~_BV(PB2);    // aus
PORTB &= ~_BV(PB3);    // aus
PORTB |= _BV(PB4);}       // an
if (i==2)
{PORTB &= ~_BV(PB2);
PORTB &= ~_BV(PB3);
PORTB &= ~_BV(PB4);
PORTB |= _BV(PB1);}
if (i==3)
{PORTB &= ~_BV(PB2);
PORTB &= ~_BV(PB3);
PORTB |= _BV(PB1);
PORTB |= _BV(PB4);}
if (i==4)
{PORTB &= ~_BV(PB2);
PORTB &= ~_BV(PB4);
PORTB |= _BV(PB1);
PORTB |= _BV(PB3);}
if (i==5)
{PORTB &= ~_BV(PB2);
PORTB |= _BV(PB1);
PORTB |= _BV(PB3);
PORTB |= _BV(PB4);}
if (i==6)
{PORTB &= ~_BV(PB4);
PORTB |= _BV(PB1);
PORTB |= _BV(PB2);
PORTB |= _BV(PB3);}
}
}
return(0);
}

Das ist sicher nicht das effektivste Programm, aber der Würfel spielt damit erst  mal wieder

Hier das Projekt zum Download

Pollin-Wuerfel

Nun, viel Erfolg damit

vy 55&73 de Bernd, DH4BM

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.