Elektrik elektronik temrinleri
Ders Notlarý => Arduino Öðreniyorum => Röle uygulamalarý => Konuyu balatan: mylifese - 09 Haziran 2020, 00:39:03
-
a-5 adet buton
b-lcd ekran
c- 4 adet röle
d-ardunýo serisinden birisi uygun olan kullanýlacak.
proje þöyle
1. ADIM
4 adet buton ile kontrol
**NORMAL MOD**
Ýstediðimiz Herhangi butona bir kez basýldýðýnda giriþ göre çýkýþ rölesi aktif olacak ve lcd ekranýnda giriþ butonun ismi yazacak.
Çýkýþlardan biri aktif iken diðerleri aktif olmayacak. herhangi buton basýlýncaya kadar da o çýkýþa ait röle çekili kalacak.
2.ADIM
- 5. buton ile kontrol ** OTOMATÝK TARAMA MODU**
Bu buton basýlý iken (3sn gibi süre sonrasý ) diðer butonlardan iki veya daha fazla butonlarýn seçimi yapýlacak ,seçim bittikten sonra tarama butonundan elimizi çektiktan bir kaç sn sonra (5sn sonra ) seçimini yaptýðýmýz butonlara baðlý çýkýþlar birkaç sn aralýklarla sýrasýyla aktif olacak. [ ör: 3sn gibi aralýklarla burada potansiyometre kullanýlarak 1-10sn gibi aralýklarla hýz ayarý yapýlabilinir)] 3 buton seçtiysek bu 3 buton sýrayla ve sürekli tekrarlayacak .normal moda dönünceye kadar döngü devam edecek.
Tarama modunu iptal etmek istediðimizde ise bu 5.butona yine 3sn basýlý tutulup býrakýlarak tarama modu iptal edilecek. en son hangi çýkýþ aktif ise o çýkýþ aktif olmaya devam edilecek.
3. adým
normal moda yani 1. adýma gececek.
ardunýo ile boyle bir yazýlým yapabilirmisiniz. yardýmcý olurmusunuz.
-
Ýstedikleriniz için 1 gün zaman ayrýlýrsa yapmak mümkün. O kadar zamaný da kolay kolay kimse harcamaz. Ancak yazdýklarýnýz anlaþýlabilir deðil. Problemi anlatmak için daha net ve kesin ifadeler kullanmalýsýnýz.
-
Void setup(){
Pinmode(8,output);
Pinmode(7,output);
Pinmode(6,output);
Pinmode(5,output);
Pinmode(4,output);
Pinmode(3,output);
}
Void loop(){
Bool prt = false;
Pina = Digitalread(7);
Pinb = Digitalread(6);
Pinc = Digitalread(5);
Pind = Digitalread(4);
Pine = Digitalread(3);
Int arrs = 0;
int arr[10];
bool act = false;
Taramab = Digitalread(8);
Int taramas =0;
If(taramab == 1 ){
Taramas++;
Delay(1000);
}
if(taramas == 3){
Taramas = 0;
act = true;
}
Else if(taramas ==6){
Taramas = 0;
act = false;
}
While(act == true && arrs < 6){
if(pin a == 1){
arr[arrs]=7;
arrs++;
}
Else if(pinb == 1){
arr[arrs]=6;
arrs++;
}
Else if(pinc == 1){
arr[arrs]=5;
arrs++;
}
Else if(pind == 1){
arr[arrs]=4;
arrs++;
}
Else if(pine == 1){
arr[arrs]=3;
arrs++;
}
Prt = true;
}
If(prt == true){
Delay(5000);
For(int i =0;i<arrs;i++){
Pinout = arr;
Digitalwrite(pinout, high);
}
}
}
arkadaþ yardýmcý oldu. 2. adým icin ancak hata veriyor. yardýmcý olurmusunuz.
-
buton1, ile röle1 kontrol edecek.
buton2, ile röle2 kontrol edecek.
buton3, ile röle3 kontrol edecek.
buton4, ile röle4 kontrol edecek
buton5, (5. buton tarama modu ) bu buton taramayý çalýþtýrma,ý durdurma ve inputlarý seçme butonu olarak tanýmlayabiliriz. butonlardan herhangi biri veya ikisi veya üçü veya dördü buton seçme yapýlacak.bu seçilen buton karþýlýðýna göre çýkýþ röleleri aktif olacak.
buton5 bu butona basýlý iken çýkýþ röleleri kontrol edeceðimiz input butonlarý secelim.
örnek : buton2,3 ve 4 sýra ile butonlara basarak butonlarý seçtim ve bu duruma göre 2,3 ve 4 röle çýkýþlarýn sýra ile aktif olmasýný istiyorum. rölelerden biri çalýþýrken diðerleri çalýþmayacak. röle aktif iken 3sn ve pasif iken 1 sn aralýkla Süre konulacak ve döngünün iptal edilene kadar çalýþmasýna devam edecek. taki tarama modunu iptal edinceye kadar. çalýþmasýna devam edecek.
buton5 elimizi çekip buton seçme tamamlandýgýnda döngü baþlayacak.
röleleler sýrayla çalýþýyor.
bu döngüyü iptal etmek istediðimizde ise buton5 tekrar basýlacak ve tarama sonlanacak. enson hangi çýkýþ aktif ise o konundaki röle çalýþacak.
röle2 3sn çalýþtý. 1 sn sonra durdu. diðer sýradaki röleye gececek
röle3 3sn çalýþtý. 1 sn sonra durdu. diðer sýradaki röleye gececek
röle 4 3sn çalýþtý. 1 sn sonra durdu. diðer sýradaki röleye gececek
sonra baþa dönecek.ve böyle böyle tekrarlayacak.
buton 5 basýldýgýnda bu tarama sonlandýrýlacak. en son hangi konumda kalmýþ ise ise o konumdaki röle aktif olacak.