Arduino Polska Forum
Sygnał losowy - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino)
+--- Wątek: Sygnał losowy (/watek-sygna%C5%82-losowy)



Sygnał losowy - apool1998 - 04-12-2016

Witam , chciałbym się dowiedzieć czy jest mozlwosc zaprogramowania tak arduino tak aby sygnał był rozsyłany do kilku odbiorników losowo. O co mi chodzi, o to aby była mozliwosci w odstępach czasowych wysyłać pojedynczy sygnał np. do silników. Mam taki plan , jako jestem bramkarzem piłki recznej aby, takie cos podłaczyc pod pewnego rodzaju wyrzutnie piłek tenisowych na róznych wysokosciach i w taki sposób cwiczyc refleks. Jeżeli miałby ktos jakis pomysł z góry Dziekuję


RE: Sygnał losowy - namok - 04-12-2016

Tak, arduino może to zrobić. Są odpowiednie funkcje.


RE: Sygnał losowy - apool1998 - 05-12-2016

(04-12-2016, 21:35)namok napisał(a): Tak, arduino może to zrobić. Są odpowiednie funkcje.

A moglbys bardziej sprecyzowac to, bo w internecie szperałem a, tak naprawde konkretnej odpowiedzi nie znalazłem.


RE: Sygnał losowy - krn78 - 05-12-2016

Zerknij tutaj.


RE: Sygnał losowy - apool1998 - 05-12-2016

(05-12-2016, 18:49)krn78 napisał(a): Zerknij tutaj.
Nie wiem czy napewno doczytałem, ale nie znalazłem jak ustawic odstepy czasowe miedzy sygnalami


RE: Sygnał losowy - JasQ - 05-12-2016

Ot i cały ci potrzebny program piny jakie potrzebujesz możesz dowolnie w klamerce zmienić

Kod:
byte opoznienie = 3;
byte czas_zadzialania = 1;
byte ktory_pin[7]={2,3,4,5,6,7,8};
byte x = 0;

void setup() {
  
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);

}

void loop() {
  
x = random(0,6);
digitalWrite(ktory_pin[x],HIGH);
delay(1000*czas_zadzialania);
digitalWrite(ktory_pin[x],LOW);
delay(1000*opoznienie);

}



RE: Sygnał losowy - apool1998 - 05-12-2016

(05-12-2016, 20:29)JasQ napisał(a): Ot i cały ci potrzebny program piny jakie potrzebujesz możesz dowolnie w klamerce zmienić

Kod:
byte opoznienie = 3;
byte czas_zadzialania = 1;
byte ktory_pin[7]={2,3,4,5,6,7,8};
byte x = 0;

void setup() {
 
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);

}

void loop() {
 
x = random(0,6);
digitalWrite(ktory_pin[x],HIGH);
delay(1000*czas_zadzialania);
digitalWrite(ktory_pin[x],LOW);
delay(1000*opoznienie);

}

Chciałbyś może Mi napisać owy program , nie ukrywam jestem w trakcie nauki i analiza zajmie mi sporo czasu. Pewnie w Twoim przypadku zajmie Ci to maksymalnie 2 min.Mam już podłączone piny od 2-10 outputy i chce aby był sygnał co 4 sekundy "losowany". Dałbyś rade Big Grin


RE: Sygnał losowy - JasQ - 05-12-2016

piny od 2 do 10 czas co 4 sek na 1 sek

Kod:
byte opoznienie = 4;
byte czas_zadzialania = 1;
byte ktory_pin[]={2,3,4,5,6,7,8,9,10};
byte x = 0;

void setup() {

pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);

}

void loop() {
  
x = random(0,9);
digitalWrite(ktory_pin[x],HIGH);
delay(1000*czas_zadzialania);
digitalWrite(ktory_pin[x],LOW);
delay(1000*opoznienie);

}



RE: Sygnał losowy - apool1998 - 05-12-2016

(05-12-2016, 22:06)JasQ napisał(a): piny od 2 do 10 czas co 4 sek na 1 sek

Kod:
byte opoznienie = 4;
byte czas_zadzialania = 1;
byte ktory_pin[]={2,3,4,5,6,7,8,9,10};
byte x = 0;

void setup() {

pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);

}

void loop() {
 
x = random(0,9);
digitalWrite(ktory_pin[x],HIGH);
delay(1000*czas_zadzialania);
digitalWrite(ktory_pin[x],LOW);
delay(1000*opoznienie);

}

Ogromne DZIĘKI oto własnie chodziło


RE: Sygnał losowy - CEO - 27-12-2016

Zamykam. Smile