Programarea unui microcomputer lego nxt mindstorms 2

  • 04.01.16 02:41 •
  • alfatapok •
  • # 268708
  • Giktimes •
  • Tutorial •
  • 8 •
  • 6300

- la fel ca Forbes, doar mai bine.

Programarea unui microcomputer lego nxt mindstorms 2


De ce NXT Mindstorms 2.0? Pentru că pentru proiectele mele acest set mi sa părut cel mai potrivit, pentru că





microcomputer NXT este pe deplin compatibil cu platformele MRDS 4 și NI LabVIEW, precum si kit-ul este foarte flexibil în ceea ce privește asamblarea diferitelor configurații ale roboților - un minim de timp petrecut pe ansamblul robotului.

De ce MRDS 4 și NI LabVIEW? Sa întâmplat istoric. Studiind la cursurile superioare ale universității, sarcina a fost de a dezvolta cursuri de formare pe baza acestor platforme. În plus, platforma este suficient de simplu pentru a învăța și de funcționalitate, folosindu-le-ar putea scrie un program pentru a controla robotul direct, pentru a dezvolta o interfață de utilizator și pentru a testa într-un mediu virtual (în cazul MRDS 4).







Dar cine are nevoie cu adevărat de aceste lecții, în rețea și astfel o mulțime de proiecte pe robotică! Folosind acest pachet (NXT + MRDS 4 / NI LabVIEW), articole de formare există puține, în principal, utilizează mediul de programare nativ, și cel mai totul este banal. Toți cei care sunt interesați de robotică, programare și care au un set de NXT (și nu sunt câțiva dintre ei), publicul de vârstă este fie.

Limbile de programare grafică sunt rele și cei care le programează eretici! limbaje de programare grafică cu care și sunt MRDS 4 și NI LabVIEW au, fără îndoială, dezavantaje, cum ar fi orientarea către obiective înguste, dar totuși ele sunt funcțional puțin inferioare limbi textuale, în special NI LabVIEW a fost inițial dezvoltat ca un limbaj ușor de învățat pentru a rezolva problemele științifice și inginerești , pentru aceasta, conține multe biblioteci și instrumente necesare. Prin urmare, pentru a rezolva problemele noastre, aceste limbi grafice sunt cele mai potrivite. Și nu trebuie să fim disprețuiți la miză.

Totul arată copilăresc și deloc grave! Atunci când sarcina este de a pune în aplicare algoritmi în procesul de învățare elementele de bază și principiile de programare, robotica, sisteme în timp real, fără a intra în circuitele și protocoalele, acesta este un instrument foarte potrivit, deși nu ieftin (în ceea ce privește kit-ul NXT). În timp ce în același scop, pe baza Arduino kituri de potrivire bună, dar compatibilitatea cu MRDS 4 și NI LabVIEW în controlerul este aproape acolo, dar aceste platforme au farmecul lor.

O scurtă trecere în revistă a platformelor MRDS 4 și NI LabVIEW.


Voi clarifica terminologia. Sub platformă, în acest caz se înțelege o colecție de instrumente diferite, de exemplu limba VPL în MRDS, precum și durata de execuție a aplicației, adică Compilarea directă a aplicațiilor în fișiere executabile (* .exe) nu este prezentă.

LabVIEW (Laboratorul Virtual Instrumentation Engineering Workbench) - este un mediu de dezvoltare și de platformă pentru rularea programelor create în limbajul de programare grafică «G» National Instruments Company (pentru mai multe informații vezi articolul Wikipedia). LabVIEW este utilizat în sistemele de colectare și prelucrare a datelor, precum și pentru gestionarea obiectelor tehnice și a proceselor tehnologice. LabVIEW ideologic foarte aproape de SCADA-sisteme, dar spre deosebire de acestea se concentreze mai mult pe rezolvarea de probleme, mai degrabă decât în ​​domeniul sistemului automatizat de control al proceselor (sistem automat de control al procesului) ca în ARS (cercetarea sistemelor automatizate). Limbajul de programare grafic "G" folosit în LabVIEW se bazează pe arhitectura fluxurilor de date. Secvența de execuție a operatorilor în astfel de limbi nu este determinată de ordinea apariției acestora (ca în limbile de programare imperative), ci de prezența datelor la intrările acestor operatori. Operatorii care nu sunt conectați prin date sunt executați în paralel într-o ordine arbitrară. Programul LabVIEW este numit și este un instrument virtual (instrument virtual virtual) și este alcătuit din două părți:
  • Diagrama bloc care descrie logica dispozitivului virtual;
  • Panoul frontal care descrie interfața cu utilizatorul aparatului virtual.

O scurtă prezentare a suitei LEGO NXT Mindstorms 2.0.


