Vai quedando menos para o OSHWDem 2017, o evento maker que terá lugar o 11 de novembro na Domus (Coruña). Non podes perdelo!!!
Fai clic na imaxe se queres coñecer a este polbo…
Vai quedando menos para o OSHWDem 2017, o evento maker que terá lugar o 11 de novembro na Domus (Coruña). Non podes perdelo!!!
Fai clic na imaxe se queres coñecer a este polbo…
Esta entrada parte do magnífico, interesante e orixinal traballo de Dani Sanz (gracias por compartir!!!) e en particular, do reto #11 .
O control dunha pantalla LCD con arduino é unha tarefa sinxela que pode facerse dende o IDE empregando as librarías adecuadas. Agora tamén é posible controlala dende mBlock, o entorno de programación baseado en Scratch que MakeBlock desenvolveu para os seus robots.
Se queres ter unha descrición de todo o proceso coa explicación detallada de cada paso, podes consultar a entrada que escribín no foro de MakeBlock. Aquí farei unha versión simplificada.
O primeiro que terás que facer será descargar a extensión correspondente. A miña recomendación é que non uses LCD with I2C interface, dispoñible no administrador de extensións de mBlock, senón que descargues NewLiquidCrystal_1.3.4 dende GitHub. Esta librería vaiche ofrecer 8 direccións para o I2C fronte ás 3 que permite a primeira (NOTA: se non sabes que dirección emprega o teu módulo I2C, podes determinala co programa I2C_scan).
Abre mBlock, menú Extensiones-Administrar Extensiones e fai clic en Añadir Extensión. Ábrese unha ventá como a da imaxe e tes que seleccionar zip file para engadir o arquivo que acabas de descargar.
Cando fas clic en Abrir para engadir a extensión, ábrese o navegador cunha pestana para informar dunha incidencia. Péchaa e engade novamente a extensión se é necesario.
As extensións engadidas non aparecen inmediatamente na ventá Administrar Extensiones, senón que é preciso agardar un pouco e mesmo pechar a ventá e abrila de novo. A extensión que estamos buscando é LCD I2C Pack. Terás que seleccionala e facer clic en Bajar. Na imaxe aparece xa instalada no meu equipo.
Podes comprobar se xa a tes instalada porque a extensión aparece na área de programas de mBlock. Neste caso aparece o círculo en vermello porque non teño conectada ningunha placa.
Tamén podes verificar que a extensión está instalada indo a:
C:Userso_teu_usuarioAppDataRoamingcom.makeblock.Scratch3.4.10Local StoremBlocklibraries
e vendo que tes unha carpeta co nome LCD I2C Pack.
Abre a carpeta C:Program Files (x86)mBlockArduinohardwarearduinoavrlibraries e comproba se existe unha carpeta dentro dela co nome NewliquidCrystal. Se non é así, descomprime o arquivo NewliquidCrystal_1.3.4-master.zip que descargaches ao comezo, abre a carpeta NewliquidCrystal_1.3.4-master e copia a carpeta NewliquidCrystal que encontrarás dentro dela. Para finalizar, pégaa en C:Program Files (x86)mBlockArduinohardwarearduinoavrlibraries
Agora xa podes controlar unha pantalla LCD co teu arduino programando dende mBlock.
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.

Estes días o alumnado de 2º da ESO debe crear un videoxogo usando Scratch, por iso recurpero esta entrada do ano pasado.
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.
Gustouche Stranger Things? Dende Instructables chega esta proposta orixinal para realizar con arduino nestes días.
Podes utilizar unha placa de arduino para controlar dispositivos domésticos. O dispositivo conéctase a un relé e este acciónase dende a placa de arduino. Ollo coas tensións porque haberá partes do teu circuíto que funcionen a 220 V.
O vídeo é unha proba de concepto realizada cunha bombilla. Neste caso programei un pestanexo que sucede cada 2 s pero poderías cambiar a configuración para que se acendera como resposta á lectura dun sensor.
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í.
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.
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.
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:
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:
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.