Lego mindstorm nxt alex sanchez

Preview:

Citation preview

Lego Mindstorm NXT

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.

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

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);

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.

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);

}

}

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.

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);

}}}

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

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.

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

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.

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.

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

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 ; }