NXT este alcătuit dintr-o unitate de control, patru senzori și trei servomotoare. Unitatea de comandă conține:
  • 32-bit microcontroler AVR7 cu memorie FLASH de 256 KB și memorie RAM de 64 KB;
  • Microcontroler AVR pe 8 biți cu memorie FLASH de 4 KB și memorie RAM de 512 octeți;
  • modul radio Bluetooth V 2.0;
  • Port USB;
  • 3 conectori pentru servomotoare;
  • 4 conectori pentru senzori;
  • Afișaj LCD cu o rezoluție de 99x63 pixeli;
  • difuzor;
  • conector pentru 6 baterii AA.

Senzori (în diferite configurații diferite seturi de senzori):
  • senzor ultrasonic;
  • doi senzori tactili (senzori de atingere);
  • senzor de culoare.

Programarea unui microcomputer lego nxt mindstorms 2


Figura 1 - Microcomputer NXT cu senzori și dispozitive conectate

Și, bineînțeles, în set există diferite părți LEGO în factorul de formă LEGO Technic din care se vor asambla actuatoarele și structura de susținere.

Programarea unui microcomputer lego nxt mindstorms 2


Figura 2 - Detalii în factorul de formă LEGO Technic

Scriem prima cerere.


Să scriem prima aplicație. Lasă, clasic, această aplicație să scoată textul "Bună ziua, lumea!". Implementarea va avea loc alternativ în MRDS 4 și NI LabVIEW, în cadrul căruia vom lua în considerare specificul fiecărei platforme.

1. Platforma MRDS 4.


Pornim VPL (Start Menu - Toate programele - Microsoft Robotics Developer Studio 4 - Visual Programming Language). Acest mediu vă permite să dezvoltați aplicații în limba VPL, pentru a efectua testarea într-un mediu virtual VSE. Programul din VPL este o diagramă formată din blocuri interconectate. În fereastra deschisă, pe lângă bara de comandă și meniul standard, există 5 ferestre principale:

  1. Activități de bază - conține blocurile de bază care implementează acești operatori ca o constantă, o variabilă, o condiție etc .;
  2. Servicii - conține unități care oferă acces la platforma MRDS funcționale astfel de blocuri pentru a interacționa cu o componentă hardware a robotului, sau unități pentru o casetă de dialog;
  3. Proiect - combină diagramele incluse în proiect, precum și diverse fișiere de configurare;
  4. Proprietăți - conține proprietățile blocului selectat;
  5. Fereastra Diagrame - conține, direct, diagrama (codul sursă) al aplicației.

Programarea unui microcomputer lego nxt mindstorms 2

Figura 3 - Mediu de programare VPL

Realizăm următoarea secvență de acțiuni:

  1. Adăugați blocurile de date (din fereastra Activități de bază) și blocul de servicii Simple Dialog (din fereastra Servicii),
  2. în caseta Date, introduceți "Hello, World!" (fără ghilimele) și selectați tipul de date String,
  3. conectați blocul de date la blocul Simple Dialog, apare o casetă de dialog,
  4. mai departe, facem totul ca în Figuri

Programarea unui microcomputer lego nxt mindstorms 2

Figura 4 - Fereastra de conexiuni

Programarea unui microcomputer lego nxt mindstorms 2

Figura 5 - Fereastra de conexiuni de date

Programarea unui microcomputer lego nxt mindstorms 2

Figura 6 - Vizualizare grafică completă

  • Rulați programul pentru execuție.

    Programarea unui microcomputer lego nxt mindstorms 2

    Figura 7 - Rezultatul programului

  • 2. Platforma NI LabVIEW.


    Pe această platformă, totul se realizează, practic, identic. Lansați mediul LabVIEW. Înainte de a ne apar două ferestre, primul - Panoul frontal, destinat să pună în aplicare interfața cu utilizatorul (aspectul instrumentului virtual), secunda - Schema bloc, pentru punerea în aplicare a logicii programului.

    Programarea unui microcomputer lego nxt mindstorms 2


    Figura 8 - ferestre de mediu LabVIEW

    Vom folosi fereastra de bloc diagramă. Vom realiza următorii pași:

    1. în fereastra Diagrama bloc, sunăm meniul contextual, făcând clic dreapta,
    2. în fereastra care apare, mergeți la file ca în figură și selectați String Constant,

    Programarea unui microcomputer lego nxt mindstorms 2

    Figura 9 - Meniu contextual

  • vom plasa acest bloc și vom introduce "Bună ziua, lumea!",
  • în mod similar, selectați Dialogul One Button,

    Programarea unui microcomputer lego nxt mindstorms 2

    Figura 10 - Un dialog cu butoane

  • conectați blocurile așa cum se arată în imagine,

    Programarea unui microcomputer lego nxt mindstorms 2

    Figura 11 - Diagrama pregătită

  • executați programul făcând clic pe butonul sub forma unei săgeți orizontale de pe bara de activități,

    Programarea unui microcomputer lego nxt mindstorms 2

    Figura 12 - Rezultatul programului

  • Vă puteți ajuta și puteți transfera niște bani la dezvoltarea site-ului







    Articole similare

    Trimiteți-le prietenilor: