Skocz do zawartości

Kurs Arduino - #10 - wykresy, liczby losowe, warunki cd.


Pomocna odpowiedź

10.3 Zadanie

#define Switch 13

void setup() {
  Serial.begin(9600); //Transmission speed setting
  randomSeed(analogRead(A0)); //Beginning random number
  pinMode(Switch, INPUT_PULLUP);
  Serial.println("Start"); //Text display
}

void loop() {
  if(digitalRead(Switch) == LOW) { //When switch is press
  Serial.println(random(1, 7)); //Random number from 1-6 range
  delay(500); //Wait 0.5 sec before next dice roll
  }
}

 

  • Lubię! 1
  • 3 tygodnie później...
10.4
  
long Value; //Define variable 

void setup() {
  Serial.begin(9600); //UART communication speed
}
 
void loop() {
  Value = random(101); //Value range from 0 - 100
  
  Serial.println(Value); //Value display
  delay(2000); //Wait a moment
  
  if(Value < 10 || Value > 90) { //If value is less than 10 and more than 90
    Serial.println("Condition1 yes"); //Result display
  } else {
    Serial.println("Condition1 not"); //Result display
  }
  delay(2000); //Wait a moment
  if(Value > 50 && Value < 70 || Value > 85 ) { //If value is more than 50 and less than 70 or more than 85
    Serial.println("Condition2 yes"); //Result display
  } else {
    Serial.println("Condition2 not"); //Result display
  }
  delay(2000); //Wait a moment
  if(Value == 50 || Value == 40 || Value == 30 || Value == 20) { //If value is equal 50, 40, 30 or 20
    Serial.println("Condition3 yes"); //Result display
  } else {
    Serial.println("Condition3 not"); //Result display
  }
  delay(2000); //Wait a moment
  if(Value > 10 && Value < 40 || Value > 60 && Value < 100) { //If value is between 10 - 40 or 60 - 100
    Serial.println("Condition4 yes"); //Result display
  } else {
    Serial.println("Condition4 not"); //Result display
  }
  delay(2000); //Wait a moment
}

 

  • Lubię! 1
  • 5 miesiące później...

10.3

#define przycisk 4 //definicja przycisku na wPinie 4
bool klikniecie = false;

void setup() {
Serial.begin(9600);
randomSeed(analogRead(A0)); // random seed pobrana z szumu nie podłączonego A0
pinMode(przycisk,INPUT_PULLUP);
Serial.println("Naciśnij przycisk żeby wylosować liczbe od 1 do 6");
}

void loop() {
int aktualnystan = digitalRead(przycisk); // aktualny stan = stan przycisku
if (aktualnystan == LOW && klikniecie == false){ // jeżeli  przycisk jest wcisniety i klikniecie = false
Serial.println(random(1,7)); // napisz losową liczbe 1 do 6
delay(500);
klikniecie = true; // zmiana kliniecie na true w celu zapobiegniecia wysylania kolejnych liczb w razie trzymania przycisku

}

if (aktualnystan == HIGH){ // jeżeli przycisk zostal puszczony
klikniecie = false; // klikniecie wraca do false
delay(50);
}
}

 

Dorzucam pracę 10.4 w moim wykonaniu


#define przycisk 4 //definicja przycisku na wPinie 4
bool klikniecie = false;
int WartoscRandom; // zapisanie wylosowanej liczby

void setup() {
Serial.begin(9600);
randomSeed(analogRead(A0)); // random seed pobrana z szumu nie podłączonego A0
pinMode(przycisk,INPUT_PULLUP);
Serial.println("Naciśnij przycisk żeby wylosować liczbe od 1 do 100");
}

void loop() {
int aktualnystan = digitalRead(przycisk); // aktualny stan = stan przycisku
if (aktualnystan == LOW && klikniecie == false){ // jeżeli  przycisk jest wcisniety i klikniecie = false
WartoscRandom = random(1, 101); // wylosuj liczbe i ją zapisz w zmiennej WartoscRandom
Serial.println(WartoscRandom); // napisz losową liczbe 0 do 100
delay(500);
klikniecie = true; // zmiana kliniecie na true w celu zapobiegniecia wysylania kolejnych liczb w razie trzymania przycisku



if (WartoscRandom < 10 || WartoscRandom > 90){ // jeżeli wylosowana liczba jest mniejsza niz 10 lub wieksza od 90
Serial.println("Warunek 1 spełniony");
}
if (WartoscRandom > 50 && WartoscRandom < 70 || WartoscRandom > 85) { // jeżeli wylosowana liczba jest wieksza od 50 ale zarazem wieksza niz 70 i mniejsza niz 85
Serial.println("Warunek 2 spełniony");
}
if (WartoscRandom == 50 || WartoscRandom == 40 || WartoscRandom == 30 || WartoscRandom == 20 ) { // jeżeli wylosowana liczba jest równa 50, 40 , 30 lub 20
Serial.println("Warunek 3 spełniony");
}
if (WartoscRandom > 10 && WartoscRandom < 40 || WartoscRandom > 60 && WartoscRandom < 100 ) { // jeżeli wylosowana liczba mieści się w zakresie od 10 do 40 lub od 60 do 100
Serial.println("Warunek 4 spełniony");
}}

if (aktualnystan == HIGH){ // jeżeli przycisk zostal puszczony
klikniecie = false; // klikniecie wraca do false
delay(50);
}}

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...