Talaan ng mga Nilalaman:

STEM - Pagkontrol sa Boses at Imahe: 13 Mga Hakbang
STEM - Pagkontrol sa Boses at Imahe: 13 Mga Hakbang

Video: STEM - Pagkontrol sa Boses at Imahe: 13 Mga Hakbang

Video: STEM - Pagkontrol sa Boses at Imahe: 13 Mga Hakbang
Video: Secret Intelligent. Paano mo Malalaman na IKAW ay LIHIM na MATALINO? 2024, Nobyembre
Anonim
STEM - Pagkontrol sa Boses at Imahe
STEM - Pagkontrol sa Boses at Imahe
STEM - Pagkontrol sa Boses at Imahe
STEM - Pagkontrol sa Boses at Imahe
STEM - Pagkontrol sa Boses at Imahe
STEM - Pagkontrol sa Boses at Imahe

Sa nakaraang ilang taon ay naging mas madali upang gumawa ng isang bagay gamit ang pagkilala sa boses o imahe. Parehong ginagamit nang mas madalas ang pareho sa kasalukuyan. At ito ang mga tanyag na paksa sa mga proyekto ng DIY. Karamihan sa mga oras na nilikha gamit ang software / API mula sa isa sa mga sumusunod na kumpanya:

  • Boses ng Google.
  • Amazon Alexa.
  • Mga Serbisyong Cognitive ng Microsoft.

Mayroong kahit ilang mga DIY kit, tulad ng Google AIY Voice Kit upang suportahan ang mga libangan. Karamihan sa mga produktong ito ay gumagamit ng isang Raspberry Pi o isang katulad na board. Sa kasamaang palad, hindi ito angkop para sa mga hindi alam kung paano hawakan ang isang wika sa pagprograma, tulad ng Python.

Ang itinuturo na ito ay tungkol sa pagkilala sa boses at imaheng OCR, nang walang anumang kaalaman sa isang wika ng programa. Gayunpaman, ang lohikal na pag-iisip ay nananatiling isang kinakailangan. Dito ginagamit ang produktong Makeblock Neuron, na sinamahan ng daloy ng kapaligiran sa programa.

Ang produktong Neuron na ito ay nagsimula bilang isang proyekto ng Kickstarter noong 2017. Ito ay isang Electronic Building Block Platform na gumagamit ng lahat ng mga uri ng electronic 'blocks' na maaaring konektado ng mga magnetikong konektor. At karaniwang nilalayon bilang isang produktong STEM (Agham, Teknolohiya, Engineering, at Matematika). Samakatuwid ang produktong ito ay nakatuon sa lohikal na pag-iisip at (matuto) sa programa.

