Zufallsgenerator mit 7-Segment

OP #5296354
Lesenswert?

Hey Leute,
ich bräuchte von euch mal ein bischen Hilfe.

Ich möchte gerne eine Schaltung Aufbauen bei dem ich mit 7-Segment 
Anzeigen  eine Zahl (1-40) ODER (A-D, +  1-10) per "Zufall" generieren 
kann die jedoch dann bei dem nächten Zufall herausfällt, bis es keine 
Möglichkeit mehr gibt.
Es sollte ein Start/Stop funktion des Generators geben und einen 
kompletten Rest der Möglichkeiten.

Wie schwer wird sich so ein Projekt gestalten? Mit Micocontrollern habe 
ich noch nichts gemacht, daher bin ich mir bis jetzt noch sehr unsicher 
welche Hardware ich benötige um mich auch dementsprechend ein zu lesen.
Bzw muss ich mir selbst etwas programmieren bzgl der 
Auswahlmöglichkeiten des Generators?
#5296396
Lesenswert?

Dirk B. schrieb:
> Wie schwer wird sich so ein Projekt gestalten? Mit Micocontrollern habe
> ich noch nichts gemacht,

Ohne Microcontroller ziemlich aufwändig, mit Arduino simpel:
1
bool pressed,down;
2
char used[40];
3
char free;
4
char choosen;
5
char segment7[]={0xBF,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x7F,0x6F,0x77,0x7C,0x39,0x5E};
6
// PortD.7 = Pin7 geht auf 1 um 1 von 10 darzustellen, sonst aus
7

8
void setup() 
9
{
10
  for(free=0;free<40;free++) used[free]=free;
11
  DDRC = 0xFF;
12
  DDRD = 0xFF;
13
  choosen=0;
14
}
15

16
void loop()
17
{
18
  pressed = DigitalRead(10); // Taster an Pin 10 nach VCC, 10k an GND
19
  if(free>0&&pressed&&!down)
20
  {
21
    PORTC=segment7[used[choosen]/10+10];  // 7 Segment für A..D an PortC
22
    PORTD=segment7[used[choosen]%10]; // 7 Segment für 10,1..9 an PortD
23
    used[choosen]=used[free-1];
24
    free--;
25
  }
26
  down=pressed
27
  delay(5);
28
  choosen++;
29
  if(choosen>=free) choosen=0;
30
}
#5297067
Lesenswert?

Dirk B. schrieb:
> Würde dann ein Arduino Board UNO 65139 ATMega328 dafür ausreichen?

Locker.
Der rechnet währenddessen noch die Lottozahlen von nächster Woche aus.

Aber: Offiziell hat der Uno nur 12 nutzbare Digitalausgänge. Daß man 
auch die Analogeingänge als Digitalausgang schalten kann, findet man 
nicht auf Anhieb. Sie heissen A0 bis A5 oder A7. Dann reichen die 
Anschlüsse um ohne weitere ICs die Anzeigen zu steuern.
Gast #5297243
Lesenswert?

Michael B. schrieb:
> Aber: Offiziell hat der Uno nur 12 nutzbare Digitalausgänge.

7 x 2 = 9 Ausgänge, wenn man Multiplex macht, bei zwei Anzeigen kein 
großes Ding.

> Daß man auch die Analogeingänge als Digitalausgang schalten kann, findet man
> nicht auf Anhieb. Sie heissen A0 bis A5 oder A7.

Stimmt, A0..A5 werden dann als 14..19 angesprochen.

Nach den mir vorliegenden Informationen können A6 und A7 nicht digital 
verwendet werden, egal, da beim Uno eh nicht herausgeführt.
Gast #5297728
Lesenswert?

Route 6. schrieb:
> Manfred schrieb:
>> 7 x 2 = 9 Ausgänge, wenn man Multiplex macht, bei zwei Anzeigen kein
>> großes Ding.
>
> Damit kann man auch 4 stellig 7-Segment-Anzeigen steuern.
> Für zwei Stellen genügen 8 Ausgänge. Denn ein Bit genügt, um zwischen
> Einer- und Zehnerstelle zu wechseln.

Oder man besorgt sich eines der günstigen 7-Segment Anzeigen auf Basis 
eines...

MAX7221: 
https://www.amazon.de/Digitales-segment-Display-MAX7219-Raspberry/dp/B01MXQ4WJL/ref=sr_1_1?ie=UTF8&qid=1517301021&sr=8-1&keywords=max7221+arduino

oder eines TM1671: 
https://www.ebay.de/itm/LED-TM1637-4-Digit-Ziffern-7-Segment-Display-Modul-Arduino-Raspberry-Pi-rot-A/252799083792?hash=item3adbffe510:g:KykAAOSwm3paD2YO

oder eines HT1621: 
http://www.ebay.de/itm/LCD-Module-6-Bit-8-Segment-3-wires-SPI-HT1621-Module-Character-LCD-for-Arduino-D/391868765851?hash=item5b3d32d69b:g:Ug4AAOSw7cxZmp86

Die brauchen deutlich weniger Pins
Gast #5297758
Lesenswert?

Jack schrieb:
> Reiner_Gast schrieb:
>> oder eines TM1671:
>> Ebay-Artikel Nr. 252799083792
>
> Für ein bisschen mehr Spaß würde ich ein TM1671 Board mit zusätzlichen
> Tastern nehmen: Ebay-Artikel Nr. 173018613822
>
> Damit hat man auch die Start/Stop Taste für den Generator.

Das stimmt... das habe ich zuhause auch im Einsatz.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren