dimecres, 11 de gener del 2017

Cotxe robot autònom amb Raspberry Pi

[ESTA ENTRADA ESTÀ EN CONSTRUCCIÓ]


Edat recomanada: 
Muntatge a partir de 6 anys acompanyats d'un adult. 
Programació amb Python a partir de 8 anys.
Programació amb Scratch a partir de 6 anys.
               Programació amb botons tipus "Bee-Bot" a partir de 3 anys.
               Vigileu amb les piles, pegaments, objectes menuts, punxeguts, calents, etc.

[Al llarg d'esta entrada apareixerà molt codi de programació. No us preocupeu si no ho enteneu i us sembla xinés, anirem explicant poc a poc que fa cada part. A més, no tenim perquè aprendre un llenguatge de programació,  el més important és entendre el passos que s'han de seguir per a construir i "ensenyar" al nostre robot, així com les estructures bàsiques de la programació en general.]


Anem a construir un cotxe robot autònom controlat amb una Raspberry Pi i programat mitjançant Python. També el podrem programar en Scratch i els més menuts podran programar-lo amb botons, de manera similar a com es fa amb el robot Bee-Bot (no obstant, farem un robot específic per als més menuts de tipus Bee-Bot més endavant).
Es tracta d'un projecte de certa entitat que dividirem en 5 grans fites que detallem a continuació:

1. Muntatge del cotxe robot bàsic. Una vegada assolida esta fita, tindrem un cotxe que es mourà si donem electricitat als motors, però no controlarem la seua trajectòria ni velocitat.

2. Connexió a la Raspberry Pi i programació per a controlar el moviment de les rodes. Una vegada aconseguida esta fita, podrem conduir el nostre cotxe per control remot mitjançant un teclat Bluetooth, o mitjançant connexió remota via WIFI.

3. Muntatge i prova del sensor d'ultrasons. Arribats ací, podrem detectar la distancia del nostre robot als objectes que tinga davant. A més, motoritzarem els sensor per a poder girar-lo i obtindre una observació més completa del seu voltant.

4. Programació dels algorismes necessaris per a la conducció autònoma del robot. El robot podrà detectar obstacles i girar per a evitar-los. També aprendrem els algorismes que puguen permetre eixir de qualsevol laberint al nostre robot. Així doncs, haurem aconseguit un robot autònom a les nostres ordres!.

5. Extres:
- Afegir botons de control tipus Bee-Bot per a que puga ser programat pels més menuts. Hem de tenir en compte que con usem motors DC, el recorregut del robot no serà 100% exacte. Per això, més endavant farem un robot específic tipus Bee-Bot amb motors pas a pas que ens donaran la precisió requerida.
- Afegir sensor d'infrarojos per a detectar la presència de moviment i actuar en conseqüència.
- Afegir fotoresistències per a detectar la presència de llum / foscor i actuar en conseqüència.
- Afegir visió al nostre robot per a reconèixer persones i objectes i actuar en conseqüència.
- ...




Material necessari

2 motors DC a 5V i 2 rodes per a ells.
1 roda boja.
Un pont H dual L298N
Una Raspberry Pi (amb connector de càmera).
Càmera per a RaspBerry Pi.
Sensor d'ultrasons HC-SR04.
Servomotor  per a girar el sensor HC-SR04.
Sensor d'infrarojos HC-SR501.
Bateria de 5V per a la Raspberry Pi.
Bateria de 5V per als motors.
Breadboard (placa de proves)
Cables variats per a les connexions.
Una xassís on muntar tot. Usarem un "tupper".
LEDs per als llums de davant i darrere (blancs), i els de frenada (rojos).


Nosaltres construirem el robot triant els diferents materials per a intentant estalviar alguns euros, però també existeixen al mercat kits molt barats amb els motors, rodes i xassís:


.



O bé, kits complets amb TOT el necessari, com el robot GOPIGO de dexterindustries:


https://www.dexterindustries.com/gopigo/



1. Muntatge del cotxe robot bàsic:

En primer lloc, acoblarem les dues rodes als motors i els unirem al xassís mitjançant els caragols amb volanderes i les femelles. Si ho preferiu, podeu usar cola termo fusible. Haurem de vigilar la posició de les rodes per a què no ens freguen amb el xassís. També haurem de posar a la part de darrere del xassís la roda boja, tenint en compte l'alçada a la que haurà de quedar per a que rode correctament respecte a les rodes davanteres.
Una vegada tenim els motors i les rodes ben muntades, és hora de connectar-los a la bateria amb els cables i provar el seu funcionament. Usarem una bateria de 5V, ja que els motors que hem triat necessiten una alimentació de 5V. No importa la polaritat que usem, però ha de ser la mateixa per als dos motors, sinó, una roda anirà en un sentit i l'altra al contrari.


