lego mindstorm nxt alex sanchez

15
Lego Mindstorm NXT

Upload: alex-san

Post on 27-Jul-2015

367 views

Category:

Education


16 download

TRANSCRIPT

Page 1: Lego mindstorm nxt alex sanchez

Lego Mindstorm NXT

Page 2: Lego mindstorm nxt alex sanchez

Presentació del bloc NXT

El bloc NXT es el cervell del robot.

Consta de 3 connexions per a motors y 4 connexions per a diferents sensors.

Page 3: Lego mindstorm nxt alex sanchez

Motors

Motor: és la part mecànica del robot que el permet moure’s en l’espai.Acoblat d’una manera o una altre es pot utilitzar com a braç per a glopejar un objecte.

Una avantatge que tenen aquestos motors es que es poden controlar amb graus.

Motor vist desde l’exterior

Motor vist desde l’interior

Page 4: Lego mindstorm nxt alex sanchez

MotorsProgramació

Els motors es comanden amb el programa mitjançans les següents ordres:

- Per tirar endavant:

OnFwd(OUT_motor que es vol activar, potencia del motor);

Exemple:OnFwd(OUT_AC,50);

- Per tirar enrera;

OnRev(OUT_motor que es vol activar, potencia del motor);

Exemple:OnRev(OUT_AC,50);

Page 5: Lego mindstorm nxt alex sanchez

Sensors

Sensor ultrasons: Aquest sensor funciona mesurar el temps que tarda al anar i tornar una senyal ultrasònica.

Si el temps es gran l’objecte esta lluny del robot, si el temps es petit vol dir que l’objecte es a prop del robot. Programació:

SetSensorLowspeed(IN_4); SetSensorLowspeed, es refereix al sensor que estem utilitzan, en aquest cas el sensor d’ultrasons

IN_4, vol dir la entrada a la que esta connectat sensor.

Page 6: Lego mindstorm nxt alex sanchez

Sensors

Exemple d’un programa amb el sensor d’ultrasons.

task main(){SetSensorLowspeed(IN_4);

while(true){

if (SensorUS(IN_4) > LLINDAR) // detecta obstacle a més de 40cmOnFwd(OUT_AC,PW); // motors AC cap endevant

elseOnRev(OUT_A,PW);

}

}

Page 7: Lego mindstorm nxt alex sanchez

Sensors Sensor de contacte: Aquest sensor li dona al

robot el sentit del tacte. El robot detecta quan s'està pressionant o quan s’està alliberant

Programació:SetSensorTouch(IN_1); SetSensorTouch, es refereix al sensor que estem utilitzan,

en aquest cas el sensor de contacte IN_1, vol dir la entrada a la que esta connectat sensor.

Page 8: Lego mindstorm nxt alex sanchez

Sensors Exemple d’un programa amb el sensor de contacte:task main (){

SetSensor(SENSOR_1, SENSOR_TOUCH); // EL TIPUS DE SENSOR A SELECCIONAROnFwd (OUT_AC,25);while (true){

if(SENSOR_1==1)// HASTA QUE EL SENSOR SEA 1{

OnRev(OUT_AC,25); // SE APAGA MOTOR A Wait(1000);OnFwd(OUT_A,25);Wait(1000);OnFwd(OUT_AC,25);

}}}

Page 9: Lego mindstorm nxt alex sanchez

Sensors Sensor de llum: Aquest sensor permet al robot

distingir entre claretat i foscor distingir diferents colors segons la intensitat de la llum reflectida pels objectes segons el seu color.

Programació: SetSensorLight (IN_3); SetSensorLight, es refereix al sensor que estem utilitzan,

en aquest cas el sensor de llum IN_3, vol dir la entrada a la que esta connectat sensor

Page 10: Lego mindstorm nxt alex sanchez

Sensors Exemple de programa amb el sensor de llum:

task main (){SetSensorLight (In_3) ;

OnFwd( OUT_AC, 25);Until ( SENSOR_3 <= 30);Off(OUT_AC)

}

Aquest Programa el que fa es tirar endavant i rep que la llum es igual o mes petita que 30, el robot s’atura.

Page 11: Lego mindstorm nxt alex sanchez

Sensors Sensor de so: Aquest sensor nomes detecta el la quantitat

de so, no detecta el tipus de so o modulació que donem a un so, nomes els decibels que proporcionem.

Programació:SetSensorSound (IN_2); SetSensorLight, es refereix al

sensor que estem utilitzan, en aquest cas el sensor de llum

IN_3, vol dir la entrada a la que esta connectat sensor

Page 12: Lego mindstorm nxt alex sanchez

Sensors Exemple de programa amb el sensor de llum:

task main (){ SetSensorSound(IN_2);

OnFwd(OUT_AC,25);until (SENSOR_2 > 50);Off(OUT_AC);

}

Aquest Programa el que fa es tirar endavant i quan sent un sorollo mes gran de 50 s’atura.

Page 13: Lego mindstorm nxt alex sanchez

Altres Funcions Altres tipus de funcions:OUT = Sortides, nomes motorsMotors = A, B o CX= potència que es vol donar al motor, en tant per cent

1. OnFwd/OnRev(OUT_ motor a seleccionar, X);-la acció OnFwd vol dir que activem el motor endavant.-la acció OnRev vol dir que activem el motor endarere.

Exemple: OnFwd(OUT_A,80);

- Aquesta acció vol dir que activem el motor A endavant en un 80% de la seva potencia.

Page 14: Lego mindstorm nxt alex sanchez

Altres Funcions

2. defineAquesta funció serveix per definir variables

3. Wait ( temps d’espera en milisegons);Exemple: Wait (4000);- Aquesta acció vol dir esperi en el estat que esta el temps que

l’hi indiquem nosaltres

4. Off(OUT_motors a seleccionar)Exemple: Off(OUT_A)Apaga el motor A

Page 15: Lego mindstorm nxt alex sanchez

Altres Funcions 5. While (true) - per repetir accions.

6. IfAquesta acció serveix perque el robot si no pot fer una acció faci una

altra, o en el cas dels sensors si detecta el que se l’hi ordena que faci una acció o si no detecta que faci una altra acció.

If (SENSOR_1==1)// HASTA QUE EL SENSOR SEA 1{Acció a fer;} else { Acció a fer ; }