Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
tum_yil_icin_arduino_mufredati_34,2
#define DEBUG 0
// 6 ledin bağlandığı pinler
int birinci = 2;
int ikinci = 3;
int ucuncu = 4;
int dortuncu = 5;
int bensinci = 6;
int altinci = 7;
// butonun bağlandığı pinler
int button = 12;
// butonun değerini kontrol etmek için değişken
int basilma = 0;
void setup() {
// bütün pinlerin çıkış olarak tanımlanması
for (int i=birinci; i<=altinci; i++) {
pinMode(i, OUTPUT);
}
// butonun giriş olarak tanımlanması
pinMode(button, INPUT);
// rastgele sınıflamanın A0 dan başlaması
randomSeed(analogRead(0));
// hata varsa serial ekrana bağlan
#ifdef DEBUG
Serial.begin(9600);
#endif
}
void buildUpTension() {
// ledlerin sağdan sola yanmasını sağlamak
for (int i=birinci; i<=altinci; i++) {
if (i!=birinci) {
digitalWrite(i-1, LOW);
}
digitalWrite(i, HIGH);
delay(100);
}
// soldan sağa
for (int i=altinci; i>=birinci; i--) {
if (i!=altinci) {
digitalWrite(i+1, LOW);
}
digitalWrite(i, HIGH);
delay(100);
}
}
void gostersayi(int sayi) {
digitalWrite(birinci, HIGH);
if (sayi >= 2) {
digitalWrite(ikinci, HIGH);
}
if (sayi >= 3) {
digitalWrite(ucuncu, HIGH);
}
if (sayi >= 4) {
digitalWrite(dortuncu, HIGH);
}
if (sayi >= 5) {
digitalWrite(bensinci, HIGH);
}
if (sayi == 6) {
digitalWrite(altinci, HIGH);
}
}
int throwDice() {
//1-6 arasında rastgele sayı üretmek
int rastgelesayi = random(1,7);
#ifdef DEBUG
Serial.println(rastgelesayi);
#endif
return rastgelesayi;
}
void setAllLEDs(int value) {
for (int i=birinci; i<=altinci; i++) {
digitalWrite(i, value);
}
}
void loop() {
// eğer butona basılmış ise
basilma = digitalRead(button);
if (basilma == HIGH) {
// önceki sayıyı kaldır
setAllLEDs(LOW);
buildUpTension();
int thrownsayi = throwDice();
gostersayi(thrownsayi);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.