Mayroong tungkol sa 30 magkakaibang uri ng mga bloke ng Neuron. Tulad ng iba`t ibang mga uri ng mga transmiter at tatanggap, mga pindutan, LEDs, sensor at motor. Karamihan sa mga bloke ay nakikipag-usap lamang sa bawat isa. Ngunit ang isa sa mga bloke, ang WiFi block, ay maaaring konektado sa internet. Ginagawa nitong posible na ma-access ang mga aplikasyon sa internet tulad ng Microsoft Cognitive Services.

Ang mga unang hakbang ng Instructable na ito ay nagsisimula sa isang maikling pagpapakilala tungkol sa produktong Neuron at kung paano i-program ang mga ito. Kasama rito ang daloy ng programa na nakabatay sa daloy at ilan sa mga magagamit na elektronikong sangkap. Sinundan ito ng ilang mga halimbawa sa pagkilala sa Paningin at Boses. At sa wakas isang maliit na robot ng pagong. Alin na maaaring malayuang makontrol ng paraan ng isang joystick. Posibleng gumamit ng pagkilala ng boses gamit ang robot na ito. Gayunpaman, ang mga oras ng pagtugon ng kontrol sa boses ay dapat isaalang-alang.

Bilang karagdagan mayroong ilang karagdagang impormasyong panteknikal. Ang mga hakbang na ito ay nagbibigay ng impormasyon sa background at nagbibigay ng pananaw sa produktong Neuron.

G o s s e A d e m a

Hakbang 1: Neuron Explorer Kit

Neuron Explorer Kit
Neuron Explorer Kit
Neuron Explorer Kit
Neuron Explorer Kit

Ang mga bloke ng Neuron ay tulad ng mga elektronikong brick, at ang kulay ng bawat Neuron ay nagpapakita ng pangunahing pagpapaandar nito. Ang mga bloke ng enerhiya at komunikasyon ay berde; Ang mga bloke ng input ay Dilaw; Ang mga bloke ng kontrol ay kahel; At ang mga bloke ng output ay asul. Ang bawat Neuron ay may sariling dedikadong pagpapaandar, at nagsisimula silang makipag-usap sa bawat isa kapag nakakonekta sila sa bawat isa.

Ang produkto ay nagsimula bilang isang proyekto ng Kickstarter noong Abril 2017. At ang itinuturo na ito ay gumagamit ng Explorer Kit. Naglalaman ang Kit na ito ng mga sumusunod na bahagi:

  • WiFi (Neuron)
  • Lakas (Neuron)
  • Mikropono at Speaker (USB)
  • Led Panel 8x8 RGB (Neuron)
  • Joystick (Neuron)
  • Knob (Neuron)
  • Led Strip Driver (Neuron)
  • Led Strip 50cm (15 LEDs)
  • Dual DC Motor Driver (Neuron)
  • DC Motor (2x)
  • Motor Bracket (2x)
  • Gulong (2x)
  • Mini Wheel
  • Dual Servo Motor Driver (Neuron)
  • Servo Motor (2x)
  • Pagkilala sa Boses (Neuron)
  • Utrasonic Sensor (Neuron)
  • Wireless Transmitter (Neuron)
  • Wireless Receiver (Neuron)
  • Camera (USB)
  • Laser Pointer
  • Neuron Board (4x)
  • Magnet Wire 10 cm (2x)
  • Magnet Wire 20 cm (2x)
  • Micro USB Cable 20 cm (2x)
  • Micro USB Cable 100 cm (2x)

Naglalaman ang kit na ito ng lahat ng mga elektronikong bahagi para sa lahat ng uri ng mga proyekto ng STEM. Pangunahing punto ng pagtuon ay tila paggawa ng maliliit na mga robot. Ngunit ang pagkilala ng camera at boses ay nagbibigay sa mga ito ng maraming posibilidad kaysa sa mga robot lamang.

Ang bawat Neuron ay naglalaman ng isang magnet. At maaaring mailagay sa mga metal na bagay o sa mga ibinigay na Neuron board.

Ang nag-iisang bahagi na "nawawala" sa Explorer Kit na ito ay isang sensor ng tagasunod sa linya. Ito ay bahagi ng "All in One" Kit. Ang sensor na ito ay magiging isang mas lohikal na pagpipilian, sa halip na LED strip o LED matrix.

Hakbang 2: Mga Bloke ng Neuron

Mga Block ng Neuron
Mga Block ng Neuron
Mga Block ng Neuron
Mga Block ng Neuron
Mga Block ng Neuron
Mga Block ng Neuron

Maraming mga pakete ng Neuron ang naibenta sa pamamagitan ng isang kampanya sa Kickstarter. At sa sandaling ito ang mga unang pakete ay magagamit para sa regular na mga benta.

Mayroong tungkol sa 30 magkakaibang mga bloke, na maaaring konektado sa bawat isa sa mga magnetic konektor. Lumilikha ito ng isang linya ng mga bloke. Aling makipag-usap sa bawat isa sa pamamagitan ng App (Android, iOS).

Mayroong isang rechargable power block na nagpapagana sa lahat ng mga konektadong bloke. At lahat ng mga bloke ng komunikasyon ay may isang micro USB konektor, na maaaring magamit upang mapagana ang mga bloke. Karaniwang nagsisimula ang isang kadena sa isang bloke ng komunikasyon. At kung hindi ito pinalakas ng USB, ang susunod na bloke ay dapat na isang power block.

Ang enerhiya na isang bloke ng komunikasyon ay may berdeng kulay, at mayroong 5 sa mga ito:

  • Lakas.
  • Wireless Receiver.
  • Wireless Transmitter.
  • WiFi.
  • BlueTooth.

Ang programa ng App at Scratch ay nangangailangan ng koneksyon sa WiFi o BlueTooth. Ang 2 wireless blocks ay maaaring magamit para sa mga remote control na proyekto na may isang maikling distansya.

Naglalaman ang Explorer Kit ng tatlong mga block ng orange control:

  • Knob.
  • Joystick.
  • Pagkilala sa Boses.

At dalawang dilaw na sensor:

  • Kamera
  • Ultrasonic sensor

Ang mga bloke ng control at sensor ay nagbibigay ng input para sa iyong programa. Ang knob ay nagbibigay ng isang halaga sa pagitan ng 0 at 100, at maaaring magamit bilang isang dimmer o upang makontrol ang bilis ng isang motor. Nagbibigay ang joystick ng dalawang halagang labing -100 at 100, isang halaga para sa bawat direksyon. Sinusukat ng sensor ng ultrasonic ang distansya sa sent sentimo. Ang halaga ng output ay nasa pagitan ng 0 at 400.

Ang limang asul na mga bloke ng output sa kit na ito ay:

  • LED strip driver + Led strip.
  • LED panel.
  • DC Motor Driver
  • Servo Motor Driver
  • Mikropono at Tagapagsalita

Ang mga bloke ng output ay ibang-iba. Pinapayagan nito ang maraming iba't ibang uri ng mga proyekto. Tulad ng isang LED lamp, isang gumagalaw na robot at / o isang sound recorder.

Ang lahat ng mga bloke ng Neuron ay nakalista sa pahina ng Kickstarter.

Hakbang 3: Programming ang Neuron

Programming ang Neuron
Programming ang Neuron
Programming ang Neuron
Programming ang Neuron

Mayroong maraming mga paraan upang magamit ang mga bloke ng Neuron.

  1. Offline.
  2. Online na may isang App.
  3. Online na may mBlock Scratch.

Nag-aalok ang Offline ng isang madaling paraan upang maipakilala ang iba't ibang mga bahagi. Hindi ito nangangailangan ng programa. Ang Online na programa ay maaaring gawin sa isang App (Android / iOS) o isang computer program (mBlock 4.0). Ang WiFi block ay may kakayahang mag-save ng isang programa. Ang program na ito ay mananatiling tumatakbo hanggang sa ihinto ito ng App.

Ang App ay mas madaling gamitin kaysa sa mBlock 4.0 software. At hindi lahat ng mga bloke ng Neuron ay kasalukuyang nasa mBlock software.

Mayroong ilang mga kard na may mga sample na proyekto sa kahon ng Neuron. Maaari itong pagsamahin sa tulong ng App, at ipakita ang pangunahing mga prinsipyo ng iba't ibang mga bloke.

Hakbang 4: Offline Mode

Di konektado
Di konektado
Di konektado
Di konektado
Di konektado
Di konektado

Pangunahing nilalayon ang mode na ito upang pamilyar sa produkto, at hindi ito nangangailangan ng anumang programa.

Ang bawat sensor ng output block ay may kakayahang magbigay ng output sa mga bloke na nakakabit sa kanan. At ang bawat display block ay maaaring makatanggap ng mga signal ng pag-input mula sa kaliwa; Nagbibigay ng output; At ipinapasa ang signal ng pag-input sa mga karagdagang bloke na nakakonekta sa kanan.

Sa pamamagitan nito ang isang offline na kadena ay laging naglalaman ng maraming mga bloke sa isang nakapirming pagkakasunud-sunod: Isang berdeng Power block; Isang bloke ng dilaw o kahel (input o kontrol); At isa o higit pang mga bloke ng asul na output. At ang offline mode na ito ay gagana lamang mula kaliwa hanggang kanan (na may mga nababasa na titik).

Kinokontrol ng isang input o control block ang lahat ng mga sumusunod na output block. At ang output ay nakasalalay sa uri ng input block. Halimbawa: Ang knob ay gumaganap tulad ng isang dimmer kapag nakakonekta sa isang LED matrix. At ipinapakita ng joystick ang direksyon sa LED matrix. Ang mga signal mula sa maraming mga bloke ng pag-input ay hindi maaaring pagsamahin sa offline mode. Ang signal lamang ng huling bloke ang naipasa sa mga output block.

Ang pagsasama-sama ng pag-input at / o mga bloke ng kontrol ay nangangailangan ng mode na online (programa).

Hakbang 5: Pagprogram ng Batay sa Daloy

Pagprogram ng Batay sa Daloy
Pagprogram ng Batay sa Daloy

Kapag ang mga bloke ng Neuron ay konektado sa isang tablet (iPad) awtomatiko silang nagiging aktibo sa Online mode. Ngayon ang lahat ng mga konektadong bloke ay maaaring magamit upang makipag-ugnay sa bawat isa. Habang ang kapaligiran ng programa ay nagdaragdag ng pagpapatakbo ng lohika at matematika.

Ang dokumentasyon tungkol sa pagprograma ng mga bloke ng Neuron ay magagamit sa website ng Makeblock. Mayroon ding isang forum na nagbibigay ng maraming impormasyon. Dahil sa bago ang produktong ito, may mga regular na pag-update at pagdaragdag sa dokumentasyon sa website ng Makeblock.

Gumagamit ang Neuron App ng daloy na batay sa programa. Bilang karagdagan sa mga bloke ng Neuron na nagbibigay ng mga halaga ng output o nangangailangan ng mga halaga ng pag-input, mayroong lahat ng uri ng iba't ibang mga node sa programa. Nahahati ito sa maraming mga lugar at inilagay sa iba't ibang mga tab sa loob ng App. Bilang default, mayroong 4 na mga tab:

  • Batayan
  • Mga Kontrol
  • Oras
  • Advanced

Ang mga program node na ito ay maaaring magamit nang walang mga bloke ng Neuron.

Ipinapakita ng dokumentasyon ng online na Makeblock ang mga tampok ng interface ng App.

Logic at Matematika

Ito ang mga pangunahing pagpapaandar. At magkaroon ng isa o dalawang mga input at isang halaga ng output. Mayroong maraming mga simpleng kalkulasyon at paghahambing.

Maituturo na Robot
Maituturo na Robot

Ang function na toggle ay lilipat sa estado sa tuwing nakakatanggap ito ng isang 'Y'.

Numero

Mayroong dalawang mga node ng numero, isang "pangunahing" at isang "kontrol" na bersyon (ang mga ito ay nasa iba't ibang mga tab). Ang bersyon ng mga kontrol ay isang nakapirming numero, habang ang pangunahing numero ay may isang 'on' at 'off' na estado. Ipinapakita ng sumusunod na halimbawa ang pagkakaiba. Ang agwat ay nakabukas ('Y') at naka-off ('N') bawat segundo. Ang output ng berdeng numero ay 5 kapag ang input ay 'Y', kung hindi man ang halaga ay 0.

Maituturo na Robot
Maituturo na Robot

Ang curve node ay nagpapakita ng isang graph. Kapaki-pakinabang iyon upang maipakita ang iba't ibang mga halaga ng output. Ang iba pang mga kapaki-pakinabang na tagapagpahiwatig ay ang label at node ng tagapagpahiwatig.

Pagkakasunud-sunod

Ang pagkakasunud-sunod ay nagpapatakbo ng paulit-ulit o isang beses lamang kung ang input ay 'Y'. Pinapayagan nito ang isang pagkakasunud-sunod ng mga pagkilos.

Maituturo na Robot
Maituturo na Robot

Ang pagkakasunud-sunod ay nakakakuha ng isang senyas kapag ang switch ay nakabukas. Ang output ng pagkakasunud-sunod ay naipasa sa isang tagapagpahiwatig.

Tandaan ang kulay ng mga linya: Isinasaad ng mga asul na linya ang kasalukuyang daloy. At ang bilog sa kanan ng isang node ay laging nagpapakita ng kasalukuyang output.

Kaliskis

Isinalin ng scale node ang isang saklaw ng pag-input sa isang saklaw ng output. Halimbawa 0 hanggang 100 ay maaaring isalin sa isang halaga sa pagitan ng 0 at 255.

Maituturo na Robot
Maituturo na Robot

Ang mga halagang nasa itaas ng maximum ng saklaw ng pag-input ay nagreresulta sa isang halagang mas mataas kaysa sa maximum na sukat ng output! Maaaring gamitin ang filter upang malimitahan ang halaga.

Balbula

Ito ay isang node na pumasa sa mas mababang halaga ng pag-input kung ang mas mataas na halaga ng pag-input ay totoo. Ito ay pinakamahusay na ipinaliwanag sa isang halimbawa:

Maituturo na Robot
Maituturo na Robot

Ang berdeng agwat ng agwat ay lumilipat sa pagitan ng 0 at 1 bawat kalahating segundo. Ang ouput ng node na ito ay visilbe sa uppper graph. Ang lila pulso node ay nagbibigay ng isang output ng sinus, na may mga halaga sa pagitan ng -255 at 255. Ipinapakita ito sa mas mababang grap.

Parehong agwat at sinus ay input para sa balbula node. At ang halaga ng output ay 0 kapag ang halaga ng agwat ay 'N'. Kapag ang halaga ng agwat ay 'Y', ang halaga ng output ay katumbas ng halaga ng pag-input ng sinus. Ibinibigay nito ang gitnang grap.

Hakbang 6: Halimbawa ng Daloy

Halimbawa ng Daloy
Halimbawa ng Daloy
Halimbawa ng Daloy
Halimbawa ng Daloy

Ang pinakamahusay na paraan upang maipakita ang daloy ng programa ay sa pamamagitan ng isang halimbawa. Ang halimbawang ito ay hindi gumagamit ng mga bloke ng Neuron. At lahat ay maaaring mai-program ito pagkatapos i-download ang App. Buksan ang code environment at gumawa ng isang bagong programa. Piliin ang '(X)' kapag tinanong para sa isang koneksyon, at simulan ang programa.

I-drag lamang ang kinakailangang mga node sa lugar ng programa at ikonekta ang mga linya. Mag-click sa mga de node upang makita ang mga posibilidad, at upang baguhin ang mga halaga / setting.

Ang output ng mga pindutan ay 'N' bilang default. Ang pagpindot sa isang pindutan ay nagbibigay ng isang 'Y' bilang output. Ang output na ito ay ipinapasa sa isang random na generator ng numero. Bumubuo ito ng isang bagong numero (beteen 0 at 100) sa tuwing ang input ay may halagang 'Y' at ipinapasa ang output sa susunod na (mga) node.

Ang paghahambing ng mga node ay nangangailangan ng 2 mga input at ibalik ang halagang 'Y' kung ang kalagayan ay natutugunan. Ang itaas na ihambing ang mga tseke ng node kung ang halaga ng A port ay mas malaki kaysa sa halaga ng B port. Kung totoo ito ang ilaw ay nagiging berde. Sa kasalukuyan ang mas mababang ilawan ay berde, dahil ang 21 ay mas mababa sa 23.

Nangangailangan ito ng ilang kasanayan upang mag-program sa ganitong paraan. Ang malaking kalamangan ay hindi mo na kailangang isipin ang tungkol sa syntax ng code. At ang bawat node ay nagpapakita ng halaga ng output. Bilang karagdagan, ang mga asul na linya ay kumakatawan sa daloy ng data.

Hakbang 7: Pagkontrol sa Imahe

Pagkontrol sa Imahe
Pagkontrol sa Imahe
Pagkontrol sa Imahe
Pagkontrol sa Imahe

Mayroong dalawang mga bloke ng Neuron na maaaring ikabit sa bloke ng WiFi sa pamamagitan ng isang USB cable: Ang camera at microphone / speaker. Ang parehong mga aparato ay regular na mga aparatong USB at maaaring maiugnay sa isang PC. Nangangailangan ang camera ng ilang karagdagang mga driver, ngunit ang speaker ay gumagana bilang isang regular na USB speaker.

Lumilitaw ang isang tab at icon ng camera sa loob ng app kapag ang camera ay nakakabit sa WiFi block. Magbubukas ang icon ng isang window ng preview kasama ang imahe ng camera.

Mayroong isang photo / camera node sa loob ng tab ng camera. Kumukuha ito ng larawan kapag mayroong isang input signal na may halagang 'Y' (totoo). Matapos mailagay ang node na ito sa lugar ng programa mayroon itong tatlong mga pagpipilian (mag-click sa node):

  • Frame ng larawan
  • OCR
  • Pagsubok ng Emoticon

Ipinapakita ng frame ng larawan ang output ng node ng larawan. Ang susunod na tatlong mga node ay nagbibigay ng isang "photo camera". Kumuha ng larawan ang camera kapag pinindot ang pindutan (binibigyan nito ang 'Y' bilang output). At ito ay ipinapakita sa loob ng frame ng larawan. Ang imahe ay naka-imbak sa loob ng WiFi block, ngunit ay na-o-overtake kapag ang isang bagong larawan ay kinunan.

Maituturo na Robot
Maituturo na Robot

Posibleng gamitin ang timer para sa pag-input sa camera, ngunit huwag gawing masyadong maikli ang agwat (> 1 segundo). Iba pa ang WiFi block ay hindi maaaring hawakan ang data, at mag-hang saglit.

Isinalin ng node ng OCR ang mga imahe sa teksto. Gumagamit ito ng mga serbisyong nagbibigay-malay sa Microsoft. Ang WiFi block ay dapat na konektado sa internet, at ang App ay dapat na konektado sa WiFi block.

Ang susunod na programa ay kumukuha ng larawan kapag pinindot ang pindutan. Ang larawang ito ay ipinapakita at naproseso ng OCR node. Ang output ay inihambing ng tatlong mga node na ihinahambing ang teksto. Sinusuri nito ang mga halagang "isa", "dalawa" at "tatlo". At ang bawat halaga ay nagpapakita ng ibang imahe sa LED panel. Ang output ng node ng OCR ay ipinapakita rin ng isang "label" node. Ipinapakita nito ang "Hindi" (Mali) kapag walang kinikilala.

Maituturo na Robot
Maituturo na Robot

Isinasaad ng mga asul na linya ang daloy ng data sa loob ng programa. At ang 'Y' at 'N' pagkatapos ng bawat node ay kumakatawan sa halaga ng output. Pinapasimple nito ang pag-troubleshoot sa loob ng isang programa. Sa kasamaang palad, ang output ng LED matrix ay hindi ipinakita sa App.

Ang huling pagpipilian ng node ng camera ay ang pagsubok ng emoticon. Isinasalin nito ang mga mukha sa isang imahe sa isang emosyon.

Maituturo na Robot
Maituturo na Robot

Ang mga halimbawa sa itaas ay simple, ngunit ipinapakita nila ang pangunahing prinsipyo. Maaaring idagdag ang labis na lohika at mga bloke ng neuron upang lumikha ng mas kumplikadong mga programa

Hakbang 8: Pagkilala sa Boses (Mikropono)

Pagkilala sa Boses (Mikropono)
Pagkilala sa Boses (Mikropono)
Pagkilala sa Boses (Mikropono)
Pagkilala sa Boses (Mikropono)

Bilang karagdagan sa camera, ang isang mikropono / speaker na Neuron ay maaaring konektado sa WiFi block. Maaari itong magamit upang i-record at i-playback ang mga fragment ng audio. Ang pagkonekta sa Neuron na ito ay nagbibigay ng isang karagdagang tab na "tunog" sa App.

Ang record node ay magre-record lamang ng tunog kung ang input ay "Y ', nangangailangan ito ng isang pindutan o switch. Ang naitala na audio fragment ay ang output ng record node. Ang pagdaragdag ng" play sound "node kaagad na nagpe-play ng output na ito. Maaari itong magamit upang gumawa ng isang loro:

Maituturo na Robot
Maituturo na Robot

Ang pag-click sa microphone node ay nagbibigay ng 2 pagpipilian: "voice to text" at "save record".

Ang node na "save record" ay nakakatipid ng audio file sa filesystem sa loob ng WiFi Block. Ang file na ito ay nai-o-overtake sa tuwing nagsisimula ang isang bagong pag-record.

Ang node na "Mag-play ng tunog" ay may kakayahang maglaro ng input audio, ngunit posible ring pumili ng isang sound effects o naitala na file. Nangangailangan ito ng isang pagpalit ng input upang masimulan ang naibigay na tunog. At hihinto ito kaagad kapag ang input ay 'N' (false). Ang sumusunod na halimbawa ay isang uri ng dictaphone. Ang itaas na pindutan ay gumagawa ng isang pag-record at ang mas mababang pindutan ay nagpe-play ng pag-record na ito.

Maituturo na Robot
Maituturo na Robot

Ang pagpipiliang boses sa tekstong node ng mikropono ay gumagamit ng mga serbisyong nagbibigay-malay sa Microsoft upang isalin ang pag-record sa teksto. Ang label node ay may kakayahang ipakita ang output. Ang record at pag-play ng mga sound node ay hindi kinakailangan upang isalin ang boses sa teksto. Ngunit ang mga ito ay kapaki-pakinabang sa panahon ng programa upang suriin ang output.

Maituturo na Robot
Maituturo na Robot

Ang pag-debug ng tampok na ito ay maaaring gawin sa pamamagitan ng pag-log in sa WiFi block (advanced na tampok).

[2018-01-19 23:00:35] [WARN] Humiling ng handler na 'sound server' ay tinawag:

Posibleng suriin para sa maraming mga salita. At ang ihambing ang node ay gumagana tulad ng camera OCR.

Minsan ang parehong salita ay nagbibigay ng iba't ibang output. Halimbawa: ang "paalam" ay maaaring magbigay ng isa sa mga sumusunod na halaga: "good bye" o "paalam". Nangangailangan ito ng maraming mga node ng teksto na may parehong output:

Maituturo na Robot
Maituturo na Robot

Tandaan: Ang default na pagsasalita sa wikang teksto ay Ingles.

Hakbang 9: Pagkilala sa Boses (Neuron)

Pagkilala sa Boses (Neuron)
Pagkilala sa Boses (Neuron)
Pagkilala sa Boses (Neuron)
Pagkilala sa Boses (Neuron)
Pagkilala sa Boses (Neuron)
Pagkilala sa Boses (Neuron)

Ito ay isang nakatuong Neuron upang i-convert ang boses sa teksto. Tumatanggap ito ng 22 mga utos na hard-code sa loob ng bloke at ang Neuron code:

var COMMAND = {'I-on ang ilaw': 3, 'Turn Red': 4, 'Turn Blue': 5, 'Turn Green': 6, 'Turn White': 7, 'More light': 8, 'Less light': 9, 'Light off': 10, 'Motor Forward': 11, 'Motor Backward': 12, 'Speed Up': 13, 'Speed Down': 14, 'Love': 15, 'Smile': 16, 'Angry': 17, 'Sad': 18, 'Rock and roll': 19, 'Fire Fire': 20, 'Game start': 21, 'Winter is come': 22, 'Start': 23, 'Shut down': 24};

Ang blokeng ito ay tumatanggap lamang ng Ingles. At nangangailangan ito ng tamang pagbigkas. Walang gaanong lugar para sa error. At kahit na ang google boses isalin ang boses output ay hindi palaging aktibo ang kaukulang utos. Ngunit ang paggamit ng Google speach ay nananatiling isang magandang panimulang punto. Magsimula sa "Hello Makeblock", "Hello Makeblok" at / o "Helo makeblok". Sinusundan ng "winter is comming" o "turn green".

Ang mga utos na ito ay ginamit sa code ng unang imahe sa hakbang na ito. Ang tagapagpahiwatig sa kanan ng itaas na boses ng utos ng boses ay 'Y' (totoo). Ipinapahiwatig nito na kinilala ang utos.

Kailangan ng ilang kasanayan upang makatrabaho ang Neuron na ito. Sa kasamaang palad, inuulit ng block ang mensahe pagkatapos makatanggap ng isa (Naglalaman ito ng isang speaker at mikropono).

Hakbang 10: Remote Controlled LEGO Turtle

Remote Controlled LEGO Turtle
Remote Controlled LEGO Turtle
Remote Controlled LEGO Turtle
Remote Controlled LEGO Turtle
Remote Controlled LEGO Turtle
Remote Controlled LEGO Turtle
Remote Controlled LEGO Turtle
Remote Controlled LEGO Turtle

Naglalaman ang Neuron Explorer Kit ng 2 DC motor at 2 servo motor. Tumawag ito para sa isang robot: Isang tatlong gulong na pagong. Gumagamit ito ng mga motor at gulong mula sa kit na may ilang mga bahagi ng LEGO bilang frame.

Mayroong 8 mga beam, sa isang pabilog na paraan, nakakabit sa tuktok ng frame na ito. Ang mga beam na ito ay nagbibigay ng suporta sa LED strip. Tatlong mga magnetic Neuron board ay inilalagay sa tuktok ng 8 beams. Hawak nito ang mga sumusunod na bahagi ng neuron:

  • Wireless Receiver
  • Lakas
  • 10 cm cable
  • Servo driver ng motor
  • DC driver ng motor
  • LED strip driver
  • 10 cm cable

Ang pangwakas na 10 cm na cable ay nakakabit sa ultrasonik sensor, na inilalagay sa ulo ng pagong. Ang ulo na ito ay binubuo ng ika-apat na magnetic Neuron board. Sa wakas, ang buntot ay binubuo ng isang servo motor, na may isang lego beam na nakakabit dito.

Ang resulta ay parang "mga wire at electronics" lamang, ngunit ang takip ng pagong ay sumasakop sa halos lahat ng electronics.

Ang robot ay maaaring kontrolin gamit ang joystick. Kinakailangan nito ang bloke ng WiFi (o Bluetooth), ang Joystick at ang Wireless transmitter. Ang remote control ay nangangailangan ng isang mapagkukunan ng USB power. Mayroon lamang isang magagamit na bloke ng kuryente, na nasa loob ng robot.

Ang unang imahe ay nagpapakita ng isang posibleng programa para sa robot na ito. Ang joystick ay konektado sa DC motor block. Pataas / pababa para sa bilis at kaliwa / pakanan para sa direksyon.

Ang output ng ultrasonic sensor ay inihambing sa halagang 100 cm. Kung ang distansya ay mas malaki, kung gayon ang kulay berde / dilaw ay ipinapakita sa lahat ng mga LED. Ang mga kulay ay namumula / kahel kapag ang distansya ay bumaba sa ibaba 100 cm.

Gumagamit ang buntot ng isang pulso node sa pagitan ng -180 at 180. Ang pagpapaandar ng ABS ay ginagawang positibo ang negatibong halaga. Ang halagang ito ay ipinasa sa servo motor, at ang buntot ay nagsisimulang tumambay.

Sa pamamagitan ng pagsasama-sama ng mga bloke ng neuron at mga function node posible na magsulat ng mas kumplikadong mga programa. Ang bilis ng buntot ay maaaring depende sa bilis ng robot o ang robot ay maaaring tumigil kung ang ultrasonic sensor ay may sukat na mas mababa sa 30 cm.

Hakbang 11: Pagong 2.0

Pagong 2.0
Pagong 2.0
Pagong 2.0
Pagong 2.0
Pagong 2.0
Pagong 2.0

Ang dating pagong LEGO ay maaaring gawing simple sa pamamagitan ng paggamit ng isang piraso ng karton / kahoy. Gumamit ako ng isang piraso ng 8 mm playwud. Gumamit ng isang lagari upang lumikha ng isang bilog na may diameter na 19 cm. I-drill ang lahat ng mga butas gamit ang 4, 8 mm drill. Gamitin ang drill at jigsaw upang lumikha ng square square. Ito ay para sa mga gulong at mga wire.

Gumamit ako ng mga bahagi ng LEGO upang ikabit ang mga bahagi ng Neuron sa kahoy na plato. Mayroong ilang mga katugmang konektor sa loob ng Explorer Kit. Ngunit posible ring gumamit ng m4 bolts para sa karamihan ng mga koneksyon.

Dalawang DC motor (na may gulong) ay nakakabit sa ilalim (madilim na pulang parisukat). Tulad ng likuran ng gulong (itim na rektanggulo). Ginagamit ang isang LEGO technic beam para sa karagdagang distansya sa pagitan ng plato at ng likurang gulong. Ang tatlong mga parisukat na lila ay para sa mga magnetikong Neuron board. Ang ika-apat na magnetic Neuron board ay ginagamit para sa ulo / ultrasonic sensor (orange na rektanggulo). Ipinapakita ng pulang bilog ang lokasyon ng LED strip. Gumamit ng maliliit na goma (loom band) upang ikabit ang LED-strip.

Gumagana ang robot na ito sa parehong code tulad ng pagong LEGO.

Hakbang 12: Mga Software sa Internals

Mga Panloob na Software
Mga Panloob na Software
Mga Panloob na Software
Mga Panloob na Software
Mga Panloob na Software
Mga Panloob na Software

Madali ang pagprograma ng mga bloke ng Neuron, hindi na kailangang magsulat ng anumang code. Ang sumusunod na impormasyon samakatuwid ay para lamang sa advanced na gumagamit. Nagbibigay ito ng ilang pananaw sa pagpapatakbo ng produktong Neuron.

Ang pahina ng Makeblock Github ay naglalaman ng Neuron code. Maaari mong i-download ito at tuklasin ang code. Nakasulat ito sa Javascript at gumagamit ng nodeJS.

Ang WiFi block ay dapat na konektado sa internet. Kapag kumokonekta ang App sa SID ng WiFi block nakakatanggap ito ng isang IP address mula sa WiFi block. Ang WiFi blocks ay kumikilos ngayon tulad ng isang gateway.

Ang IP address ng WiFi block ay 192.168.100.1. Mayroong isang webserver na tumatakbo sa port 80 na nagpapakita ng isang interface ng pagsasaayos (password = makeblock). Pinapayagan nitong baguhin ang iba't ibang mga setting at pagpipilian.

Maaari mong baguhin ang timezone at / o ang WiFi SSID. Ngunit mag-ingat, mayroong maliit na dokumentasyon tungkol sa iba pang mga setting.

Ipinapakita ng tab na Mga pagbabahagi ng Serbisyo / Network ang lahat ng pagbabahagi ng network. Gumawa ako ng isang karagdagang pagbabahagi ng "Server" sa folder na "/ tmp / run / mountd / mmcblk0p1 / neurons-server". Ang folder na ito (at mga sub-folder) ay naglalaman ng lahat ng mga file ng log-, tunog at imahe.

Ginagawa nitong posible na mag-browse sa lahat ng mga file gamit ang Windows file explorer. Ang pagbubukas ng "\ 192.168.100.1 / Server" na pagbabahagi ay nagbibigay ng read-access sa lahat ng mga file ng Neuron engine. Kasama ang file ng server log:

aparato uuid: 6A1BC6-AFA-B4B-C1C-FED62004

subukan ang mqtt.connect na konektado sa iot cloud ok… [2018-01-19 22:56:43] [WARN] serverLog - Humiling ng 'server ng tunog' ng handler: {"startRecord"} [2018-01-19 22:56:43] [WARN] serverLog - simulang record [2018-01-19 22:56:45] [WARN] serverLog - Humiling ng 'server ng tunog' ng handler: {"stopRecord"} [2018-01-19 22:56:45] [WARN] serverLog - itigil ang tala [2018-01-19 22:56:46] [WARN] serverLog - Humiling ng 'server ng tunog' ng handler: {"speakerRecognize"} kahilinganSpeech na resulta: hello

Naglalaman ang config.js file ng lahat ng mga setting. Kasama rito ang Microsoft Keys at ang kasalukuyang antas ng pag-log. Maaaring mabago ang mga ito, ngunit laging panatilihin ang isang kopya ng orihinal na file.

Ang antas ng default na pag-log ay "WARN". Maaari itong mabago kung kinakailangan:

* `loglevel`: ang loglevel upang itakda, hindi mai-print ang log kung aling priyoridad ang mas mababa kaysa sa itinakda.

* kasalukuyang sumusuporta sa loglevel * ** TRACE **, * ** DEBUG **, * ** INFO **, * ** WARN **, * ** ERROR **, * ** FATAL **

Gumawa ako ng isang pagbabahagi lamang ng pagbabahagi sa network. Ginagawa ng isang pagbabahagi ng pagbasa ng sulat na posible na maglagay ng mga imahe -j.webp

Mayroon ding isang ssh server na tumatakbo sa port 22. Ginagawa nitong posible na mag-log in sa Linux shell. Gumamit ng Putty upang kumonekta sa 192.168.100.1 at mag-login gamit ang root user at password makeblock. Ngunit maging maingat.

Pinapatakbo ng mga bloke ng WiFi ang OpenWrt. Ito ay isang pamamahagi ng Linux para sa mga naka-embed na aparato. Ang software ng Neuron ay matatagpuan sa direktoryo ng "/ tmp / run / mountd / mmcblk0p1 / neurons-server".

Posibleng i-program ang karamihan sa mga bloke ng Neuron gamit ang mBlock software. Nangangailangan ito ng bersyon 4.0.4 ng software. Ang mga serbisyo ng Microsoft ay hindi magagamit sa bersyon na ito ng gasgas. Ang pagkilala sa boses na Neuron, na hindi nangangailangan ng mga serbisyong ito, ay maaaring magamit. Hindi sinusuportahan ng Bersyon 5 ng mBlock ang mga bloke ng Neuron sa sandaling ito (Enero 2018).

Ang mga bloke ng Neuron code ay magagamit sa Robots (asul) na bahagi. At ang software ng mBlock ay may kalamangan na hindi lamang ang mga konektadong bloke ang maaaring magamit. Walang katuturan na gumamit ng mga bloke na wala ka, ngunit ginagawang posible na magsulat ng code nang walang koneksyon sa anumang mga bloke ng Neuron.

Ang default na password ay dapat mabago kapag ginamit ang Neuron sa isang bukas na WiFi network.

Hakbang 13: Hardware Internals

Hardware Internals
Hardware Internals
Hardware Internals
Hardware Internals
Hardware Internals
Hardware Internals

Ang impormasyong ito ng hardware ay para lamang sa impormasyon sa background. Hindi ito napatunayan ng Makeblock!

Karamihan sa mga hardware mula sa mga produktong Makeblock ay mahusay na naitala. Ngunit walang gaanong impormasyon sa hardware tungkol sa produktong Neuron. Mayroong ilang mga imahe sa Kickstarter ngunit ipinapakita nito ang mga panloob na isang prototype. Ang isang ito ay mayroon lamang isang konektor ng USB, at ang aktwal na produkto ay may dalawang mga konektor sa USB.

Ipinapakita ng webserver sa loob ng WiFi block ang aktwal na hardware na ginamit para sa block na ito. Ito ay isang MediaTek LinkIt Smart 7688. Ang mga pangunahing tampok ng board na ito ay:

  • Nagpapatakbo ng OpenWrt Linux at sinusuportahan ang pagbuo ng application sa Python, Node.js at mga katutubong wika ng C programa.
  • Gumagamit ng isang MT7688AN bilang isang standalone MPU at sumusuporta sa dalawang mga mode ng pagpapatakbo - IoT gateway at IoT device mode
  • Sinusuportahan ang Wi-Fi, USB host at SD card.
  • Pin-out para sa PWM, I2C, SPI, UART, Ethernet, at I2S.
  • Sinusuportahan ang hanggang sa 256MB RAM na may karagdagang imbakan ng SD-card.

Ipinapakita ng mga system ng file ng Linux ang panloob na imbakan ng disk:

root @ makeblock_linkit: ~ # df -h

Laki ng Filesystem na Ginamit Magagamit na Paggamit% Naka-mount sa rootfs 17.9M 644.0K 17.3M 4% / / dev / root 12.8M 12.8M 0 100% / rom tmpfs 61.7M 812.0K 60.9M 1% / tmp / dev / mtdblock6 17.9M 644.0K 17.3M 4% / overlay overlayfs: / overlay 17.9M 644.0K 17.3M 4% / tmpfs 512.0K 0 512.0K 0% / dev / dev / mmcblk0p1 1.8G 101.4M 1.7G 5% / tmp / run / mountd / mmcblk0p1 /

Mayroong isang dami ng disk na pinangalanang mmcblk01 sa loob ng bloke. Ang pangalang ito ay kadalasang ginagamit para sa mga memory card. Mukhang mayroong isang 2 Gbyte SD card sa loob (1.7 Gbyte + 256 Mbyte para sa LinkIt 7688).

Ang mga pin ng pogo ay mayroong 4 na konektor: Isa para sa VCC, isa para sa lupa at dalawa para sa komunikasyon. Ang mga bloke ng Neuron ay malamang na nakikipag-usap sa I2c protocol. Dapat mayroong isang katugmang board ng Arduino sa loob ng bawat neuron.

Inirerekumendang: