Lego mindstorm by dan

334 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
334
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lego mindstorm by dan

  1. 1. Bricxcc Robot Lego Mindstorm NXT Per: Dan Gibert 2n Batxillerat A IES Forat del Vent
  2. 2. Programa <ul><li>Hem utilitzat el Brixcc, que es com una especie de document que l’has d’omplir d’ordres(especifiques) per que el robot actui segons tu vulguis. Té una amplia varietat d’ordres. </li></ul>
  3. 3. Lego Mindstorm NXT <ul><li>Aquest es el model del robot que hem utilitzat. Facil i senzill d’utilitzar, gracies a aquest robot hem pogut realitzar les practiques(fetes amb brixcc) i comprobar si funcionen bé. Mes info a www.lego.es </li></ul>
  4. 4. Tipus d’ordres <ul><li>Aquestes ordres s’escriuen de diferent color dins el programa ja que unes són instruccions propies del programa i altres són més generiques(serveixen per altres programes). </li></ul><ul><li>-task main </li></ul><ul><li>-OnFwd </li></ul><ul><li>-OnRev </li></ul><ul><li>-#define </li></ul><ul><li>-while </li></ul><ul><li>-if </li></ul><ul><li>-SetSensor </li></ul><ul><li>-else </li></ul>
  5. 5. Task main i OnFwd <ul><li>Task main serveix per indicar al robot la tasca principal que ha de fer. </li></ul><ul><li>OnFwd serveix per anar recte o girar, combinant-lo es poden fer multiples accions </li></ul><ul><li>Per exemple: </li></ul><ul><li>task main(){ </li></ul><ul><li>OnFwd (OUT_AC, 75); // recte amb Potencia de 75 </li></ul><ul><li>} </li></ul>
  6. 6. Define <ul><li>Define serveix per definir (introduir) variables. Per exemple: </li></ul><ul><li>#define PW 75 // constant que serveix per regular la potencia dels motors </li></ul>
  7. 7. While, if i else <ul><li>Mentre que(while) esta fent una orde “x”, si(if) pasa algo, fa una ordre “y”, en cas contrari (else) fa una ordre “z”. Per exemple: </li></ul><ul><li>#define MOVE_TIME 500 </li></ul><ul><li>#define TURN_TIME 360 </li></ul><ul><li>task main() { </li></ul><ul><li>while(true) //mentre va </li></ul><ul><li>{ </li></ul><ul><li>OnFwd(OUT_AC, 75); //endevant </li></ul><ul><li>Wait(MOVE_TIME); </li></ul><ul><li>if (Random() >= 0) // si s’activa random </li></ul><ul><li>{ </li></ul><ul><li>OnRev(OUT_C, 75); //gira dreta </li></ul><ul><li>} </li></ul><ul><li>else //en cas contrari </li></ul><ul><li>{ </li></ul><ul><li>OnRev(OUT_A, 75); //gira esquerra </li></ul><ul><li>} </li></ul><ul><li>Wait(TURN_TIME); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  8. 8. Tipus de sensors <ul><li>Exemples: </li></ul><ul><li>- sensor so : detecta entre 0 i 100 </li></ul><ul><li>task main() { </li></ul><ul><li>SetSensorSound(IN_2); //activa el sensor de so </li></ul><ul><li>OnFwd(OUT_A, 25); //recte </li></ul><ul><li>until (SENSOR_2 > 50); //mentre sensor es mes gran que 50 </li></ul><ul><li>Off(OUT_A); //s’apaga motors </li></ul><ul><li>} </li></ul><ul><li>- sensor llum : detecta entre 0 i 100 </li></ul><ul><li>task main() { </li></ul><ul><li>SetSensorLight(IN_3); //activa el sensor llum </li></ul><ul><li>OnFwd(OUT_AC, 25); //recte </li></ul><ul><li>} </li></ul><ul><li>- sensor tacte : detecta 0 o 1 </li></ul><ul><li>task main() { </li></ul><ul><li>SetSensor(IN_1, SENSOR_TOUCH); // activa sensor tacte </li></ul><ul><li>OnFwd(OUT_AC, 25); //recte </li></ul><ul><li>until(SENSOR_1 ==1); //mentre sensor de tacte esta pulsat(1) </li></ul><ul><li>Off(OUT_AC); //s’apaga </li></ul><ul><li>} </li></ul><ul><li>- sensor ultrasons : detecta entre 0 i 255cm </li></ul><ul><li>task main() { </li></ul><ul><li>SetSensorLowspeed(IN_4); //activa sensor ultrasons </li></ul><ul><li>OnFwd(OUT_A, 25); //recte </li></ul><ul><li>until (SensorUS (IN_4) < 15); // mentre el que detecta el sensor es mes petit que 15cm </li></ul><ul><li>Off(OUT_A); //s’apaga </li></ul><ul><li>} </li></ul>

×