Connexió de la bateria al motor.
Passem els cables per un forat al xassís.












Robot amb els motors i les rodes muntats.




Si tot a anat bé, quan connectem la bateria les rodes giraran. Ja ho hem aconseguit!.





2. Connexió a la Raspberry Pi i programació per a controlar el moviment de les rodes:

Anem a connectar ara els motors a la Raspberry Pi, però no directament, si ho férem, depenent de l'amperatge dels motors podríem trencar-la, ja que només pot oferir uns quants mili amperes, mentre que els motors normalment consumeixen molt més. A més, tan sols amb la Raspberry Pi no podríem fer que els motors funcionaren en els dos sentits. Per a solucionar estos problemes usarem un pont H L298N dual.
Esta placa ens permet controlar els motors tant en velocitat com en sentit de gir mitjançant la nostra Raspberry Pi.

L'esquema de connexió que usarem és el següent:

Esquema de com ens quedaran les connexions.

Connexions del pont H dual L298N.





Connexió dels motors a la Raspberry Pi.




Insecte "robot" per als més menuts


Edat recomanada: a partir de 3 anys acompanyats d'un adult. 
Vigileu amb les piles, pegaments, objectes menuts, punxeguts, calents, etc.







Anem a fer un insecte "robot" molt senzill. Els xiquets i xiquetes poden triar quin insecte volen que siga i pintar/retallar el dibuix corresponent per a després apegar-lo al “robot”.
Es tracta d’un joguet no programable que té moviment aleatori, però pot rebotar i “evitar” obstacles. Pot inclús eixir d'un laberint senzill de manera autònoma.

Encara que seria convenient, per seguretat no usarem cap tipus de ferramentes o materials que puguen ser perillosos, com soldadors, coles termofusibles, ... només cinta aïllant. No ens quedarà un robot molt robust, però serà igualment funcional i divertit.





Materials:

Raspall de dents amb els pèls plans (el trencarem per a fer el robot).

Pila de botó de 3V (2032, 2025 o similar).

Un motor excèntric, és a dir, un motor amb el seu eix descompensat. Usarem motors vibradors reciclats de telèfons mòbils vells.

[Opcional] Un led del color que més ens agrade, que suporte 3V.

Cinta aïllant o similar.

Paper i colors per a dibuixar el cos de l’insecte.

Pals de gelat, o similars, per a fer una casa / tancat per a l’insecte.

dissabte, 7 de gener del 2017

Robot ArduX.


Edat recomanada: 
Construcció: a partir de 8 anys acompanyats d'un adult.
Programació amb Sketch: a partir de 8 anys.
Programació amb Scratch: a partir de 6 anys.
Vigileu amb les piles, pegaments, objectes menuts, punxeguts, calents, etc.


Us presentem l'ArduX, una simpàtica (o simpàtic, encara estem esbrinant-lo) robot que ens servirà per a iniciar-nos en l'electrònica i la programació de computadores. A poc a poc, anirem afegint al blog activitats que es podran realitzar amb l'ArduX.
Programarem l'ArduX amb el llenguatge Sketch de l'IDE d'Arduino i també amb Scratch. Farem servir una versió de S4A (Scratch for Arduino) adaptada per nosaltres per a l'ArduX que trobareu al final de l'entrada.
Si voleu construir un ArduX, teniu la llista de components i el circuit necessari igualment al final.

Algunes imatges:


Programació amb S4A (Scratch).

ArduX Gremlin.
Connexió amb Arduino




















Prototip d'ArduX.
Prototip d'ArduX. Darrere.























L'ArduX éstà inspirat en el robot Ardu5 del Profe Garcia. L'ArduX és compatible amb l'Ardu5, però disposa de moltes més característiques.
No us perdeu el seu canal a Youtube. La seua plana dedicada a l'Ardu5 és:

                                         http://elprofegarcia.com/?page_id=411


ArduX implementa les següents característiques:

5 LEDS programables, 2 formant els ulls i 3 més formant la boca, cinturó, o el que vulguem que siga.
Fotoresistència LDR per a detectar la llum / foscor.
Brunzidor per a emetre sons.
2 polsadors programables mitjançant interrupcions de maquinari*.
Sensor d'inclinació.
4 connectors extra (Aux1, Aux2, GND1, GND2) per a complements. Vigileu amb l'amperatge màxim!.
A més, podem posar-li el cos/roba que nosaltres dissenyem!.

