GeiMüZbaum

Begonnen von opengeiger.de, 23. Dezember 2023, 07:45

⏪ vorheriges - nächstes ⏩

opengeiger.de

Nach monatelanger Forschung ist er gerade noch rechtzeitig fertig geworden: Der GeiMüZbaum ! :yahoo:

Sie dürfen in diesem Board keine Dateianhänge sehen.

In Aktion ist er im angehängten und gezipten Video zu sehen.
Also fürs Fest mit Gästen würde ich den Piezo ausstecken und die Speed vielleicht auf 1cps runterdrehen.  :D
(Im Video sinds 5cps).

Unten der Code für den Arduino Uno. Die LEDs sind normale weiße LEDs mit 390ohm Vorwiderstand. Der Piezo ist einer mit Elektronik, also ein Beeper den man man nur auf 5V legen muss (Euklit 773). :-* 

Frohe Weihnachten und dass im nächsten Jahr viele tolle Wünsche und Ideen wahr werden und die Zählrate überschaubar bleibt! Grüße Bernd   

void setup() {
  Serial.begin(9600);
  pinMode(5,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(13,OUTPUT);
  digitalWrite(5, LOW);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(13, HIGH);
}

void loop() {
  long i;
  int offTime=100;

  //
  double lambda = 0.005; //5cps
  //double lambda = 0.001; //1cps
  unsigned long rnl = random(16777216);
  double rnd = rnl/16777215.00;
  int negEx = round(-log(1-rnd)/lambda);
  delay(negEx);

  i=random(7);
  switch (i) {
    case 0:
      digitalWrite(7, LOW);
      delay(offTime);
      digitalWrite(7, HIGH);
     break;
    case 1:
      digitalWrite(8, LOW);
      delay(offTime);
      digitalWrite(8, HIGH);
      break;
    case 2:
      digitalWrite(9, LOW);
      delay(offTime);
      digitalWrite(9, HIGH);
      break;
    case 3:
      digitalWrite(10, LOW);
      delay(offTime);
      digitalWrite(10, HIGH);
      break;
    case 4:
      digitalWrite(11, LOW);
      delay(offTime);
      digitalWrite(11, HIGH);
      break;
    case 5:
      digitalWrite(12, LOW);
      delay(offTime);
      digitalWrite(12, HIGH);
      break;
    case 6:
      digitalWrite(13, LOW);
      delay(offTime);
      digitalWrite(13, HIGH);
      break;
    default:
      break;
  }
  //Ton
  digitalWrite(5, HIGH);
  delay(20);
  digitalWrite(5, LOW);
}