Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 8, 2023 06:12 pm GMT

PyBricks ile ileri geri ve saa sola dnme

Lego'nun Technic Large Hub' iin varsaylan firmware yerine PyBricks firmware' kullanarak Lego cihaznzda MicroPython kullanabiliyoruz.

Bu yazmzda Lego'nun uzaktan kumandas ile, _2 motor_lu bir dzenein altrlmas anlatlmtr.

Image description

PyBricks firmware ykleme

Bunun iin ncelikle Firmware' sisteme yklemek gerekiyor ki, bunun iin Lego Technic Hub zerindeki bluetooth tuuna basl tutarken cihaza USB kablosunu takarak, klarn birka kere yanp snmesini bekledikten sonra sisteme giri yaplmas salanr.

Bu admdan sonra aadaki adreste bulunan gncel Firmware seilerek kurulum gerekletirilir.

https://code.pybricks.com/

Bu ksmda baz detaylar bulunabiliyor fakat bunlarla ilgili internette bir ok makaleye rastlanabilmekte.

PyBricks kullanm

PyBricks firmware kurulduysa ve yeniden balattktan sonra artk cihaznz bluetooth ile kullanabilirsiniz. Bunun iin yine yukardaki adresten Bluetooth iaretine basarak firmware kurulumda verdiiniz ismi seerek cihazna balanabilirsiniz.

Image description

Cihaznza balant kurabildiyseniz (eletiyseniz) bluetooth ikonu aadaki gibi olacaktr.

Image description

Bu admdan sonra kodunuzu yazdktan sonra altr ve durdur butonlar ile kodunuzu gndermeye balayacaksnz.

Image description

Uzaktan kullanml iki motorlu rnek

Temel belgelendirmesi olduka gzel olan PyBricks iin, Technic Large Hub zerindeki A ve C portlarna 2 adet motor baldr.

Aadaki kodda ncelikle gerekli ktphaneler eklenmi ve sonrasnda Hub zerindeki hem 5x5'lik matris klandrmas hem de g tuunun n kapatmaktayz.

Sonrasnda A ve C giriine bal 2 motor tanmlanmaktadr. Eer motorlar takl deilse kodunuz hata verecek ve almayacaktr. Sonrasndaki ksmda Lego'nun uzaktan kumandas eklenmi oldu.

Image description

lemler diye yorumlanm ksm ise tamamen uzaktan kumandadaki tularn durumlarna gre yazlmtr. Tm sre bir while dngs ierisinde hazrlanmtr ve dng srasnda ilk ncelikle eer herhangi bir tua basl deilse motorlar durduracak ekilde bir kod blou bulunmaktadr.

Sonrasnda ise tek tek ve birden fazla tularn baslmas durumlarn ifade eden ekilde ileri-geri, sa-sol anlamlarn kazanacak 2 motor iin durum yer almaktadr. 360 deerleri, saniyede 360 derecelik ay tarayacak ve ters ynde 360 derece olacak ekilde hazrlanmtr.

from pybricks.pupdevices import Motorfrom pybricks.parameters import Portfrom pybricks.tools import waitfrom pybricks.pupdevices import Remotefrom pybricks.parameters import Button, Colorfrom pybricks.hubs import PrimeHubfrom pybricks.tools import waitfrom pybricks.parameters import Icon# Hub zerindeki klar kapatmahub = PrimeHub()hub.display.off()hub.light.off()# A giriindeki motoru tanmlama (motor01)motor01 = Motor(Port.A)# C giriindeki motoru tanmlama (motor02)motor02 = Motor(Port.C)# Kumanday tanmlamaremote = Remote()# ilemlerwhile True:    pressed = ()    # tklanlmadnda    while not pressed:        pressed = remote.buttons.pressed()        motor01.reset_angle(0)        motor02.reset_angle(0)    # Sadaki tular motor01'e atama    if Button.RIGHT_PLUS in pressed:        motor01.run(360)    elif Button.RIGHT_MINUS in pressed:        motor01.run(-360)    # Soldaki tular motor02'ye atama    elif Button.LEFT_PLUS in pressed:        motor02.run(360)    elif Button.LEFT_MINUS in pressed:        motor02.run(-360)    elif Button.RIGHT_PLUS and Button.LEFT_PLUS in pressed:        motor02.run(360)        motor01.run(360)    elif Button.RIGHT_PLUS and Button.LEFT_MINUS in pressed:        motor02.run(-360)        motor01.run(360)    elif Button.RIGHT_MINUS and Button.LEFT_PLUS in pressed:        motor02.run(360)        motor01.run(-360)    elif Button.RIGHT_MINUS and Button.LEFT_MINUS in pressed:        motor02.run(-360)        motor01.run(-360)    while pressed:        pressed = remote.buttons.pressed()

Original Link: https://dev.to/aliorhun/pybricks-ile-ileri-geri-ve-saga-sola-donme-45h3

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To