Engel Robotu 16F628A ve PicBasic ile

Başlatan overlok, 10 Aralık 2014, 13:19:57

overlok

Merhaba Arkadaşlar;

Amatör olarak elektronikle uğraşıyorum. Belki benim gibi bu konulara hevesli arkadaşlara bir faydam olur diye kendi yaptığım engelden kaçan robotumu sizinle paylaşmak istedim. Ete hocanın derslerine bakarak basic kodlarını yazdım.

Robotun (aslında robot demek baya iddalı bi laf gibi geliyo ya bana neyse) çalışma şekli, sensörlerden gelen bilgilere göre engelden kaçması. Sağ veya sola dönerken, paletlerden biri ileri yönde çalışırken, diğeri geriye doğru çalışmakta ve olduğu yerde keskin dönüşler yapmaktadır. Ön tarafında engel var ise belirli bir süre geri gidip sonra sola dönüp tekrar ileri yönde gidecek şekildedir.
Videosu büyük boyutlu olduğu için yükleyemiyorum.

pic ve diğer elemanlar için (resimlerde görünmüyor ama gövdenin içinde) 4 adet kalem pil,
Motorlar içinse şarjlı (sarı renkli olanlar) pil kullandım.
Motor sürücü L293D
Motorlar mini dc, redüktörlü 6v 350 rpm

Robotun gövdesini, paletlerini vs. hobi robot sitelerinden birinden set olarak aldım. kendi içerisinde 4 adet kalem pil yuvası var.

Daha çok yalın bir halde tabi. Vakit buldukça geliştirmek isterim.

Kodlarını, devre şemasını vs. yükledim.

Saygılarımla



Pic Basic Kodu: (16F628A)

@ DEVICE INTRC_OSC_NOCLKOUT , LVP_OFF, MCLR_OFF, WDT_OFF
PORTA=0
TRISA=%00000111
PORTB=0
TRISB=%00000000
CMCON=7
OPTION_REG.7=0

DEFINE OSC 4

SYMBOL SOLSEN=PORTA.0
SYMBOL ORTASEN=PORTA.1
SYMBOL SAGSEN=PORTA.2

SYMBOL SAGILERI=PORTB.1
SYMBOL SAGGERI=PORTB.2
SYMBOL ENABLE1=PORTA.7
SYMBOL SOLILERI=PORTB.3
SYMBOL SOLGERI=PORTB.4
SYMBOL ENABLE2=PORTA.6

A VAR BYTE
B VAR BIT
C VAR BYTE
D VAR BIT

DUZGIT:

WHILE SAGSEN=0 AND ORTASEN=0 AND SOLSEN=0

SAGILERI=1:SAGGERI=0:ENABLE1=1
SOLILERI=1:SOLGERI=0:ENABLE2=1

WEND

while SAGSEN=0 AND ORTASEN=1 AND SOLSEN=0

SAGILERI=0:SAGGERI=1:ENABLE1=1
SOLILERI=0:SOLGERI=1:ENABLE2=1

B=1
A=0

IF B=1 THEN
A=A+1
PAUSE 1000
IF A>=1 THEN

SAGILERI=1:SAGGERI=0:ENABLE1=1
SOLILERI=0:SOLGERI=1:ENABLE2=1

D=1
C=0

IF D=1 THEN
C=C+1
PAUSE 600
IF c>=1 THEN
D=0
C=0
b=0
a=0

ENDIF
ENDIF
ENDIF
ENDIF
   PAUSE 200
wend


WHILE SAGSEN=1 AND ORTASEN=0 AND SOLSEN=0

SAGILERI=1:SAGGERI=0:ENABLE1=1
SOLILERI=0:SOLGERI=1:ENABLE2=1

B=1
A=0

IF B=1 THEN
A=A+1
PAUSE 200
IF A>=1 THEN
b=0
A=0
ENDIF
ENDIF
PAUSE 200
WEND


WHILE SAGSEN=0 AND ORTASEN=0 AND SOLSEN=1

SAGILERI=0:SAGGERI=1:ENABLE1=1
SOLILERI=1:SOLGERI=0:ENABLE2=1

B=1
A=0

IF B=1 THEN
A=A+1
PAUSE 200
IF A>=1 THEN
b=0
A=0
ENDIF
ENDIF
PAUSE 200

WEND

WHILE SAGSEN=0 AND ORTASEN=1 AND SOLSEN=1

SAGILERI=0:SAGGERI=1:ENABLE1=1
SOLILERI=1:SOLGERI=0:ENABLE2=1

B=1
A=0

IF B=1 THEN
A=A+1
PAUSE 200
IF A>=1 THEN
b=0
A=0
ENDIF
ENDIF
PAUSE 200

WEND

WHILE SAGSEN=1 AND ORTASEN=1 AND SOLSEN=0

