Stavebnica NEZHA Inventor’s Kit

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.