Začneme dvomi kľúčovými výhodami. Stavebnica je určená pre populárnu mikropočítačovú dosku BBC Micro:bit a je mechanicky kompatibilná s dielmi stavebnice LEGO Technic. Stavebnica obsahuje rozširujúcu dosku pre BBC Micro:bit, senzory, motory a servomotor a taktiež veľa mechanických dielcov, takže z nej dokážete postaviť rôzne robotické konštrukcie. Doska Micro:bit nie je súčasťou stavebnice.
Stavebnicu NEZHA predstavujeme aj vo videu:
Táto stavebnica je zaujímavá a hlavne lacnejšia alternatíva k robotickej stavebnici Lego Mindstorms. Výhodou je vyššia variabilita, pretože dosku Micro:bit je možné využívať v stovkách iných scenárov
Stavebnica je v praktickej plastovej škatuli, ktorá má dve poschodia.
Diely zo stavebnice aj rozširujúci modul pre Micro:bit môžete použiť v rôznych modeloch a stavebniciach LEGO Technic.
Horná vyberateľná časť obsahuje rozširujúci modul do ktorého sa zasúva Micro:bit. Tento modul má konektory RJ11 na pripojenie senzorov a výkonných členov a taktiež konektory GVS na pripojenie servomotory. Stavebnica obsahuje dva jednosmerné motory, jeden servomotor, ultrazvukový senzor vzdialenosti, modul s potenciometrom, tri moduly s farebnými LED diódami, snímač intenzity osvetlenia, modul na sledovanie čiary s dvomi optočlenmi, mechanický snímač prekážky a snímač vlhkosti.
Pod odoberateľnou časťou sú mechanické diely kompatibilné so stavebnicou LEGO Technic.
Rozobratý rozširujúci modul a senzory
Môžete použiť aj širokú škálu modulov zo súpravy PlanetX
Vaše výtvory môžete programovať v online vývojovom prostredí Makedode. Potrebujete doinštalovať rozširujúce knižnice NEZHA a PlanetX.
Ako prvý príklad ukážeme jednoduchý semafor, ktorý prepína tri farebné LED diódy.
Grafický návrh programu
Kód v java Scripte
basic.showIcon(IconNames.Heart) basic.forever(function () { PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J1, true) PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J3, false) basic.pause(5000) PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J1, false) PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J2, true) basic.pause(2000) PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J2, false) PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J3, true) basic.pause(5000) })
V druhom príklade využijeme senzor vlhkosti na signalizáciu či je rastlinka v kvetináči poliata
Grafický návrh programu
Kód v java Scripte
let i = 0 basic.showIcon(IconNames.Umbrella) basic.forever(function () { i = PlanetX_Basic.soilHumidity(PlanetX_Basic.AnalogRJPin.J2) if (i < 30) { PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J3, true) PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J4, false) } else { PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J3, false) PlanetX_Display.ledBrightness(PlanetX_Display.DigitalRJPin.J4, true) } })
Závora využíva ultrazvukový senzor vzdialenosti a servomotor.
Grafický návrh programu
Kód v java Scripte
let i = 0 basic.showIcon(IconNames.Heart) neZha.setServoAngel(neZha.ServoTypeList._360, neZha.ServoList.S1, 180) basic.forever(function () { i = PlanetX_Basic.ultrasoundSensor(PlanetX_Basic.DigitalRJPin.J1, PlanetX_Basic.Distance_Unit_List.Distance_Unit_cm) if (i > 3 == i < 20) { neZha.setServoAngel(neZha.ServoTypeList._360, neZha.ServoList.S1, 240) basic.pause(5000) } else { neZha.setServoAngel(neZha.ServoTypeList._360, neZha.ServoList.S1, 180) } })
Pokračujeme jednoduchým robotickým podvozkom schopným sledovať čiaru.
Kolesá sú poháňané jednosmernými motorčekmi.
Grafický návrh programu
Kód v java Scripte
basic.showIcon(IconNames.Heart) basic.forever(function () { if (PlanetX_Basic.trackingSensor(PlanetX_Basic.DigitalRJPin.J1, PlanetX_Basic.TrackingStateType.Tracking_State_1)) { neZha.setMotorSpeed(neZha.MotorList.M4, -50) neZha.setMotorSpeed(neZha.MotorList.M1, 0) } if (PlanetX_Basic.trackingSensor(PlanetX_Basic.DigitalRJPin.J1, PlanetX_Basic.TrackingStateType.Tracking_State_2)) { neZha.setMotorSpeed(neZha.MotorList.M4, 0) neZha.setMotorSpeed(neZha.MotorList.M1, -50) } if (PlanetX_Basic.trackingSensor(PlanetX_Basic.DigitalRJPin.J1, PlanetX_Basic.TrackingStateType.Tracking_State_0)) { neZha.setMotorSpeed(neZha.MotorList.M1, -20) neZha.setMotorSpeed(neZha.MotorList.M4, -20) } })
Stavebnicu môžete použiť v mnohých ďalších scenároch, prípadne postaviť sofistikovanejší robotický podvozok podľa vzoru na obale.
Môžete použiť aj senzory zo súpravy PlanetX
Převzato z webu Nextech se souhlasem autora.