divendres, 6 de gener del 2017

Iniciació a la programació amb l'ArduX i Scratch.

Edat recomanada: a partir de 6 anys.

Scratch és un llenguatge de programació visual desenvolupat al MIT i dirigit especialment als xiquets i xiquetes. Ens permet crear programes molt complets i aprendre els fonaments de la programació d'una manera clara i senzilla. També té les seues febleses, però per a un nivell d'iniciació i inclús mitjà, és més que suficient.

Mitjançant Scratch aprendrem les estructures de control habituals dels llenguatges de programació i alguns algorismes molt bàsics per a poder controlar alguns dels components de l'Ardu5+.


1. Encesa de LEDs:

Comencem amb un programa que encén el LED groc del nostre ArduX. Tan sols haurem d'arrossegar amb el ratolí els següents components tal i com apareix ací davall.



El pin digital 10 és on està connectat el LED groc, per tant quan es pren la bandera verda, s'encén per sempre. Així de fàcil.









dimarts, 3 de gener del 2017

Iniciació a la programació amb l'ArduX i Sketch.

Edat recomanada: a partir de 8 anys.

Anem a fer una introducció a la programació mitjançant l'ArduX. Aprendrem les estructures de control habituals dels llenguatges de programació i alguns algorismes molt bàsics per a poder controlar els diferents components de l'ArduX. En aquesta entrada usarem el llenguatge de programació nadiu de l'Arduino, anomenat Sketch, molt paregut al llenguatge C. En altres entrades del blog usarem el llenguatge visual Scratch, molt més intuitiu però no tan potent.

Per a executar els programes que hi trobareu ací, només copieu i apegueu el text a l'entorn IDE de l'arduino amb (l'ArduX connectat a l'Arduino) i premeu la fletxa.

Comencem amb un programa que encen el LED groc del nostre ArduX:

//  Inici pogramari.

//#################################################
//  ArduX                         Tallerstecnologia.blogspot.com.es
//
//  Encen el LED groc de l'ArduX.
//#################################################


#define PIN_LED_GROC 10   //  PIN_LED_GROC serà substituit per 10 cada vegada que aparega.

void setup()  // El que n'hi ha dins la funció setup() s'executa només una vegada.
{
   pinMode(PIN_LED_GROC, OUTPUT);    // PIN_LED_GROC serà d'eixida (escriurem en ell).
}  

void loop()   // El que n'hi ha dins la funció loop() s'executa en bucle per sempre.
{
  digitalWrite(PIN_LED_GROC, HIGH);   // Escriu el valor digital HIGH (5V) al pin i s'encén.
}    

// Fi programari.


dilluns, 2 de gener del 2017

Com configurar l'IDE de l'Arduino al nostre ordinador.

Per a poder usar l'entorn integrat de desenvolupament (IDE, Integrated development environment) de l'Arduino amb la nostra computadora, primer de tot haurem d'instal·lar el controlador i el programari necessari segons els nostre sistema operatiu, des de la pàgina oficial:

                                   https://www.arduino.cc/en/Main/Software


Una vegada el tinguem instal·lat i abans d'executar-lo, connectarem el nostre Arduino a l'ordinador. Si és la primera vegada que el connectem, esperarem uns instants fins que s'instal·len els controladors necessaris. A continuació, executarem el programari de l'Arduino (Arduino IDE) que acabem d'instal·lar.




Una vegada dins del programari, comprovarem que s'ha detectat correctament el nostre Arduino:







Després comprovem també que s'ha detectat correctament el port on està connectat:




Si està tot OK, ja podem començar a programar amb el llenguatge Sketch! Tan sols haurem d'escriure el codi i donar-li a la fletxa per passar-lo a l'Arduino i que l'execute.





dilluns, 21 de novembre del 2016

Alguns tipus de sensors. Interactuar amb el món real.

Una de les coses més interessants de la robòtica i la electrònica en general és la possibilitat d'interactuar amb el món real. Per a aconseguir-lo, només hem de fer servir els diferents tipus de sensors disponibles. Podrem trobar multitud de sensors, a continuació descrivim alguns dels sensors més usats, barats i de fàcil ús que podem trobar:


Sensor ultrasònic HC-SR04
 
Aquest emissor/sensor ens permet detectar objectes i la distància a la que estem d'ells.
Funciona amb la mateixa tècnica que usen els ratpenats. Emet sons no perceptibles per l'ésser humà i capta el seu rebot amb els objectes.








