Elektrik elektronik temrinleri
Ders Notları => Arduino Öğreniyorum => Röle uygulamaları => Konuyu başlatan: 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.