Bisiklet sinyal lambası kodu.

kralik43

Yeni Üye
22 Ara 2018
12
1
0
Eskisehir
Merhaba bir isteğim var kendi çapımda bir kod yazdım ama şöyle bir arızası mevcut.

2 tane buton 2 tane led düşünün her birinin önünde led olduğunu düşünün soldaki buton sol sinyal sağdaki buton sağ sinyal benim kodumdaki hata şudur.

Soldaki butona basınca yani 1. butona sol daki ledi for döngüsü ile 6 kere yakıp söndürüyorum aynı şeyi sağdaki butona yani 2. butonada uyguluyorum ama diyelim şöyle birşey oldu.

Adam bisiklet ile gidiyor sola gitmesi gerekirken sağa sinyal verdi yanlışıkla 2. butona 1 butona bastığında 2. buton sönüp 1. buton yanmasını istiyorum ama hiç ve hiç bir şekilde olmuyor illa o for döngüsündeki 6 kere yakıp sonudurcek ondan sonra yapıyor yani illa o 6 kere yakacak.


Kısacası istediğim:

1. butona basınca soldaki led 6 kere yanıp sönecek.
2. butona basınca sağdaki led 6 kere yanıp sönecek.

Yanlışıkla sola gideceğine sağa bastı sola bastığında sağdaki led sönüp soldaki led yanacak.

Teşekkürler.
 

seyyarbilimadamı

Saygı Değer Üye
Paylaşım Ekibi
24 Ara 2018
567
43
0
istanbul
Merhaba, Aslında sen kodu yazmışsın belli sadece eksik var. Birinci butona bastığında o çıkışa HIGH komutunu verdin .ama hemen altına 2ci uton için de LOW komutunu yaz. yani tamam birinci ışığı yaktın ama yanık olsun olmasın 2 ci ışığıda LOW yapman gerekiyor.
Örnek: Sağ sinyali yakmak için butona basınca çalışacak kodlar aşağıdaki gibi olmalıdır.
digitalWrite(sağled, HIGH); // Sağ sinyal yanmaya başladı.
digitalWrite(solled, LOW) // Sağ sinyal yanarken sol sinyali söndürdü.
 

kralik43

Yeni Üye
22 Ara 2018
12
1
0
Eskisehir
Ya zamanınız varsa kodunu yazıp atabilirmisiniz olmuyor kaç kere denedik abimle başka birinle kendim denedim olmuyor.
 

seyyarbilimadamı

Saygı Değer Üye
Paylaşım Ekibi
24 Ara 2018
567
43
0
istanbul
Sana dış kesme lazım ki program döngüyü tamamlamadan diğerine geçsin yada bi şekilde kodun içine bunu yerleştirmek lazım.
 

seyyarbilimadamı

Saygı Değer Üye
Paylaşım Ekibi
24 Ara 2018
567
43
0
istanbul
Şimdi şöyle bir şey düşündüm sağ butona basılı olduğu sürece sinyal verecek bırakınca duracak. sol butona basılınca sinyal verecek bırakınca duracak. Eğer ki bir kere basmayla sol led devamlı yanarsa diğer butona basıp sol ledi söndürüp sağ led devamlı yandırıp söndürsen bile....ee hiç sinyal vermeyeceksen ne olacak! o zamanda ikisini de söndürmek için 3. butona ihtiyacın olacak ! o yüzden A Butonuna basılı olduğu sürece Sol led B butonuna basılı olduğu sürece sağ led yanıp sönerek sinyal vermesi en doğrusu olacaktır. Mblock kodları aşağıdadır çalışıyor.Ekli dosyayı görüntüle 336
 

seyyarbilimadamı

Saygı Değer Üye
Paylaşım Ekibi
24 Ara 2018
567
43
0
istanbul
Bu da çok karmaşık bir kod üretiyor ama işini görür:
Normal arduıno da da yazabilirsem onları da atarım.
void setup(){
pinMode(7,INPUT);// Buradan Buton 1in giriş numarasını değiştirebilirsin
pinMode(8,INPUT); // Buradan Buton 2 in giriş numarasını değiştirebilirsin
pinMode(11,OUTPUT); // Buradan led 1 çıkış pinlerini değiştirebilirsin.
pinMode(10,OUTPUT); // Buradan led 2 çıkış pinlerini değiştirebilirsin.

}

void loop(){

if(((digitalRead(8))==(1 ))){
digitalWrite(11,0);
digitalWrite(10,1);
_delay(0.1);
digitalWrite(10,0);
_delay(0.1);
digitalWrite(10,1);
_delay(0.1);
digitalWrite(10,0);
_delay(0.1);
}
if(((digitalRead(7))==(1))){
digitalWrite(10,0);
digitalWrite(11,1);
_delay(0.1);
digitalWrite(11,0);
_delay(0.1);
digitalWrite(11,1);
_delay(0.1);
digitalWrite(11,0);
_delay(0.1);
}

_loop();
}

void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}

void _loop(){

}
 

Robotikforum.net Nedir?

  • Robotikforum.net 2020 yılında kurulup yayın hayatına başlayan ve Türkiye’de robotik kodlama alanının gelişimine katkıda bulunmak için bu alan ile ilgilenen bireylerin bir birleri ile yardımlaşmaları ve fikir danışmalarını sağlayarak daha iyi öğrenmek için her bir bireyin bilgisini ve tecrübesini alarak kendini geliştirebileceği ve sorularına cevap bulabileceği bir platform olarak kurulmuştur.

Bilgilendirme!!!

İçerik sağlayıcı paylaşım sitelerinden biri olan www.robotikforum.net Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.

Sayfamızı beğendin mi?