Sensor de temperatura i humitat DHT22
  
És un sensor que ens permet esbrinar la temperatura i la humitat amb una gran precisió.
També està disponible la versió DHT11, més barata però amb menys precisió.








Què és un nombre binari?

Primer de tot, no us espanteu, no és necessari conèixer el sistema binari per a realitzar cap de les activitats que tenim pensades per als tallers, però sí que pot ser interessant per a conèixer com funcionen els sistemes electrònics digitals.

A la nostra civilització usem habitualment el sistema decimal de numeració, és a dir, tenim un sistema de numeració que va des del 0 fins al 9 (en total 10 xifres).
No obstant, existeixen infinits sistemes de numeració, com per exemple el vigesimal que usaven els Maies.

En esta entrada anem a explicar el sistema de numeració binari, ja que es tracta del sistema que usen els ordinadors en l'actualitat.

Se sent molt a sovint que els ordinadors només "entenen" el 0 i l'1. Realment és així, però, com és possible representar tot només amb 0s i 1s?

 Anem primer a comparar el sistema decimal i el binari:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9             DECIMAL  (Té 10 dígits)
0, 1                                             BINARI      (Té 2 dígits)

El sistema decimal té l'avantatge de que ens resulta familiar (tenim 10 dits a les mans), i a més té 10 dígits que podem usar per a representar tots els nombres.
El sistema binari és molt senzill, però té el problema de que només tenim 2 dígits per a representar tots els nombres.

En realitat la senzillesa del sistema binari és el seu gran avantatge. Podem reduir tot a 0 (FALS) o 1 (VERTADER). En el món de l'electrònica digital, el podem representar per 0 (NO HI HA CORRENT) o 1 (HI HA CORRENT).

Anem a representar a continuació alguns nombres al sistema decimal i al binari:

DECIMAL: 0                      BINARI: 0
DECIMAL: 1                      BINARI: 1
DECIMAL: 2                      BINARI: 10 *
DECIMAL: 3                      BINARI: 11
DECIMAL: 4                      BINARI: 100 *
DECIMAL: 5                      BINARI: 101
DECIMAL: 6                      BINARI: 110
DECIMAL: 7                      BINARI: 111
DECIMAL: 8                      BINARI: 1000 *
DECIMAL: 9                      BINARI: 1001
DECIMAL: 10 *                 BINARI: 1010
DECIMAL: 11                    BINARI: 1011
 
 * S'han acabat els dígits del sistema de numeració, per tant "ens portem un" per a poder representar el nombre.



Però com un ordinador pot mostrar-nos textos, imatges, àudio, etc?
Al següent vídeo s'explica de manera gràfica que és un nombre binari i com podem expressar, per exemple, una imatge amb només uns i zeros.



diumenge, 20 de novembre del 2016

Tallers de Tecnologia al Manel Garcia Grau

Hola!, abans de res, us donem la benvinguda al nostre blog!

Mitjançant aquest blog informarem de tot el relacionat amb els tallers de tecnologia que el pròxim dia 27 de gener, posarem en marxa un grup de pares al Col·legi Manel Garcia Grau.
Volem aprofitar per a agrair l'interés mostrat per l'escola així com el suport que ens han proporcionat per a dur endavant aquest projecte.
Si voleu contactar amb nosaltres, podeu fer-ho per correu electrònic, o bé escriure un comentari a l'entrada del blog.



De què es tracta?

    Passar-ho bé aprenent en família programació, electrònica, robòtica i tecnologia en general.
    Usarem Scratch, Python, Arduino, leds, motors, diferents tipus de sensors, etc.
    No serà necessari cap coneixement previ.
    Els continguts de les activitats estaran ajustats a les diferents edats de l'alumnat.
    Volem que siguen uns tallers participatius, tots aprendrem coses noves i tots aportarem idees!
    Els tallers seran gratuïts.







Qui pot apuntar-se?

    Tot l'alumnat del CEIP Manel Garcia Grau, des de 3 anys fins a 6é, acompanyats pels seus pares i mares. Es tindran en compte els requeriments de l'alumnat amb necessitats especials.
    Si cap pare/mare/tutor-a d'un xiquet-a pot anar, podrà fer-lo qualsevol adult que es faça responsable, però sempre aportant el vist-i-plau signat per la mare/pare/tutor-a. A més, TOTS els adults haurem d'aportar el "Certificat de Delictes de Naturalesa Sexual" tal i com s'explica més endavant.