SAGILERI=1:SAGGERI=0:ENABLE1=1
SOLILERI=0:SOLGERI=1:ENABLE2=1

B=1
A=0

IF B=1 THEN
A=A+1
PAUSE 200
IF A>=1 THEN
b=0
A=0
ENDIF
ENDIF
PAUSE 200
WEND


GOTO DUZGIT
END


Hex Kodu:

:100000002F28A301A200FF30A207031CA307031C93
:100010002A280330A100DF300F200328A101E83E89
:10002000A000A109FC30031C1828A00703181528FC
:10003000A0076400A10F152820181E28A01C222844
:100040000000222808000038031DFF300405031DAE
:10005000FF302A28831303138312640008008501EC
:10006000831607308500831286018316860183126A
:1000700007309F008316811383120301051DFF3093
:10008000B8000301851CFF30BA00380884003A0824
:100090002320BA00BB000301051CFF30BC003A0856
:1000A0003B0484003C082320BC00BD0064003C08E5
:1000B0003D04031962288614061185178615061259
:1000C00005173D280301051DFF30B8000301851801
:1000D000FF30BA00380884003A082320BA00BB0079
:1000E0000301051CFF30BC003A083B0484003C08B7
:1000F0002320BC00BD0064003C083D040319B12866
:100100008610061585178611061605174014BE01C0
:100110006400401CAE28BE0A0330A300E830022071
:10012000640001303E02031CAE28861406118517B8
:10013000861106160517C014BF016400C01CAE2846
:10014000BF0A0230A30058300220640001303F0291
:10015000031CAE28C010BF014010BE01C8300120F2
:10016000622803010519FF30B8000301851CFF3028
:10017000BA00380884003A082320BA00BB00030103
:10018000051CFF30BC003A083B0484003C082320D7
:10019000BC00BD0064003C083D040319E728861438
:1001A000061185178611061605174014BE01640056
:1001B000401CE428BE0AC8300120640001303E0221
:1001C000031CE4284010BE01C8300120B1280301FF
:1001D000051DFF30B8000301851CFF30BA00380848
:1001E00084003A082320BA00BB0003010518FF3041
:1001F000BC003A083B0484003C082320BC00BD003E
:1002000064003C083D0403191D2986100615851756
:100210008615061205174014BE016400401C1A29F9
:10022000BE0AC8300120640001303E02031C1A29B6
:100230004010BE01C8300120E7280301051DFF3032
:10024000B80003018518FF30BA00380884003A0866
:100250002320BA00BB0003010518FF30BC003A0898
:100260003B0484003C082320BC00BD0064003C0823
:100270003D040319532986100615851786150612A5
:1002800005174014BE016400401C5029BE0AC83046
:100290000120640001303E02031C50294010BE01C1
:1002A000C83001201D2903010519FF30B8000301E2
:1002B0008518FF30BA00380884003A082320BA00B5
:1002C000BB000301051CFF30BC003A083B0484005E
:1002D0003C082320BC00BD0064003C083D04031919
:1002E00089298614061185178611061605174014EC
:1002F000BE016400401C8629BE0AC830012064008B
:1003000001303E02031C86294010BE01C830012086
:0803100053293D2863008A29EE
:02400E00583F19
:00000001FF










Hanımların dikkatine, overlok makinesi ayağınıza geldi!

Gökhan BEKEN

Paletlerin büyüğünden lazım bana ama daha sağlam olmalı, tank gibi birşey yapmak istiyorum tavsiye edeceğiniz bir ürün var mı?
Özel mesaj okumuyorum, lütfen göndermeyin.

enteresan10

Güzel çalışma olmuş tebrikler...

sezgin05

@Meftun:
Benzer bir projede kullanmıştım.Çift taraflı triger kayış

Gökhan BEKEN

@sezgin05 teşekkür ederim. Triger kayışları birbirine paralel dişleri olanları satılıyor sanırım. Arkadaşın paylaştığı resimdeki gibi olanları var mıdır? Yani yanlara doğru çıkmasını önlemek için soruyorum.
Özel mesaj okumuyorum, lütfen göndermeyin.

pinokyo7

bu projeyi ödev olarak ben yapıcam 1 haftam var optokuplörün önüne sensör bağlamam gerek bu devreye uygun sensör ne kullana bilirim yardımınız gerek

overlok

Şemaya göre soruyosan gerçekte optokupler değil. Proteusda kolaylık olsun diye optokupler kullandım. Resimlerde görünen siyah makaron içindeki IR led ve Fototransistör ile yapılmış sensörler.
Hanımların dikkatine, overlok makinesi ayağınıza geldi!

pinokyo7


Fototransistörun bacaklarini bulamadim avometreyi diyot kademesine aliyorum ama saglik bir olcum yapamadim daha once bu malzemeyi kullananlar lutfen yardim ci olabilir mi bu devrede kullancam