Sonucta bu rolenin kontagini nerde kullanacaksin? Eger MCU ye sinyal falan girmek icinse hic gerek yok.
Dogrudan flasorden gelen 12v gerilimi direnclerle yapacagin basit bir gerilim bolucu uzerinden MCU nun pinlerinden birisine girersin. Flasorun yanip sonme durumunda aradaki kesintileri bile yazilimla cozersin.
Yani role, kondansator, direnc ve diyodla yaptigin bu devrenin esdegerini MCU icine yazilim olarak koyarsin. MCU role kontagini okumak yerine flasor cikisini gozler.
Bir kontak kapaninca sunu yap kontak acilirsa sunu yap gibi basit senaryolar MCU ile kolayca yapilir. Fakat MCU ile cok daha karmasik senaryolara cozum uretilebilir.
Mesela flasorden gelen 12v sinyali 5v seviyesine indirdikten sonra bunu MCUnun INT girisine baglarsin. Flasorden gelen ilk 12 volt pals hemen int uretir. Interrupt rutininde Flasor_Aktif diye bir degiskene 1 yazarsin. MCU hemen 1 sn sonunda interrupt uretmek uzere bir timer calistirir. Eger 1 sn icerisinde flasorden ikinci bir voltaj darbesi (int) gelirse timeri durdurup tekrar 1sn sonra interrupt uretmek uzere timeri kurarsin. Eger 1 sn icinde int gelmediyse flasor susmus demektir ve Flasor_Aktif degiskenine 0 yazarsin.
Bundan sonra yaptigin devredeki role kontagi acildimi kapandimi bakmak yerine Flasor_Aktif degiskeni, 1 mi sifir mi ona bakarsin.
Bak ne oldu yuksek voltaj piki geldiydi gelmediydi 15v geldiydi gelmediydi, araba tekeri cukura girip cikinca kontak kendiliginden hareket ettiydi etmediydi, kondansator iki flash peryodunda roleyi beslemeye yetecek enerji depoladiydi depolamadiydi, kondansator icindeki sivi bir kac yil sonunda kuruduydu kurumadiydi tum dertler tek kalemde silindi. Ustelik gereksiz malzemeler kalkti hem yerin hem de maliyetlerin kuculdu.