INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
4 Anzeigen mit unterschiedlichen zufälligen Zahlen
09.02.2016, 03:15
Beitrag #1
4 Anzeigen mit unterschiedlichen zufälligen Zahlen
Guten Abend.

Ich zerbreche mit zurzeit den Kopf an einer wahrscheinlich gar nichtmal so schwierigen Aufgabe.

Und zwar;
-Ich habe 4 Lcd-Anzeigen
-jeder Anzeige ist eine Variable von T1 bis T4 zugeordnet
-Jede Anzeige soll einen Wert von 1 bis 4 anzeigen
-Jede Anzeige soll was anderes anzeigen als die anderen (keine doppelt vorkommenden)

habe da schon ein bisschen rumprobiert aber noch keine funktionsfähige lösung gefunden.

Hier mal mein aktueller Versuch:
Code:
T1=random(1,4);
    T2=random(1,4);
    if(T1==T2){
      T2=random(1,4);
    }
    T3=random(1,4);
    if(T3==T1||T2){
      T3=random(1,4);
    }

da hab ich aber aktuell das Problem das der angezeigte Wert immer 2 oder 3 ist und das T1 zwar nicht =T2 ist und T3 nicht =T2 aber das T1=T3 ist.

Hatte es auch schon mit
Code:
T1=random(1,4);
    T2=random(1,4);
    while(T1==T2){
      T2=random(1,4);
    }
    T3=random(1,4);
    while(T3==T1||T2){
      T3=random(1,4);
    }
ausprobiert, aber auch ohne Erfolg.

Wenn jemand eine Lösung zu dem Problem hat oder mir sagen kann was ich falsch mache wäre ich sehr froh drüber.

Danke im voraus.
Gruß Gravia
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2016, 09:25
Beitrag #2
RE: 4 Anzeigen mit unterschiedlichen zufälligen Zahlen
Moin,
nun das dumme an diesen digitalen Systemen ist das sie sich nie verzählen...
aber um die Zufallszahlen etwas aufzuschütteln gibt es die Funktion randomSeed(). Wie man dort in dem Beispiel nachlesen kann wird zum mischen der Wert eines offenen Analogeinganges herangezogen der ja bekanntlich am floaten ist. Eine weitere Option wäre es den Wert eines Timers auszulesen und in die Berechnung einfliesen zu lassen. Den Registernamen müßte ich allerdings auch erst mal nachsehen....aber das geht auf jeden Fall.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2016, 11:17
Beitrag #3
RE: 4 Anzeigen mit unterschiedlichen zufälligen Zahlen
Moin.
Danke erstmal fürs so schnelle antworten.
Habe den randomSeed-Befehl mal eingebunden und aus random(1,4); mal random(1,5) gemacht weil ich beim testen gemerkt habe das ich nie die 4 angezeigt bekomme.

Der Code sieht zur Zeit wie folgt aus:
Code:
void setup()
{
  randomSeed(analogRead(0));
  pinMode(7,INPUT);
  pinMode(2,INPUT);
  pinMode(3,INPUT);
  pinMode(5,INPUT);
  lcd.begin(16, 2);
}
void loop(){
  int g=0;
  while(g==0){
    D1=random(1,5);
    T1=random(1,5);
    T2=random(1,5);
    if(T1==T2){
      T2=random(1,5);
    }
    T3=random(1,5);
    if(T3==T1||T2){
      T3=random(1,5);
    }
    lcd.clear();
    lcd.setCursor(5,0);
    lcd.print(D1);
    lcd.setCursor(3,1);
    lcd.print(T1);
    lcd.setCursor(7,1);
    lcd.print(T2);
    lcd.setCursor(10,1);
    lcd.print(T3);
    lcd.setCursor(14,1);
    lcd.print(T4);
Also das die Zahlen 1-4 angezeigt werden klappt soweit , habe aber immer noch das Problem das T1=T3 sein kann und wie ich grad auch gesehen habe T2=T3oderT1,sprich dass das was ich mir da einfallen lassen habe um dies zu verhindern anscheinend gar nicht funktioniert.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2016, 18:22
Beitrag #4
RE: 4 Anzeigen mit unterschiedlichen zufälligen Zahlen
Hallo,
du vergleichst T3 so:
Code:
if(T3==T1||T2)

Versuche es mal mit:
Code:
if(T3==T1 || T3==T2)

Gruß
Torsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.02.2016, 06:05
Beitrag #5
RE: 4 Anzeigen mit unterschiedlichen zufälligen Zahlen
ok habe es mal ausprobiert und nochmals die if-schleife in eine while-schleife geändert.

Code:
void loop(){
  int g=0;
  while(g==0){
    D1=random(1,5);
    T1=random(1,5);
    T2=random(1,5);
    while(T1==T2){
      T2=random(1,5);
    }
    T3=random(1,5);
    while(T3==T1 || T3==T2){
      T3=random(1,5);
    }
    T4=random(1,5);
    while(T4==T3 || T4==T2 || T4==T1){
      T4=random(1,5);
    }
    lcd.clear();
    lcd.setCursor(5,0);
    lcd.print(D1);
    lcd.setCursor(3,1);
    lcd.print(T1);
    lcd.setCursor(7,1);
    lcd.print(T2);
    lcd.setCursor(10,1);
    lcd.print(T3);
    lcd.setCursor(14,1);
    lcd.print(T4);

und so funktioniert es.

Ich bedanke mich bei euch für eure Hilfe.
Gruß Gravia
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem mit Division zweier Zahlen torsten_156 3 455 18.12.2015 22:09
Letzter Beitrag: Bitklopfer
  Div. Modi mit unterschiedlichen PWM Robbie01011987 3 590 13.10.2015 22:13
Letzter Beitrag: Bitklopfer
  Temperatur auf 3,2 Zoll TFT Anzeigen jgrothe 12 1.896 04.07.2015 17:06
Letzter Beitrag: jgrothe
  analogRead: Pin-Nummern zählen? HaWe 4 823 14.06.2015 12:01
Letzter Beitrag: HaWe
  Serial Monitor Zahlen Senden über 9 paq 7 2.014 18.05.2015 08:48
Letzter Beitrag: Scherheinz
  Messwerte anzeigen auf TFT Display sebdo 11 4.195 28.02.2015 12:23
Letzter Beitrag: sebdo
  LCD Zahlen Formatierung Kaito164 24 5.200 21.02.2015 13:23
Letzter Beitrag: Kaito164
  bild von sd karte auf tft anzeigen kerzerl 3 1.823 19.08.2014 18:10
Letzter Beitrag: Bitklopfer
  SerLCD Float Werte anzeigen bquiet 3 1.682 17.08.2014 19:25
Letzter Beitrag: bquiet
  Zahlenwerte mit Drehknopf einstellen und auf Display anzeigen Cray-1 12 3.231 10.08.2014 08:01
Letzter Beitrag: Bitklopfer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste