SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Tecnologia 2n ESO Robòtica1
2n ESO
DOSSIER Professor ROBÒTICA
TEC OLOGIA
Tecnologia 2n ESO Robòtica2
Robòtica 2n ESO
Scratch.
• Instal·lació de l’S4A (fer una còpia de l’arxiu S4A.image a l’escriptori (per exemple)
• Instal·lar el programa Arduino (Arduino.cc/download)
• Creació d’un compte a Scratch.mit.edu
o Programa1. Fer el disseny d’un robot i que respongui (endavant, enrera) al
prèmer determinades tecles
El robot ha d’estar vist des de dalt, tenir 2 rodes motrius, i 2 “antenes”
(equivaldran a sensors de tacte o òptics) davanteres.
S’ha de dissenyar en horitzontal (Eix X) (facilita el seu control posterior)
Les dues antenes han de ser una de cada color
A l’apretar W avança (10 passos)
A l’apretar S retrocedeix (10 passos)
Programa1
o Programa2. El robot avança (Eix Y) cap amunt i s’atura al tocar la vora,
El robot inicia el moviment en el punt (0,-150)
Avançarà sol cap endavant
Programa2
Tecnologia 2n ESO Robòtica3
o Programa3. Igual que el programa anterior però aquest cop s’aturarà al tocar una línia negra amb
alguna de les antenes
Dibuixar una línia negra a la part superior de la “pista”
El robot inicia el moviment en el punt (0,-150)
Avançarà sol cap endavant
Programa3
o Programa3.1. Igual que el programa anterior però aquest cop el robot avançarà d’esquena
Fes aquest parell de canvis
Amb aquest parell de canvis es comprova que el robot s’atura amb el contacte de les antenes
Tecnologia 2n ESO Robòtica4
o Programa4. Repetir el programa 2 però fent que el robot avanci de manera inclinada
Afegir un valor de gir aleatori
Programa4
o Programa5. Repetir el programa 3 però fent que el robot avanci de manera inclinada
Afegir un valor de gir aleatori
Programa 5.1. Canviar els colors dels sensors de les antenes per uns altres colors, per
comprovar que no s’atura igual (o que no s’atura)
Programa5 Programa5.1
Tecnologia 2n ESO Robòtica5
o Programa6. A partir del programa 5. Quan el robot xoca contra una paret, fer que retrocedeixi una
mica
Cal afegir una funció.
Quin problema apareix, com es soluciona?
Programa6
o Programa7. A partir del programa 6. Quan el robot xoca contra una paret, fer que retrocedeixi una
mica, seguidament giri uns 15 graus i continuï avançant.
Completar la línia negra superior amb un quadrat.
Programa7
Molt important
Tecnologia 2n ESO Robòtica6
o Programa8. A partir del programa 7. El robot segueix una
línia negra. Amb els “sensors llargs davanters”
Crear un petit circuit i comprovar que el robot se’n surt
Si el robot se surt de la línia sempre es pot variar l’angle
de gir
Tecnologia 2n ESO Robòtica7
o Programa9. El robot segueix una línia negre amb “dos sensors de llum”.
• Els sensors de llum són dos puntets de colors diferents
en la part davantera del robot
Es pot aprofitar el circuit del programa 8 o crear-ne un de nou.
En el robot es faran uns petits canvis en els sensors. Cal eliminar les dues “antenes”
davanteres i canviar-les per 2 quadradets de colors diferents que faran de sensors òptics (En
aquest exemple el robot té 3 quadradets, encara que només es faran servir els dos exteriors,
blau i verd)
El robot se l’ha de col·locar amb el punter al principi del circuit.
Quan el robot detecta amb un o amb dos sensors la línia negre, el robot reacciona d’una
manera específica
Cal introduir variables i dos condicions de colors. S’utilitza l’estratègia de la suma de valors en
base 2. Així s’aconsegueix que totes les combinacions de colors posibles sempre donguin un
valor diferent i es puguin analitzar sense problema
En aquest cas s’establirà la condició de si no detecta línia negre, és a dir, si la línia està entre
els dos sensors el robot avançarà.
Aquesta condició, genera un problema. Quin?
Quan el robot no detecta res continúa avançant i no s’atura mai.
Es pot arreglar amb un 3r sensor (el central)
Programa9
Tecnologia 2n ESO Robòtica8
o Programa10. El robot segueix una línia negre amb “tres sensors de llum”. Millora del 9
• Els sensors de llum són tres puntets de colors diferents en la part
davantera del robot
El 3r sensor (el central) el farem de color vermell.
El robot se l’ha de col·locar amb el punter al principi del circuit.
Cal introduir variables i tres condicions de colors. S’utilitza l’estratègia de la suma de valors en
base 2. Així s’aconsegueix que totes les combinacions de colors posibles sempre donguin un
valor diferent i es puguin analitzar sense problema
Programa10
o Programa11 (Molt difícil). A partir del programa 7. El robot surt d’un petit laberint
Crear un petit circuit i comprovar que el robot se’n surt
El robot ha de començar a moure’s al principi del circuit.
Quan el robot toca amb l’antena dreta a de rectificar cap a l’esquerra. I quan toca amb l’antena
esquerra ha de rectificar cap a la dreta
Cal introduir variables i moltes combinacions de colors.
Tecnologia 2n ESO Robòtica9
Placa Proto-board. Connexió bàsica
Línia de positius: Des de qualsevol punt de la
línia es pot punxar un cable (vermell) del qual
sortirà corrent
Línia de negatius: Des de qualsevol punt de la
línia es pot punxar un cable (negre) del qual
arribarà corrent
Alimentació: Cable USB quadrat (placa
arduino)-rectangular (ordinador)-plana
Alimentació
GND
Línia de positius
Línia de negatius
Cable color vermell: Va des de el pin 5V de la
placa Arduino fins al pin central de l’interruptor
Cable color negre: Va des de el pin GND de la
placa Arduino fins al qualsevol foradet de la
línia negra de la placa proto
Pin 5V
Cable punxat en la “cama”
central del commutador
Cable punxat en una de
les “cames” laterals del
commutador
Tecnologia 2n ESO Robòtica10
Abans de començar a treballar amb l’S4A
Carregar el programa Firmware _el_que_funciona, des del programa Arduino-UNO
S4A
El programa S4A només s’obrirà si troba l’arxiu S4A.image.
L’accés directe del programa i aquest arxiu han d’estar en la mateixa carpeta (o localització, per
exemple l’escriptori)
Evolució de programes
Cal recordar que els pins del polsador (o sensors òptics) estan
“alterats”. El pin 1 del programa és el pin2 de la placa Arduino. El pin 2
del programa és el pin3 de la placa Arduino)
Button_Led.
S’il·lumina 1 LED al prèmer un polsador (mentre està premut)
Muntatge:
Si el cable de senyal del polsador no arriba al
pin2-digital, es pot empalmar com a la figura
Cama llarga del LED
Pin 13 digital
Pin 2 digital
Cable Vermell. Empalma
vermell del polsador amb la
línia de punts de vermells
Cable egre. Empalma
negre del polsador amb la
línia de punts de negres
Tecnologia 2n ESO Robòtica11
Activació:
1. Prèmer la bandera verda. El programa queda envoltat d’una vora blanca
2. Prèmer el polsador sense haver premut l’interruptor. No ha de funcionar (no arriba
corrent a la placa proto)
Si el LED s’encén hi ha un error en el muntatge o l’interruptor està mal col·locat
3. Prèmer el polsador havent premut l’interruptor. S’ha d’encendre el LED
Pulsador
apretat
Interruptor
NO premut LED NO
s’encén
Pulsador
apretat
Interruptor
premut LED
s’encén
Tecnologia 2n ESO Robòtica12
• Modificacions sobre aquest programa.
o Provar de fer el mateix però amb l’altre polsador. Així confirmem que funcionen tots 2
o Canviar el pin digital del polsador Del pin2 al pin3 de la placa Arduino. També cal canviar
la configuració del programa a Digital2 premut
o Canviar el pin digital del LED. Del pin13 al pin10 o al pin11 de la placa Arduino. També cal
canviar la configuració del programa a Digital 10 encés.
o Canviar la posició del LED en la placa Proto. No cal canviar el programa
o Afegir un altre LED pin12 i pin11 (al prèmer encès13 i apagat11 i a l’inrevés)
PrS4A1. Button_Led (retard)
S’il·lumina 1 LED durant un temps concret al prèmer un pulsador.
Muntatge idèntic a l’anterior
• Modificacions sobre aquest programa.
o Canviar el valor del repeteix. Investigar quin valor del repeteix equival a 1 segon.
o Canviar el pin digital del LED. Del pin13 al pin10 o al pin11 de la placa Arduino. També cal
canviar la configuració del programa a Digital 10 encés
PrS4A2. Button_2Led 1 pulsador
S’il·luminen 2 LEDs al prèmer un pulsador (mentre està premut)
Muntatge idèntic a l’anterior, però amb 2 LEDs
• Modificacions sobre aquest programa.
o Canviar el pins digital dels LEDs. Combinar entre els pins 10, 11 i 13
o Canviar de polsador i de pin (del pin2 al pin3) de la placa Arduino
Tecnologia 2n ESO Robòtica13
PrS4A3. Button_2Led 1 pulsador_ retard
S’il·luminen 2 LEDs durant un temps concret al prèmer un pulsador
Muntatge idèntic a l’anterior,
• Modificacions sobre aquest programa.
o Canviar el valor del repeteix. Comprovar que el valor del repeteix equivalent a 1 segon, és
correcte
PrS4A4. but_2led 1 puls ret dif
S’il·luminen 2 LEDs durant un temps concret, però cada led durant un temps diferent, al prèmer un
pulsador. S’il·lumina el 1r LED (el que més dura), poc després el 2n LED i s’apaguen els 2 LED a l’hora.
Muntatge idèntic a l’anterior,
• Modificacions sobre aquest programa.
o Canviar els valor dels repeteix.
Tecnologia 2n ESO Robòtica14
PrS4A5. but_2led 1 puls ret cons
S’il·luminen 2 LEDs durant un temps concret,1r s’encén un LED i s’apaga i seguidament el 2n LED.
Cal observar que si no es dóna la instrucció d’apagar el 1r LED, aquest quedaria encés
Muntatge idèntic a l’anterior,
• Modificacions sobre aquest programa.
o Canviar els valor dels repeteix.
Tecnologia 2n ESO Robòtica15
PrS4A6. 1 motor 1 botó
Al prémer 1 botó simultàniament s’il·lumina 1 LED i es mou un motor durant un temps concret.
Introducció a les funcions.
Muntatge En aquest cas ,alimentarem un motor (vermell, negre, senyal)
Connectarem un polsador i un LED
• Modificacions sobre aquest programa
o Canviar el valor del repeteix. Calcular quin és el valor que farà que la roda faci una volta
completa
o Canviar el sentit horari per l’antihorari
o Provar l’altre motor. Observar com gira en horari i en antihorari
o Canviar el pin del motor als pin7, pin8 i pin12 i comprovar si tots funcionen correctament
S’executarà el que hi hagi a
motor1 (funció) i seguidament
continuarà el programa
El cable groc del motor és
el senyal
El cable fosc és el negatiu
El cable vermell és el
positiu
Vermell a vermells
Negre a negres
LED al pin13
Connectors del polsador. Senyal
al pin2 (digital1 premut)
Tecnologia 2n ESO Robòtica16
PrS4A7. Seguir una línia negre (2 sensors òptics - 2 motors)
Segueix una línia negre (cinta aïllant brillant). S’utilitzen 2 dels 3 sensors inferiors.de
Muntatge
Els 3 sensors inferiors tenen un connector positiu (cable vermell) i un connector negatiu
(cable negre) comú per als 3 sensors
NOTA: En aquest cas els
sensors extrems tenen cables
verds i el sensor central és blau.
IMPORTANT: Aquests colors
poden estar invertits. No passa
res, va exactament igual!!!
Cada motor té els seu vermell,
negre i senyal Pin7 i Pin4
Vista inversa
Positiu dels
sensors
Negatiu dels
sensors
Sensor esquerra
Pin2, (equival a digital1 premut)
en el programa S4A
Sensor dret
Pin3, (equival a digital2 premut)
en el programa S4A
El cable verd
sobra.
Sensor central
Tecnologia 2n ESO Robòtica17
Programa Seguidor línia negre
´
Tecnologia 2n ESO Robòtica18
Programes d’aprenentatge PB_v1
*Pins
sed = 2;
sdd = 3;
boto_e = 4;
boto_d = 5;
ultraso_e = 6;
ultraso_d = 7;
*Funcions de moviment
endavant(#);
enrera(#);
parada(#);
gir_dreta(#);
gir_esquerra(#);
gir_suau_dreta(#); //moviment enrera
gir_suau_esq(#); //moviment enrera
*Control del programa principal
void loop() {
Serial.println();
Serial.println("NOVA LECTURA");
lec=0; // substitueix als lec=0 de les funcions lectura_sensors_IR i lectura_ultrasons
//inici de les funcions
***Aquí van les instruccions***
//final de les funcions
analitza_resultats();
}
***MOLT IMPORTANT***
Cada cop que s’iniciï una pràctica cal salvar el programa amb un nom nou i que faci referència al
què farà el robot
Pràctica A1
endavant(40);
parada(10); // si no escrivim aquesta instrucció, el robot no s’aturarà mai
Pràctica A2
endavant(40);
gir_esquerra(50);
endavant(10);
parada(100);
Pràctica A3
endavant(40);
gir_suau_esq(30);
endavant(20);
gir_suau_dreta(30);
endavant(20);
parada(100);
Tecnologia 2n ESO Robòtica19
*Controls dels sensors de tacte i òptics
boto_e = 4; Li assignem el valor 1 a la variable sensors_actius
boto_d = 5; Li assignem el valor 2 a la variable sensors_actius
sed = 2; sensor òptic davanter esquerra. Li assignem el valor 4 a la variable sensors_actius
sed = 3; sensor òptic davanter dret. Li assignem el valor 8 a la variable sensors_actius
*Control del programa secundari (analitza els sensors)
void analitza_resultats(){
if(sensors_actius==1){// informar de que es detecta (en aquest cas: polsador esq)
Serial.println("informació clara del que ha de passar.");
//inici funcions de moviment endavant, enrera, parar, etc...
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
else{ //inici funcions. Acció que fa el robot en cas de no trobar res!!
//final funcions
delay(5);}
}
Pràctica A4.1 (sensor de tacte esquerra. Xoca i rectifica)
void loop() {...
//inici de les funcions que activen els sensors
lectura_boto_optics();
//final de les funcions....
}
void analitza_resultats(){
if(sensors_actius==1){// informar de que es detecta (en aquest cas: polsador esq)
Serial.println("xoc esquerra ");
//inici funcions de moviment endavant, enrera, parar, etc...
gir_suau_dreta(30);
enrera(20);
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
else{ //inici funcions
endavant(1);
//final funcions
delay(5);}
Pràctica 4.2 (sensor de tacte esquerra i dret. Xoca i rectifica)
void analitza_resultats(){
if(sensors_actius==1){// informar de que es detecta (en aquest cas: polsador esq)
Serial.println("xoc esquerra ");
//inici funcions de moviment endavant, enrera, parar, etc...
gir_suau_dreta(30);
enrera(20);
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
if(sensors_actius==2){// informar de que es detecta (en aquest cas: polsador esq)
Serial.println("xoc dret ");
//inici funcions de moviment endavant, enrera, parar, etc...
gir_suau_esq(30);
enrera(20);
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
Tecnologia 2n ESO Robòtica20
else{...igual que el 4.1...}
Pràctica A5.1 (sensor òptic esquerra. Evita sortir-se per l’esquerra)
***Cal fer una petita modificació en el programa. Localitzar la funció
void lectura_boto_optics()
{
sensors_actius=0;
estat_sed = digitalRead(sed);
estat_sdd = digitalRead(sdd);
estat_boto_e = digitalRead(boto_e);
estat_boto_d = digitalRead(boto_d);
if (estat_boto_e == HIGH) {
sensors_actius=sensors_actius+1;}
if (estat_boto_d == HIGH) {
sensors_actius=sensors_actius+2;}
//if (estat_sed == HIGH) { //cal eliminar per no crear falsos blancs
//sensors_actius=sensors_actius+4;}
//if (estat_sdd == HIGH) { //cal eliminar per no crear falsos blancs
//sensors_actius=sensors_actius+8;}
Serial.print("interruptors: ");
Serial.println(sensors_actius);
delay(15);
}
***tornem a la funció de control dels sensors
void analitza_resultats(){
if(sensors_actius==4{// informar de que es detecta (en aquest cas: polsador esq)
Serial.println("òptic esquerra ");
//inici funcions de moviment endavant, enrera, parar, etc...
enrera(30);
gir_dreta(20);
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
else{...igual que el 4.1...}
Pràctica A5.2 (sensor òptic esquerra i dreta. Evita sortir-se per l’esquerra i per la
dreta)
void analitza_resultats(){
if(sensors_actius==4{...igual que el 5.1...}
if(sensors_actius==#{// informar de que es detecta
Serial.println("òptic ###### ");
//inici funcions de moviment endavant, enrera, parar, etc...
######
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
else{...igual que el 4.1...}
Pràctica A5.3 (seguir línia negra)
Cal eliminar la doble barra
d’aquestes instruccions
Tecnologia 2n ESO Robòtica21
Pràctica A6.1 (sensor IR (central). Segueix la mà)
***cal inhabilitar els sensors òptics. Tornar a col·locar la doble barra//
*Controls dels sensors IR
IRpin2 = A4; Li assignem el valor 2 a la variable lec
void loop() {...
//inici de les funcions que activen els sensors
lectura_sensors_IR2(20); //els sensor IR detectarà un objecte entre 4 i 20 cm
//final de les funcions....
}
void analitza_resultats(){
if(lec==2){// informar de que es detecta (en aquest cas: polsador esq)
Serial.println("detecta IR ");
//inici funcions de moviment endavant, enrera, parar, etc...
endavant(3);
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
else{ //inici funcions
parada(1);
//final funcions
delay(5);}
Tecnologia 2n ESO Robòtica22
Pràctica A7.1 (sensor ultrasó esquerra.)
***cal inhabilitar els sensors òptics. Tornar a col·locar la doble barra//
*Controls dels sensors ultrasònics
ultraso_e = 6; Li assignem el valor 1 a la variable lec
ultraso_d = 7; Li assignem el valor 4 a la variable lec
void loop() {...
//inici de les funcions que activen els sensors
lectura_ultrasons(20,20); //els sensor ultrasònic detectarà un objecte per sota de 20 cm
***Encara que nomès es faci servir un sensor ultrasònic cal configurar el segon sensor
encara que no es faci servir***
//final de les funcions....
}
void analitza_resultats(){
if(lec==1){// informar de que es detecta (en aquest cas: ultrasó esq)
Serial.println("detecta ultrasó_e ");
//inici funcions de moviment endavant, enrera, parar, etc...
endavant(3);
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
else{ //inici funcions
parada(1);
//final funcions
delay(5);}
Pràctica A7.2 (sensor ultrasó dret.)
Pràctica A7.3 (sensor ultrasó esquerra i dret. Evita el xoc)
void analitza_resultats(){
if(lec==1){// informar de que es detecta (en aquest cas: ultrasó esq)
Serial.println("detecta ultrasó_e ");
//inici funcions de moviment endavant, enrera, parar, etc...
endavant(3);
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
if(lec==4) ){// informar de que es detecta
Serial.println(" #### ");
//inici funcions de moviment endavant, enrera, parar, etc...
#####(3);
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
if(lec==5) ){// informar de que es detecta
Serial.println("#### ");
//inici funcions de moviment endavant, enrera, parar, etc...
#####(3);
//final funcions de moviment endavant, enrera, parar, etc...
delay(5);}
else{...igual que el 7.1...}

Más contenido relacionado

Destacado

Informática carola ferreira
Informática carola ferreiraInformática carola ferreira
Informática carola ferreira
Mary Rodríguez
 
La lectura en educación inicial y en los primeros años de escolaridad
La lectura en educación inicial y en los primeros años de escolaridadLa lectura en educación inicial y en los primeros años de escolaridad
La lectura en educación inicial y en los primeros años de escolaridad
Mary Rodríguez
 

Destacado (20)

Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Guia de presentacions external analysis
Guia de presentacions  external analysisGuia de presentacions  external analysis
Guia de presentacions external analysis
 
presentación tercero
presentación terceropresentación tercero
presentación tercero
 
Factura
FacturaFactura
Factura
 
Presentación scratch 2
Presentación scratch 2Presentación scratch 2
Presentación scratch 2
 
Informática carola ferreira
Informática carola ferreiraInformática carola ferreira
Informática carola ferreira
 
Pacmac scrach
Pacmac scrachPacmac scrach
Pacmac scrach
 
Presentacion agrupamiento
Presentacion agrupamientoPresentacion agrupamiento
Presentacion agrupamiento
 
Para modulo 4
Para modulo 4Para modulo 4
Para modulo 4
 
La lectura en educación inicial y en los primeros años de escolaridad
La lectura en educación inicial y en los primeros años de escolaridadLa lectura en educación inicial y en los primeros años de escolaridad
La lectura en educación inicial y en los primeros años de escolaridad
 
Trabajo scrach
Trabajo scrachTrabajo scrach
Trabajo scrach
 
Scratch etik mundu errealera - berritzegunea 2013
Scratch etik mundu errealera - berritzegunea 2013Scratch etik mundu errealera - berritzegunea 2013
Scratch etik mundu errealera - berritzegunea 2013
 
Arduino s4 a
Arduino s4 aArduino s4 a
Arduino s4 a
 
Oferta scratch 2012
Oferta scratch 2012Oferta scratch 2012
Oferta scratch 2012
 
Presentacion scratch
Presentacion scratchPresentacion scratch
Presentacion scratch
 
Programacion con scrach
Programacion con scrachProgramacion con scrach
Programacion con scrach
 
Presentación scratch 2
Presentación scratch 2Presentación scratch 2
Presentación scratch 2
 
Presentación scratch 2
Presentación scratch 2Presentación scratch 2
Presentación scratch 2
 
Pràctiques electrònica i robòtica amb arduino
Pràctiques electrònica i robòtica amb arduinoPràctiques electrònica i robòtica amb arduino
Pràctiques electrònica i robòtica amb arduino
 
Memoria Casa Inteligente con S4A
Memoria Casa Inteligente con S4AMemoria Casa Inteligente con S4A
Memoria Casa Inteligente con S4A
 

Similar a Iniciació a la Robòtica amb S4A

Manual imagina scratch-3d_bot_v2.1_rev3.0_cat
Manual imagina scratch-3d_bot_v2.1_rev3.0_catManual imagina scratch-3d_bot_v2.1_rev3.0_cat
Manual imagina scratch-3d_bot_v2.1_rev3.0_cat
neovidi
 
Guia de posada en marxa ls maker v.2
Guia de posada en marxa   ls maker v.2Guia de posada en marxa   ls maker v.2
Guia de posada en marxa ls maker v.2
La Salle
 
Lego mindstorm 2
Lego mindstorm 2Lego mindstorm 2
Lego mindstorm 2
Thanthed
 
Presentacio treball bricx cc alexhermoso
Presentacio treball bricx cc alexhermosoPresentacio treball bricx cc alexhermoso
Presentacio treball bricx cc alexhermoso
Alex Pascual
 
U D4 Aplicacions Amb Relés
U D4 Aplicacions Amb RelésU D4 Aplicacions Amb Relés
U D4 Aplicacions Amb Relés
macapo
 
Ud5 Aplicacions Amb Circuits Programats
Ud5 Aplicacions Amb Circuits ProgramatsUd5 Aplicacions Amb Circuits Programats
Ud5 Aplicacions Amb Circuits Programats
Cursfete
 
Exercici 3 lego
Exercici 3 legoExercici 3 lego
Exercici 3 lego
Avel·lí
 

Similar a Iniciació a la Robòtica amb S4A (20)

Intro rob lego_mindstorm
Intro rob lego_mindstormIntro rob lego_mindstorm
Intro rob lego_mindstorm
 
Dossier robòtica 4t eso
Dossier robòtica 4t esoDossier robòtica 4t eso
Dossier robòtica 4t eso
 
Manual imagina scratch-3d_bot_v2.1_rev3.0_cat
Manual imagina scratch-3d_bot_v2.1_rev3.0_catManual imagina scratch-3d_bot_v2.1_rev3.0_cat
Manual imagina scratch-3d_bot_v2.1_rev3.0_cat
 
Guia de posada en marxa ls maker v.2
Guia de posada en marxa   ls maker v.2Guia de posada en marxa   ls maker v.2
Guia de posada en marxa ls maker v.2
 
Disseny d'interacció: Arduino
Disseny d'interacció: ArduinoDisseny d'interacció: Arduino
Disseny d'interacció: Arduino
 
Taller Arduino - Introducció
Taller Arduino - IntroduccióTaller Arduino - Introducció
Taller Arduino - Introducció
 
Lego mindstorm 2
Lego mindstorm 2Lego mindstorm 2
Lego mindstorm 2
 
Robòtica
RobòticaRobòtica
Robòtica
 
Presentacio treball bricx cc alexhermoso
Presentacio treball bricx cc alexhermosoPresentacio treball bricx cc alexhermoso
Presentacio treball bricx cc alexhermoso
 
U D4 Aplicacions Amb Relés
U D4 Aplicacions Amb RelésU D4 Aplicacions Amb Relés
U D4 Aplicacions Amb Relés
 
Ud5 Aplicacions Amb Circuits Programats
Ud5 Aplicacions Amb Circuits ProgramatsUd5 Aplicacions Amb Circuits Programats
Ud5 Aplicacions Amb Circuits Programats
 
Arduino
ArduinoArduino
Arduino
 
Exercici 3 lego
Exercici 3 legoExercici 3 lego
Exercici 3 lego
 
Aula multisensorial interactiva
Aula multisensorial interactivaAula multisensorial interactiva
Aula multisensorial interactiva
 
Introducció a com treballar amb Arduino
Introducció a com treballar amb ArduinoIntroducció a com treballar amb Arduino
Introducció a com treballar amb Arduino
 
joseangelmorenasimon
joseangelmorenasimon joseangelmorenasimon
joseangelmorenasimon
 
Tecno4 UD Electrònica digital- Pràctica Croctech
Tecno4 UD Electrònica digital- Pràctica CroctechTecno4 UD Electrònica digital- Pràctica Croctech
Tecno4 UD Electrònica digital- Pràctica Croctech
 
OP electrònica (metodologies)
OP electrònica (metodologies)OP electrònica (metodologies)
OP electrònica (metodologies)
 
Un tast de ROBÒTICA
Un tast de ROBÒTICAUn tast de ROBÒTICA
Un tast de ROBÒTICA
 
Exercici 3 lego
Exercici 3 legoExercici 3 lego
Exercici 3 lego
 

Iniciació a la Robòtica amb S4A

  • 1. Tecnologia 2n ESO Robòtica1 2n ESO DOSSIER Professor ROBÒTICA TEC OLOGIA
  • 2. Tecnologia 2n ESO Robòtica2 Robòtica 2n ESO Scratch. • Instal·lació de l’S4A (fer una còpia de l’arxiu S4A.image a l’escriptori (per exemple) • Instal·lar el programa Arduino (Arduino.cc/download) • Creació d’un compte a Scratch.mit.edu o Programa1. Fer el disseny d’un robot i que respongui (endavant, enrera) al prèmer determinades tecles El robot ha d’estar vist des de dalt, tenir 2 rodes motrius, i 2 “antenes” (equivaldran a sensors de tacte o òptics) davanteres. S’ha de dissenyar en horitzontal (Eix X) (facilita el seu control posterior) Les dues antenes han de ser una de cada color A l’apretar W avança (10 passos) A l’apretar S retrocedeix (10 passos) Programa1 o Programa2. El robot avança (Eix Y) cap amunt i s’atura al tocar la vora, El robot inicia el moviment en el punt (0,-150) Avançarà sol cap endavant Programa2
  • 3. Tecnologia 2n ESO Robòtica3 o Programa3. Igual que el programa anterior però aquest cop s’aturarà al tocar una línia negra amb alguna de les antenes Dibuixar una línia negra a la part superior de la “pista” El robot inicia el moviment en el punt (0,-150) Avançarà sol cap endavant Programa3 o Programa3.1. Igual que el programa anterior però aquest cop el robot avançarà d’esquena Fes aquest parell de canvis Amb aquest parell de canvis es comprova que el robot s’atura amb el contacte de les antenes
  • 4. Tecnologia 2n ESO Robòtica4 o Programa4. Repetir el programa 2 però fent que el robot avanci de manera inclinada Afegir un valor de gir aleatori Programa4 o Programa5. Repetir el programa 3 però fent que el robot avanci de manera inclinada Afegir un valor de gir aleatori Programa 5.1. Canviar els colors dels sensors de les antenes per uns altres colors, per comprovar que no s’atura igual (o que no s’atura) Programa5 Programa5.1
  • 5. Tecnologia 2n ESO Robòtica5 o Programa6. A partir del programa 5. Quan el robot xoca contra una paret, fer que retrocedeixi una mica Cal afegir una funció. Quin problema apareix, com es soluciona? Programa6 o Programa7. A partir del programa 6. Quan el robot xoca contra una paret, fer que retrocedeixi una mica, seguidament giri uns 15 graus i continuï avançant. Completar la línia negra superior amb un quadrat. Programa7 Molt important
  • 6. Tecnologia 2n ESO Robòtica6 o Programa8. A partir del programa 7. El robot segueix una línia negra. Amb els “sensors llargs davanters” Crear un petit circuit i comprovar que el robot se’n surt Si el robot se surt de la línia sempre es pot variar l’angle de gir
  • 7. Tecnologia 2n ESO Robòtica7 o Programa9. El robot segueix una línia negre amb “dos sensors de llum”. • Els sensors de llum són dos puntets de colors diferents en la part davantera del robot Es pot aprofitar el circuit del programa 8 o crear-ne un de nou. En el robot es faran uns petits canvis en els sensors. Cal eliminar les dues “antenes” davanteres i canviar-les per 2 quadradets de colors diferents que faran de sensors òptics (En aquest exemple el robot té 3 quadradets, encara que només es faran servir els dos exteriors, blau i verd) El robot se l’ha de col·locar amb el punter al principi del circuit. Quan el robot detecta amb un o amb dos sensors la línia negre, el robot reacciona d’una manera específica Cal introduir variables i dos condicions de colors. S’utilitza l’estratègia de la suma de valors en base 2. Així s’aconsegueix que totes les combinacions de colors posibles sempre donguin un valor diferent i es puguin analitzar sense problema En aquest cas s’establirà la condició de si no detecta línia negre, és a dir, si la línia està entre els dos sensors el robot avançarà. Aquesta condició, genera un problema. Quin? Quan el robot no detecta res continúa avançant i no s’atura mai. Es pot arreglar amb un 3r sensor (el central) Programa9
  • 8. Tecnologia 2n ESO Robòtica8 o Programa10. El robot segueix una línia negre amb “tres sensors de llum”. Millora del 9 • Els sensors de llum són tres puntets de colors diferents en la part davantera del robot El 3r sensor (el central) el farem de color vermell. El robot se l’ha de col·locar amb el punter al principi del circuit. Cal introduir variables i tres condicions de colors. S’utilitza l’estratègia de la suma de valors en base 2. Així s’aconsegueix que totes les combinacions de colors posibles sempre donguin un valor diferent i es puguin analitzar sense problema Programa10 o Programa11 (Molt difícil). A partir del programa 7. El robot surt d’un petit laberint Crear un petit circuit i comprovar que el robot se’n surt El robot ha de començar a moure’s al principi del circuit. Quan el robot toca amb l’antena dreta a de rectificar cap a l’esquerra. I quan toca amb l’antena esquerra ha de rectificar cap a la dreta Cal introduir variables i moltes combinacions de colors.
  • 9. Tecnologia 2n ESO Robòtica9 Placa Proto-board. Connexió bàsica Línia de positius: Des de qualsevol punt de la línia es pot punxar un cable (vermell) del qual sortirà corrent Línia de negatius: Des de qualsevol punt de la línia es pot punxar un cable (negre) del qual arribarà corrent Alimentació: Cable USB quadrat (placa arduino)-rectangular (ordinador)-plana Alimentació GND Línia de positius Línia de negatius Cable color vermell: Va des de el pin 5V de la placa Arduino fins al pin central de l’interruptor Cable color negre: Va des de el pin GND de la placa Arduino fins al qualsevol foradet de la línia negra de la placa proto Pin 5V Cable punxat en la “cama” central del commutador Cable punxat en una de les “cames” laterals del commutador
  • 10. Tecnologia 2n ESO Robòtica10 Abans de començar a treballar amb l’S4A Carregar el programa Firmware _el_que_funciona, des del programa Arduino-UNO S4A El programa S4A només s’obrirà si troba l’arxiu S4A.image. L’accés directe del programa i aquest arxiu han d’estar en la mateixa carpeta (o localització, per exemple l’escriptori) Evolució de programes Cal recordar que els pins del polsador (o sensors òptics) estan “alterats”. El pin 1 del programa és el pin2 de la placa Arduino. El pin 2 del programa és el pin3 de la placa Arduino) Button_Led. S’il·lumina 1 LED al prèmer un polsador (mentre està premut) Muntatge: Si el cable de senyal del polsador no arriba al pin2-digital, es pot empalmar com a la figura Cama llarga del LED Pin 13 digital Pin 2 digital Cable Vermell. Empalma vermell del polsador amb la línia de punts de vermells Cable egre. Empalma negre del polsador amb la línia de punts de negres
  • 11. Tecnologia 2n ESO Robòtica11 Activació: 1. Prèmer la bandera verda. El programa queda envoltat d’una vora blanca 2. Prèmer el polsador sense haver premut l’interruptor. No ha de funcionar (no arriba corrent a la placa proto) Si el LED s’encén hi ha un error en el muntatge o l’interruptor està mal col·locat 3. Prèmer el polsador havent premut l’interruptor. S’ha d’encendre el LED Pulsador apretat Interruptor NO premut LED NO s’encén Pulsador apretat Interruptor premut LED s’encén
  • 12. Tecnologia 2n ESO Robòtica12 • Modificacions sobre aquest programa. o Provar de fer el mateix però amb l’altre polsador. Així confirmem que funcionen tots 2 o Canviar el pin digital del polsador Del pin2 al pin3 de la placa Arduino. També cal canviar la configuració del programa a Digital2 premut o Canviar el pin digital del LED. Del pin13 al pin10 o al pin11 de la placa Arduino. També cal canviar la configuració del programa a Digital 10 encés. o Canviar la posició del LED en la placa Proto. No cal canviar el programa o Afegir un altre LED pin12 i pin11 (al prèmer encès13 i apagat11 i a l’inrevés) PrS4A1. Button_Led (retard) S’il·lumina 1 LED durant un temps concret al prèmer un pulsador. Muntatge idèntic a l’anterior • Modificacions sobre aquest programa. o Canviar el valor del repeteix. Investigar quin valor del repeteix equival a 1 segon. o Canviar el pin digital del LED. Del pin13 al pin10 o al pin11 de la placa Arduino. També cal canviar la configuració del programa a Digital 10 encés PrS4A2. Button_2Led 1 pulsador S’il·luminen 2 LEDs al prèmer un pulsador (mentre està premut) Muntatge idèntic a l’anterior, però amb 2 LEDs • Modificacions sobre aquest programa. o Canviar el pins digital dels LEDs. Combinar entre els pins 10, 11 i 13 o Canviar de polsador i de pin (del pin2 al pin3) de la placa Arduino
  • 13. Tecnologia 2n ESO Robòtica13 PrS4A3. Button_2Led 1 pulsador_ retard S’il·luminen 2 LEDs durant un temps concret al prèmer un pulsador Muntatge idèntic a l’anterior, • Modificacions sobre aquest programa. o Canviar el valor del repeteix. Comprovar que el valor del repeteix equivalent a 1 segon, és correcte PrS4A4. but_2led 1 puls ret dif S’il·luminen 2 LEDs durant un temps concret, però cada led durant un temps diferent, al prèmer un pulsador. S’il·lumina el 1r LED (el que més dura), poc després el 2n LED i s’apaguen els 2 LED a l’hora. Muntatge idèntic a l’anterior, • Modificacions sobre aquest programa. o Canviar els valor dels repeteix.
  • 14. Tecnologia 2n ESO Robòtica14 PrS4A5. but_2led 1 puls ret cons S’il·luminen 2 LEDs durant un temps concret,1r s’encén un LED i s’apaga i seguidament el 2n LED. Cal observar que si no es dóna la instrucció d’apagar el 1r LED, aquest quedaria encés Muntatge idèntic a l’anterior, • Modificacions sobre aquest programa. o Canviar els valor dels repeteix.
  • 15. Tecnologia 2n ESO Robòtica15 PrS4A6. 1 motor 1 botó Al prémer 1 botó simultàniament s’il·lumina 1 LED i es mou un motor durant un temps concret. Introducció a les funcions. Muntatge En aquest cas ,alimentarem un motor (vermell, negre, senyal) Connectarem un polsador i un LED • Modificacions sobre aquest programa o Canviar el valor del repeteix. Calcular quin és el valor que farà que la roda faci una volta completa o Canviar el sentit horari per l’antihorari o Provar l’altre motor. Observar com gira en horari i en antihorari o Canviar el pin del motor als pin7, pin8 i pin12 i comprovar si tots funcionen correctament S’executarà el que hi hagi a motor1 (funció) i seguidament continuarà el programa El cable groc del motor és el senyal El cable fosc és el negatiu El cable vermell és el positiu Vermell a vermells Negre a negres LED al pin13 Connectors del polsador. Senyal al pin2 (digital1 premut)
  • 16. Tecnologia 2n ESO Robòtica16 PrS4A7. Seguir una línia negre (2 sensors òptics - 2 motors) Segueix una línia negre (cinta aïllant brillant). S’utilitzen 2 dels 3 sensors inferiors.de Muntatge Els 3 sensors inferiors tenen un connector positiu (cable vermell) i un connector negatiu (cable negre) comú per als 3 sensors NOTA: En aquest cas els sensors extrems tenen cables verds i el sensor central és blau. IMPORTANT: Aquests colors poden estar invertits. No passa res, va exactament igual!!! Cada motor té els seu vermell, negre i senyal Pin7 i Pin4 Vista inversa Positiu dels sensors Negatiu dels sensors Sensor esquerra Pin2, (equival a digital1 premut) en el programa S4A Sensor dret Pin3, (equival a digital2 premut) en el programa S4A El cable verd sobra. Sensor central
  • 17. Tecnologia 2n ESO Robòtica17 Programa Seguidor línia negre ´
  • 18. Tecnologia 2n ESO Robòtica18 Programes d’aprenentatge PB_v1 *Pins sed = 2; sdd = 3; boto_e = 4; boto_d = 5; ultraso_e = 6; ultraso_d = 7; *Funcions de moviment endavant(#); enrera(#); parada(#); gir_dreta(#); gir_esquerra(#); gir_suau_dreta(#); //moviment enrera gir_suau_esq(#); //moviment enrera *Control del programa principal void loop() { Serial.println(); Serial.println("NOVA LECTURA"); lec=0; // substitueix als lec=0 de les funcions lectura_sensors_IR i lectura_ultrasons //inici de les funcions ***Aquí van les instruccions*** //final de les funcions analitza_resultats(); } ***MOLT IMPORTANT*** Cada cop que s’iniciï una pràctica cal salvar el programa amb un nom nou i que faci referència al què farà el robot Pràctica A1 endavant(40); parada(10); // si no escrivim aquesta instrucció, el robot no s’aturarà mai Pràctica A2 endavant(40); gir_esquerra(50); endavant(10); parada(100); Pràctica A3 endavant(40); gir_suau_esq(30); endavant(20); gir_suau_dreta(30); endavant(20); parada(100);
  • 19. Tecnologia 2n ESO Robòtica19 *Controls dels sensors de tacte i òptics boto_e = 4; Li assignem el valor 1 a la variable sensors_actius boto_d = 5; Li assignem el valor 2 a la variable sensors_actius sed = 2; sensor òptic davanter esquerra. Li assignem el valor 4 a la variable sensors_actius sed = 3; sensor òptic davanter dret. Li assignem el valor 8 a la variable sensors_actius *Control del programa secundari (analitza els sensors) void analitza_resultats(){ if(sensors_actius==1){// informar de que es detecta (en aquest cas: polsador esq) Serial.println("informació clara del que ha de passar."); //inici funcions de moviment endavant, enrera, parar, etc... //final funcions de moviment endavant, enrera, parar, etc... delay(5);} else{ //inici funcions. Acció que fa el robot en cas de no trobar res!! //final funcions delay(5);} } Pràctica A4.1 (sensor de tacte esquerra. Xoca i rectifica) void loop() {... //inici de les funcions que activen els sensors lectura_boto_optics(); //final de les funcions.... } void analitza_resultats(){ if(sensors_actius==1){// informar de que es detecta (en aquest cas: polsador esq) Serial.println("xoc esquerra "); //inici funcions de moviment endavant, enrera, parar, etc... gir_suau_dreta(30); enrera(20); //final funcions de moviment endavant, enrera, parar, etc... delay(5);} else{ //inici funcions endavant(1); //final funcions delay(5);} Pràctica 4.2 (sensor de tacte esquerra i dret. Xoca i rectifica) void analitza_resultats(){ if(sensors_actius==1){// informar de que es detecta (en aquest cas: polsador esq) Serial.println("xoc esquerra "); //inici funcions de moviment endavant, enrera, parar, etc... gir_suau_dreta(30); enrera(20); //final funcions de moviment endavant, enrera, parar, etc... delay(5);} if(sensors_actius==2){// informar de que es detecta (en aquest cas: polsador esq) Serial.println("xoc dret "); //inici funcions de moviment endavant, enrera, parar, etc... gir_suau_esq(30); enrera(20); //final funcions de moviment endavant, enrera, parar, etc... delay(5);}
  • 20. Tecnologia 2n ESO Robòtica20 else{...igual que el 4.1...} Pràctica A5.1 (sensor òptic esquerra. Evita sortir-se per l’esquerra) ***Cal fer una petita modificació en el programa. Localitzar la funció void lectura_boto_optics() { sensors_actius=0; estat_sed = digitalRead(sed); estat_sdd = digitalRead(sdd); estat_boto_e = digitalRead(boto_e); estat_boto_d = digitalRead(boto_d); if (estat_boto_e == HIGH) { sensors_actius=sensors_actius+1;} if (estat_boto_d == HIGH) { sensors_actius=sensors_actius+2;} //if (estat_sed == HIGH) { //cal eliminar per no crear falsos blancs //sensors_actius=sensors_actius+4;} //if (estat_sdd == HIGH) { //cal eliminar per no crear falsos blancs //sensors_actius=sensors_actius+8;} Serial.print("interruptors: "); Serial.println(sensors_actius); delay(15); } ***tornem a la funció de control dels sensors void analitza_resultats(){ if(sensors_actius==4{// informar de que es detecta (en aquest cas: polsador esq) Serial.println("òptic esquerra "); //inici funcions de moviment endavant, enrera, parar, etc... enrera(30); gir_dreta(20); //final funcions de moviment endavant, enrera, parar, etc... delay(5);} else{...igual que el 4.1...} Pràctica A5.2 (sensor òptic esquerra i dreta. Evita sortir-se per l’esquerra i per la dreta) void analitza_resultats(){ if(sensors_actius==4{...igual que el 5.1...} if(sensors_actius==#{// informar de que es detecta Serial.println("òptic ###### "); //inici funcions de moviment endavant, enrera, parar, etc... ###### //final funcions de moviment endavant, enrera, parar, etc... delay(5);} else{...igual que el 4.1...} Pràctica A5.3 (seguir línia negra) Cal eliminar la doble barra d’aquestes instruccions
  • 21. Tecnologia 2n ESO Robòtica21 Pràctica A6.1 (sensor IR (central). Segueix la mà) ***cal inhabilitar els sensors òptics. Tornar a col·locar la doble barra// *Controls dels sensors IR IRpin2 = A4; Li assignem el valor 2 a la variable lec void loop() {... //inici de les funcions que activen els sensors lectura_sensors_IR2(20); //els sensor IR detectarà un objecte entre 4 i 20 cm //final de les funcions.... } void analitza_resultats(){ if(lec==2){// informar de que es detecta (en aquest cas: polsador esq) Serial.println("detecta IR "); //inici funcions de moviment endavant, enrera, parar, etc... endavant(3); //final funcions de moviment endavant, enrera, parar, etc... delay(5);} else{ //inici funcions parada(1); //final funcions delay(5);}
  • 22. Tecnologia 2n ESO Robòtica22 Pràctica A7.1 (sensor ultrasó esquerra.) ***cal inhabilitar els sensors òptics. Tornar a col·locar la doble barra// *Controls dels sensors ultrasònics ultraso_e = 6; Li assignem el valor 1 a la variable lec ultraso_d = 7; Li assignem el valor 4 a la variable lec void loop() {... //inici de les funcions que activen els sensors lectura_ultrasons(20,20); //els sensor ultrasònic detectarà un objecte per sota de 20 cm ***Encara que nomès es faci servir un sensor ultrasònic cal configurar el segon sensor encara que no es faci servir*** //final de les funcions.... } void analitza_resultats(){ if(lec==1){// informar de que es detecta (en aquest cas: ultrasó esq) Serial.println("detecta ultrasó_e "); //inici funcions de moviment endavant, enrera, parar, etc... endavant(3); //final funcions de moviment endavant, enrera, parar, etc... delay(5);} else{ //inici funcions parada(1); //final funcions delay(5);} Pràctica A7.2 (sensor ultrasó dret.) Pràctica A7.3 (sensor ultrasó esquerra i dret. Evita el xoc) void analitza_resultats(){ if(lec==1){// informar de que es detecta (en aquest cas: ultrasó esq) Serial.println("detecta ultrasó_e "); //inici funcions de moviment endavant, enrera, parar, etc... endavant(3); //final funcions de moviment endavant, enrera, parar, etc... delay(5);} if(lec==4) ){// informar de que es detecta Serial.println(" #### "); //inici funcions de moviment endavant, enrera, parar, etc... #####(3); //final funcions de moviment endavant, enrera, parar, etc... delay(5);} if(lec==5) ){// informar de que es detecta Serial.println("#### "); //inici funcions de moviment endavant, enrera, parar, etc... #####(3); //final funcions de moviment endavant, enrera, parar, etc... delay(5);} else{...igual que el 7.1...}