----------------------------------
mesala daha basitinden aşağıdaki kodu denedim. hep ilk sayıyı random olarak 3 atıyor.
secim=random(0,4);
Serial.println(secim);
--------------------------------------------------
mesela hocam burada bir buton vasıtası ile öğrencileri karışık seçtirmek istediğimde her zaman ilk 8. öğrenciyi. daha sonra 10. öğrenci daha sonra 4 daha sonra 9. öğrenci geliyor sıralamada.
aslında kodda bir hata yok. sıralama hiç değişmiyor.
Not: Uygulamanın amacı myStrings teki değişkenleri butona bastığımda karışık olarak yazdırmak. Basit bir kura uygulaması diyebiliriz. Burada seçilen kişiler tekrar gelebilir.
şuan bu aşağıdaki kodlarla karışık geliyor. Ama sıralama yine aynı 8,10,4,9 şeklinde.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
char* myStrings[]={"1. Ogrenci", "2. Ogrenci","3. Ogrenci","4. Ogrenci","5. Ogrenci","6. Ogrenci","7. Ogrenci","8. Ogrenci","9. Ogrenci","10. Ogrenci"};
const int pirPin=8;
int pirDeger;
int secim;
void setup() {
pinMode (pirPin,INPUT);
lcd.begin(16,2);
lcd.clear ();
}
void loop() {
pirDeger=digitalRead(pirPin);
if (pirDeger==HIGH)
{
secim=random(0,10);
lcd.print("Secilen Kisi");
lcd.setCursor(0,1);
lcd.print(myStrings[secim]);
delay(3000);
lcd.clear();
}
else
{
lcd.print("Butona");
lcd.setCursor(0,1);
lcd.print("Basiniz...");
delay(200);
lcd.clear();
}
}