Stok Durumu: 10
Miktar
Çizgi İzleyen Robot - PIC Mikrodenetleyicili
Çizgi İzleyen Robot
Eğitimde ilgi ve merak oluşturulup, bilgileri eğlenceli bir yarış havasına dönüştürdüğümüzde hem öğrenciler hem de eğitimciler mutlu olur. Çizgi izleyen robot ve sumo robotlar bu yüzden dünya genelinde çok kullanılan bir öğretim yaklaşımıdır. Eğitimciler için amaç devre elemanlarını, tasarımını, kullanımı, program yazımını öğrencilerine kademeli olarak aktarmaktır. Öğrenilen bilgiler diğer projelerinde kullanılacak basamaklar teşkil etmelidir.
Burada sunulan Çizgi İzleyen Robot bu amaçlarla dizayn edilmiştir.
* Motor kontrol devresi
* Sensör algılama devresi
* Op-Amp ile sinyalleri kararlı hale getirme
* Harici sensör bağlama
* Kablolu seri iletişim
*RF iletişim yapılabilecek uygulamalardandır.
Devre kartı hem Çizgi İzleyen hem de Sumo Robot için ortak tasarlanmış olup, her iki uygulamada da kullanılabilir. Boyutları miniSUMO robot kategorisine uygundur.
G
enel Özellikler
PIC16F627-28,
818-, 819, 87 ve 88 uyumlu,
65mm x 85mm ölçülerinde,
2x 2A
DC motor sürücü devresi,
Ayrı motor sürücü gerilimi,
Aşırı akımlara karşı motor koruma devresi,
Schottky
diyotlar ile ters gerilimlerden koruma,
4 adet mesafesi
ayarlanabilir Siyah/Beyaz sensör,
4 adet harici sensör girişi
( SUMO Robot için ön, sağ, arka ve sol),
1 adet seri iletişim
portu ( kullanılan PIC mikrodenetleyiciye uygun),
1 adet Buton,
1 adet LED,
1 adet On/Off anahtarı
Örnek Program
Microchip Assembly ile yazılmıştır
Örnek: Çizgi İzleyen Robot Programı
;============================================1
; ÇİZGİ İZLEYEN ROBOT LFSR_V1 Kiti İçin yazılmıştır.
; S/B Sensörler Motor
; Ön Sağ RB5 Sol Motor Sağ Motor
; Ön Sol RB4 RA3 RA2 RA1 RA0
; Arka Sağ RB6 0 0 Dur 0 0
; Arka Sol RB7 0 1 İleri 0 1
; 1 0 Geri 1 0
; 1 1 Dur 1 1
; START RA7
; Flash_LED RA6
; _______________________________________________________
list p=16f628A
#include
#define START PORTA,7
#define Flash_LED PORTA,6
; D Doğru Konum
; Y Yanlış Konum
; AÖÖA AAÖÖ Arka Sağ ve Arka Sol Siyah -- 1
; LLRL LRRL Ön Sağ ve Ön Sol Beyaz -- 0
#define DDDD b'11001111' ;Robot çizgide
#define DDYD b'11101111' ;Ön Sağ çizgiyi görmüyor
#define DYDD b'11011111' ;Ön Sol çizgiyi görmüyor
#define YYYD b'01111111' ;Sadece arka sağ doğru
#define DYYY b'10111111' ;Sadece arka sol doğru
__CONFIG _PWRTE_ON & _WDT_OFF & _CP_OFF & _BODEN_OFF & _MCLRE_OFF &_INTRC_OSC_NOCLKOUT &_LVP_OFF
basla;...........................................................................
call kurulum ; Portları kur
btfsc START ; \ START butonuna basıldı mı?
goto $-1 ; /
bsf Flash_LED ;
tekrar movlw DDDD ;\
subwf PORTB,W ; \ Orta Çizgide
btfsc STATUS,Z ; /
call ileri_git ;/
movlw DDYD ;\
subwf PORTB,W ; \ Ön Sağ Sensör Görmüyor
btfsc STATUS,Z ; / Sola Dön
call sola_ileri_don ;/
movlw DYDD ;\
subwf PORTB,W ; \ Ön Sol Sensör Görmüyor
btfsc STATUS,Z ; / Sağa Dön
call saga_ileri_don ;/
movlw YYYD ;\
subwf PORTB,W ; \ Ön Sensörler ve Arka Sağ
btfsc STATUS,Z ; / Sensörün Konumu Yanlış
call sola_ileri_don ;/ Sola Dön
movlw DYYY ;\
subwf PORTB,W ; \ Ön Sensörler ve Arka Sol
btfsc STATUS,Z ; / Sensörün Konumu Yalnıl
call saga_ileri_don ;/ Sağa Dön
goto tekrar ;
kurulum;.........................................................................
movlw 0x07 ;
movwf CMCON ; Karşılaştırıcılar OFF
clrf PORTB
clrf PORTA ;
bsf STATUS,RP0 ; Bank1 e geç
movlw 0xFF ;
movwf TRISB ; PORTB <--Giriş
movlw 0x80 ;
movwf TRISA ; RA7 giriş, diğerleri çıkış
clrf OPTION_REG ; Pull-Up dirençleri aktif
bcf STATUS,RP0 ; Bank0 a dön
return
ileri_git;..........................................................................................................
movlw 0x05 ;
movwf PORTA ;
return ;
sola_ileri_don;..........................................................................................
movlw 0x01 ;
movwf PORTA ;
return ;
saga_ileri_don;...........................................................................................
movlw 0x04 ;
movwf PORTA ;
return ;
end
;========================================================