Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => Konuyu başlatan: sayangku - 23 Mayıs 2018, 17:15:52

Başlık: arduino yükselen ve düşen kenar kullanma
Gönderen: sayangku - 23 Mayıs 2018, 17:15:52
merhaba arkadaşlar plc deki yükselen ve düşen kenar mantıgını plc yapabiliyorum ama kod olarak arduino gelince yapamıyorum bu konuda bana
mantıgını anlatarak yardımcı olabilirmisiniz?
örnegin plc yükselen kenarın yanına bir_arttır sayac komutu koyarak butona
her basıldıgında sayac bir artıyo bunu arduino kodunda nasıl yapabilirim
ve diğer kullanma yöntemlerinde nasıl yapabilirim ? yardımlarınız için teşekkürler şimdiden
Başlık: Ynt: arduino yükselen ve düşen kenar kullanma
Gönderen: mehmet - 23 Mayıs 2018, 17:33:37
Yükselen olması High/1 olması durumu.

Pini direnç ile Low/0 da tutarız, butona
basılınca yükselen durumu oluşur.

if(Button == 1)
{
   ...
}
Başlık: Ynt: arduino yükselen ve düşen kenar kullanma
Gönderen: yilmaz_kk - 24 Mayıs 2018, 00:23:36
Kesme kullanılabilir. İlgili giriş her tetiklendiğinde sayac artırılır. Tabi bu yükselen kenar için.
Başlık: Ynt: arduino yükselen ve düşen kenar kullanma
Gönderen: cak28 - 24 Mayıs 2018, 04:07:51
yılmaz hocamın dediği gibi kesmeler kullanılabilir.
https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/ (https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/) bu adreste kesmeler anlatılmış, attachInterrupt fonksiyonuna yükselen veya düşen kenar parametrelerinden hangisi girilirse tanımlı kesme fonksiyonu devreye giriyor. 
Başlık: Ynt: arduino yükselen ve düşen kenar kullanma
Gönderen: sayangku - 24 Mayıs 2018, 16:43:01
hocam verdiğiniz bilgilerle mantığı anladım teşekkürederim

şimdi merak ettim  plc gelcek olursak plc lerin input girişleri sizce dış kesmemi kullanmışlardır yoksa timer kesmesimi  yada başka bir kesme çeşitimi kullanmışlardır bunu merak ettim
Başlık: Ynt: arduino yükselen ve düşen kenar kullanma
Gönderen: erolca - 25 Mayıs 2018, 16:21:05
IEC 61131 standardına uygun yazılmış yükselen düşen kenar örneği..

FUNCTION_BLOCK B_TRIG
VAR_INPUT
CLK : BOOL;
END_VAR
VAR_OUTPUT
Q : BOOL;
END_VAR
VAR
edge : BOOL;
END_VAR


(*Program orneği*)
Q := clk XOR edge;
edge := CLK;