Escribepuerto 888 35
Tede coidado, se practicades a arqueoloxía acaban aparecendo vellos tesouros que che lembran cantísimos anos levas xa dando clase. Estaba de cacharreo no taller cando atopei unha caixa co rótulo CABLE PARALELO e lembrei eses primeiros anos nos que faciamos control de dispositivos programando directamente o porto paralelo, sen controladora.
Dende o contorno de programación MSWLogo, era posible activar e desactivar 8 pines de datos e con iso, os actuadores conectados a eles. Normalmente entregaba a cada grupo un cable paralelo sen conector nun dos extremos, polo que a primeiro que tiñan que facer era identificar cada un dos cables realizando unha proba de continuidade co polímetro.
A imaxe é dun proxecto do curso 2005-06, a primeira vez que tiven a oportunidade de dar clase en 4º de ESO.
Arduino: introducir valores RGB con entrada única
Un LED RGB pode acenderse controlando as tres compoñentes (vermello (R), verde(G) e azul (B)) de forma independente. O valor que toma cada unha das compoñentes pode asignarse dentro do programa ou introducirse a través do monitor serie. O máis habitual é introducir os valores RGB un a un empregando a función Serial.read(). Neste post veremos como facelo nunha única entrada.
Unha vez definidas as variables, declarados os pines e iniciado o monitor serie, comezamos co bloque loop().
A función Serial.readStringUntil() permite almacenar nun string o texto introducido co teclado até que se pulsa enter. Esta cadea debe ser fragmentada en tres cadeas máis pequenas, unha para cada un dos valores RGB. Para iso, debo localizar a posición dos delimitadores que uso, que neste caso son comas (‘,’). Para este propósito emprego a función string.indexOf().
A continuación utilizo a función string.substring() para extraer a porción de cadea que corresponde ao R, ao G e ao B e almaceno esas subcadeas.
Para poder operar cos valores RGB obtidos, debo facer unha conversión de string a int que realizo con string.toInt(). Xa só queda chamar a función cor cos parámetros R, G, B e observar como o LED se acende.

OSHWDem 2016
Xa está anunciado o OSHWDem 2016. Terá lugar o 5 de novembro na Domus de Coruña. Prepara o teu robot para as competicións de robótica, participa nos talleres, visita a exposición de proxectos,…
Se queres saber máis, fai clic aquí.
Pong con arduino
Seguro que coñeces o Pong, un xogo integrado nas primeiras videoconsolas dos anos 70. Sabes que podes empregar unha placa de arduino e o entorno de prgramación de mBlock para realizar a túa propia versión? Os xogadores da miña móvense utilizando potenciómetros, como no xogo clásico.
Podes tomar o meu como base e engadirlle extras como a opción de modificar a lonxitude dos xogadores ou a velocidade da bola.
LCD dende o teclado
Se inicias a conexión serie e empregas as funcións definidas, podes escribir nunha pantalla LCD facilmente dende o teclado. O maior problema que presenta esta práctica é o axuste do texto ao tamaño das liñas da pantalla.
Deixo o código que permite distribuír convenientemente e de forma automática o texto introducido a través do teclado. É importante que cambies a opción da ventá do monitor tal e como se indica na imaxe superior para que se detecte a nova liña.
Se queres máis información, visita esta páxina.
LCD con bus I2C
Resulta tedioso realizar as conexións necesarias para o control dun LCD con arduino, pero é posible simplificar esta tarefa empregando o bus I2C. Cun módulo I2C só precisarás dous cables, un para transmitir datos (SDA) e outro para o reloxo que indica cando deben ser lidos os datos (SCL).
As conexións quedan da seguinte maneira:
- GND: vai ao pin GND da placa de arduino
- VCC: vai ao pin de 5V da placa de arduino
- SDA: se estás usando unha placa de arduino UNO, conéctao ao pin A4
- SCL: se estás usando unha placa de arduino UNO, conéctao ao pin A5.
Hai placas que incorporan pines SDA e SCL e por tanto non é necesario usar A4 e A5.
Necesitarás incluír dúas librarías nos teus programas:
- Wire: serve para establecer a comunicación entre o arduino e o módulo I2C. Xa está instalada no IDE de arduino.
- LiquidCrystal_I2C: serve para controlar o LCD dende o módulo I2C e podes descargala dende o propio IDE (Sketch-Include Library-Manage Libraries…).
Un exemplo de programa:
Observa que cando se declara o LCD co nome pantalla, asígnaselle unha dirección (0x3F) e indícase o seu tamaño (columnas, filas). A dirección varía dependendo do integrado que teña o módulo I2C. Na seguinte imaxe recóllese a relación dos máis habituais pero tamén podes obtela para o teu dispositivo conectándoo e empregando o programa I2C_scan.
Para máis información podes ver este vídeo e consultar esta páxina.
Proxectos 2015-16
Estou subindo os vídeos de funcionamento de varios dos proxectos realizados polo alumnado ao longo do curso 2015-16.
No vídeo desta entrada podes ver un telémetro ultrasónico. Unha placa de arduino UNO permite realizar a medida de distancias empregando un sensor ultrasónico. O resultado da medida é mostrado nun LCD.
Titoriais de arduino
Se queres aprender a controlar dispositivos con arduino e non sabes por onde comezar, podes botarlle un ollo a esta páxina. Contén titoriais de diferentes niveis moi completos e claros.







