Created
December 10, 2017 17:13
-
-
Save ileri/e4c9f8fc4fc00796c631751b327266f2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* Burada Step motoru sürmeye yarayan Stepper.h kütüphanesi | |
| koda dahil edilmektedir. | |
| */ | |
| #include <Stepper.h> | |
| /* Burada Arduino nun çalışırken kullandığı değerler tanımlanmıştır. | |
| Bu değerler değiştirildiğinde Arduino nun davranışı da değişecektir. | |
| Programın genel işleyişinde bir değişiklik yapmayacaksanız | |
| aşağıdaki değrleri değiştirerek olayların hızını vs. ayarlayabilirsiniz. | |
| */ | |
| #define ldr_pin A0 | |
| #define motor_adim_sayisi 200 | |
| #define motor_hizi 48 | |
| #define durum_degistirilecek_isik_seviyesi 250 | |
| #define aracin_gecip_gecmediginin_kontrol_frekansi_ms 1000 | |
| #define arac_gectikten_sonra_ekstra_beklenecek_sure_ms 4000 | |
| #define bilgisayara_bilgi_aktarim_portu 9600 | |
| Stepper motor(motor_adim_sayisi, 8, 9, 10, 11); | |
| /* | |
| Bu fonksiyon Arduino ya elektrik geldiğinde sadece 1 defalığına | |
| yapılacakların belirlendiği fonksiyondur. | |
| Tanımlamalar genellikle burada yapılır. | |
| */ | |
| void setup() { | |
| motor.setSpeed(motor_hizi); | |
| Serial.begin(bilgisayara_bilgi_aktarim_portu); | |
| } | |
| /* | |
| Bu fonksiyon Arduino çalıştığı süre boyunca sürekli olarak | |
| çalışacak ve döngü halinde içindeki komutlar çalıştırılacak | |
| olan fonksiyondur. | |
| */ | |
| void loop() { | |
| if( arac_gecisi_algilandi_mi ) | |
| arac_gecisi(); | |
| delay(250); | |
| } | |
| /* | |
| Bu fonksiyon araç geçişi algılandığında yapılacakları | |
| içeren fonksiyondur. | |
| */ | |
| void arac_gecisi(){ | |
| /* Bariyer Kaldıran Kod */ | |
| bariyer_kalk(); | |
| /* Aracın hala geçip geçmediğini kontrol eden kod */ | |
| while( arac_gecisi_algilandi_mi ) | |
| arac_gecisi_devam_ediyor(); | |
| delay(arac_gectikten_sonra_ekstra_beklenecek_sure_ms); | |
| /* Bariyeri İndiren Kod */ | |
| bariyer_in(); | |
| } | |
| /* | |
| Bu fonksiyon araç geçişi algılanıp algılanılmadığını | |
| belirleyerek sonucu verir | |
| */ | |
| int arac_gecisi_algilandi_mi(){ | |
| return (ldr_deger_oku() < durum_degistirilecek_isik_seviyesi); | |
| } | |
| /* | |
| Bu fonksiyon bariyeri indirme ve bu talimat geldiğinde | |
| yapılacak diğer işlemleri belirlemeye yarar | |
| */ | |
| void bariyer_in(){ | |
| Serial.println("Bariyer indiriliyor..."); | |
| motor.step(motor_adim_sayisi); | |
| } | |
| /* | |
| Bu fonksiyon bariyeri kaldırmaya ve bu talimat geldiğinde | |
| yapılacak diğer işlemleri belirlemeye yarar | |
| */ | |
| void bariyer_kalk(){ | |
| Serial.println("Bariyer kaldırılıyor..."); | |
| motor.step(-motor_adim_sayisi); | |
| } | |
| /* | |
| Bu fonksiyon araç geçerken yapılacakları içerir | |
| */ | |
| void arac_gecisi_devam_ediyor(){ | |
| Serial.println("Araç geçişi devam ediyor..."); | |
| delay(aracin_gecip_gecmediginin_kontrol_frekansi_ms); | |
| } | |
| /* | |
| Bu fonksiyon LDR den okunan değeri verir | |
| */ | |
| int ldr_deger_oku(){ | |
| return analogRead(ldr_pin); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment