Centrul de Excelență pentru Robotică Educațională Focșani

Acasă » Lecții de programare în mediul NXT 2.0

Lecții de programare în mediul NXT 2.0

Lecția 1: INTRODUCERE

Autor: prof. ing. Agache Săndel

Cv_CheieCuvinte cheie: NXT 2.0; mediu de programare.

IntrebariCe înseamnă NXT 2.0?

StudiuMda…Oare să încep deductiv? Risc și atunci vă spun că NXT 2.0 este un mediu de programare, al roboților Lego Mindstorms, de tipul intuitiv – figurativ. Iată cum arată secvențele de program:

Secv_1_NXTsauSecventa_2_NXTsauComparare

Fiecare iconiță (bloc) din imaginile anterioare reprezintă o instrucțiune (subrutină) aidoma limbajelor de programare bazate pe text, de exemplu C sau Pascal. Aceste blocuri se inserează pe foaia de proiect prin procedeul „drag and drop” și sunt organizate pe următoarele grupe: Comune, Actiuni, Sensori, Control, Date, Avansati, însă utilizatorul poate crea propriile blocuri utilizând opțiunea „user – defined”. Fiecare bloc are parametri de configurare, care pot fi modificați cu ajutorul unui panou de control.

IntrebariCum se procedează cu programul gata elaborat?

Programul elaborat pe un PC se incarcă printr-un cablu USB în unitatea centrală NXT fig. 1,  care se integrează într-o structură robotică, fig. 2.

Controlerul_NXT

Fig. 1

Rob_6

Fig. 2

StudiuAceastă unitate centrală numită și brick inteligent acceptă și alte limbaje de programare, de exemplu, în figura 3 se prezintă o secvență de programare în limbajul NXC, adică Not eXactly C („Nu chiar C”).

Void

Secventa_NXC_Mișcare în pătrat

Fig. 3

Iată și un program pentru controlul în buclă al motoarelor Lego Mindstorms în limbaj C, care  de asemenea se poate încărca în brick:

Void

task main()

{

   int i;                   //variabila i este declarată ca un întreg

 

   //pentru o buclă se declară că: inițializez i cu 0

   //continuă să ruleze cu condiția ca i să fie <20

   //și incrementează i cu câte 1 după fiecare iterație

   for(i = 0; i< 20; i++)

   {

     motor[motorB] = 75;   // motor B este rulat la nivelul 75 putere

      motor[motorC] = 75;   // motor C este rulat la nivelul 75 putere

     wait1Msec(4000);       // așteaptă 4000 milisecunde

 

      motor[motorB] = 75;   // motor B este rulat la nivelul 75 putere

    motor[motorC] = -75;   // motor C este rulat la nivelul -75 putere

     wait1Msec(750);       // așteaptă 750 milisecunde

   }

}

O PRIMĂ CONCLUZIE ESTE ACEEA CĂ PROGRAMAREA BRICK-ULUI SE POATE REALIZA ATÂT CU LIMBAJE GRAFICE, CÂT ȘI CU LIMBAJE DE TIP TEXT.


IMPORTANT!

Lecția 2 și celelalte lecții sunt accesibile numai elevilor înscriși la Centrul de Excelență, sau elevilor care au cont pe acest site.

Anunțuri

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s

%d blogeri au apreciat asta: