Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję
Odbierz rabat na filament!

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

Autor Wiadomość
thequeash 



Posty: 22
Otrzymał 1 piw(a)
Wysłany: 11-09-2017, 20:57   

Zad 10.4

Kod programu: Zaznacz cały

int wylosowanaliczba;

void setup() {
  pinMode(12, OUTPUT);
  pinMode(9, INPUT);
  Serial.begin(9600);
  randomSeed (analogRead(A5));
}

void loop() {
  wylosowanaliczba = random(0, 101);

  Serial.print("Wylosowana liczba: ");
  Serial.println(wylosowanaliczba);
  Serial.print("Czy liczba jest mniejsza od 10 lub wieksza od 90? ");
  Serial.println(odpowiedz1());
  Serial.print("Czy liczba jest wieksza od 50, ale nie jest z przedzialu <70;85>? ");
  Serial.println(odpowiedz2());
  Serial.print("Czy liczba jest rowna 20, 30, 40 lub 50? ");
  Serial.println(odpowiedz3());
  Serial.print("Czy liczba miesci sie w przedziale <10;40> lub <60;100>? ");
  Serial.println(odpowiedz4());
  Serial.println();
  Serial.println();
  delay(1000);
}

String odpowiedz1 () {
  if (wylosowanaliczba < 10 || wylosowanaliczba > 90) {
    return ("TAK");
  }
  else return ("NIE");
}


String odpowiedz2() {
  if (wylosowanaliczba > 50) {
    if (wylosowanaliczba >= 70 && wylosowanaliczba <= 85) {
      return ("NIE");
    }
    return ("TAK");
  }
  else return ("NIE");
}


String odpowiedz3() {
  if (wylosowanaliczba == 20 || wylosowanaliczba == 30 || wylosowanaliczba == 40 || wylosowanaliczba == 50) {
    return ("TAK");
  }
  else return ("NIE");
}


String odpowiedz4() {
  if ((wylosowanaliczba >= 10 && wylosowanaliczba <= 40) || (wylosowanaliczba >= 60 && wylosowanaliczba <= 100)) {
    return ("TAK");
  }
  else return ("NIE");
}




EDIT.
1 PYTANIE:
A propos wykresów! Te wbudowane w arduino IDE są okropne, nie pozwalają na jakiekolwiek skalowanie według własnych preferencji, zatrzymanie, dokładniejsze przeanalizowanie co do wartości, największej i najmniejszej wartości itd. itd. itd. Długo by wymieniać. Czy jest jakiś inny sposób na rysowanie wykresów?

2 PYTANIE:
Czy jest możliwość, aby np. moje arduino zbierało sobie załóżmy dane przez jakiś dłuższy czas i przechowywało je gdzieś w jakiejś pamięci nawet po wyłączeniu?

3 PYTANIE:
Prosty przykład: Zbieram przez całą noc dane dot. temperatury otoczenia. W jaki sposób mogę sprawić, aby moje arduino wysłało mi najwyższą wartość ze wszystkich jakie były do tej pory? Analogicznie również najmniejszą.

Z góry dziękuję za odpowiedzi i za cały kurs. Dzięki wam już nie mam wątpliwości co studiować! :mrgreen:

Ostatnio zmieniony przez thequeash 11-09-2017, 21:16, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 7733
Pomógł: 116 razy
Otrzymał 499 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 14-09-2017, 09:36   

thequeash napisał/a:
A propos wykresów! Te wbudowane w arduino IDE są okropne, nie pozwalają na jakiekolwiek skalowanie według własnych preferencji, zatrzymanie, dokładniejsze przeanalizowanie co do wartości, największej i najmniejszej wartości itd. itd. itd. Długo by wymieniać. Czy jest jakiś inny sposób na rysowanie wykresów?


Hmm, powiem tak, ja się cieszę, że taka możliwość w ogóle istnieje ;) Te wykresy z założenia mają być prostą wizualizacją danych. Nie należy ich porównywać do żadnych rozbudowanych aplikacji. Jeśli zależy Ci na szczegółach, to najlepiej wysyłać przez UART dane w formie tekstowej, a następnie wciągnąć je do Excela lub Matlaba. Możesz też zainteresować się programem Processing: https://www.arduino.cc/en/Tutorial/Graph Przykład jego wykorzystania był też pokazny na Forbocie: Pierwsze starcie z Genuino 101 – wizualizacja położenia

thequeash napisał/a:
Czy jest możliwość, aby np. moje arduino zbierało sobie załóżmy dane przez jakiś dłuższy czas i przechowywało je gdzieś w jakiejś pamięci nawet po wyłączeniu?


Zainteresuje się tematem podłączania kart SD - są do tego gotowe biblioteki :)

thequeash napisał/a:
Prosty przykład: Zbieram przez całą noc dane dot. temperatury otoczenia. W jaki sposób mogę sprawić, aby moje arduino wysłało mi najwyższą wartość ze wszystkich jakie były do tej pory? Analogicznie również najmniejszą.


Informacje na ten temat znajdziesz w kursie Arduino, poziom II: Kurs Arduino II – #7 – termometry analogowe i cyfrowe. Jest tam dokładnie taki przykład.

Powodzenia w dalszej nauce!


Zachęcam do korzystania z forum - nie pomagam indywidualnie przez PW/maila.
Sprawdź » Kurs ARDUINOKurs podstaw elektronikiZbuduj swojego robota - kurs!
Postaw piwo autorowi tego posta
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Wersja do druku

Skocz do:  

Nie rozwiązałeś swojego problemu? Zobacz podobne tematy: Kurs Arduino - #8 - ... Kurs STM32 - #3 - Pł... Kurs STM32 - #4 - St... Kurs STM32 - #2 - Po...
lub przeszukaj forum po wybranych tagach: artykul, elektronika, poradnik, robotyka


Powered by phpBB modified by Przemo © 2003 phpBB Group
Popularne kursy: Arduinopodstawy elektroniki