lunes, 27 de abril de 2020

Ejercicio 10 Guía SIK

Por segunda ocasión utilice TinkerCAD para el desarrollo del ejercicio, nuevamente en la biblioteca de componentes no encontre, en este caso el potenciometro de membrana así que utilice un potenciometro normal.

En esta ocasión encontré algunas cosas interesantes, colaterales al ejercicio.
En primer lugar, buscar potenciometro flexible, en este caso seleccionar potenciometro.






 Durante el armado me di cuenta que es posible seleccionar copiar y pegar un componente, así nos evitamos estar arrastrando de la biblioteca.




Las resistencias pueden ser editadas variando su capacidad y en virtud, en este caso del tutorial.


Conjunto armado


Manos al código, fuera bloques y vamos por el texto.



Claro que si.

Se escribe o se copia el código, en lo personal y como indique en uno de los post anteriores aunque se copie textual siempre es bueno escribirlo, por un tema de hábito y comprensión.



En la simulación vemos como al variar de posición el potenciometro el LED cambia de color gradualmente.


Proyecto de Fin de Curso


Proyecto final de Taller de Physical Computing.

El presente proyecto esta vinculado a mi tesis de master, el cual tiene como objetivo el desarrollo de un módulo fluvial, una suerte de objeto flotante con grados de autonomía que permita controlar la deriva, si bien me gusta el concepto de "errante", como algo que se deja ir "nómade" me parece más apropiado, ya que "dejar ir una placa arduino, servos" por un cauce es una pérdida.

Después de darle vuelta y entusiasmarme con interfaces táctiles, luces, encontre que lo más apropiado seria buscar y revisar  tutoriales de servos y motores DC, ello me permitiría visualizar como seria su comportamiento.

La construcción se llevo a cabo en lo que llame #arduentena, ya que varios de los tutoriales SIK fueron desarrollados en esta etapa del COVID. Si bien tenía varios de los componentes (de manera fortuita) no tenía mucho material apropiado ni acceso a máquinas para poder desarrollar una quilla, timón u otras partes de manera apropiada, por lo cuál eche mano de envases, palitos de maqueta, masking, la gotita, scotch, botellas plásticas, entre otros. Incluyendo mi helicóptero bluetooth que fue sacrificado por ser el único motor dc a mano, sin contar el puntal que incluye.

La construcción.
Básicamente se emulo una suerte de "catamarán", en términos de crear una solución de 2 flotadores lo cual hace más estable el francobordo (botella+electrónica), así se arriesga menos, ya que permite la distribución de los pesos.




Prueba de disposición de placa y electrónica.





Test de electrónica, si bien se logra energizar el circuito la carga del código arroja varios errores, por lo cuál testeo las conexiones, uno de los que me llamo la atención, ya que es primera vez que trabajaba con el módulo de motores L298, es la entrada de 12 volts, mi placa no la indica explicitamente y en los tutoriales vistos esta es externa, es decir no se integra en la placa. probe con Vin pero tampoco resulto.






hic est Nomas.. hasta aquí no más con este circuito. El módulo para servos arrojo varios errores al momento de compilar. En general uno de los principales inconvenientes es que uno se familiariza con los sketch debiendo entender la lógica, esto fue solucionado de 2 formas, 1 leer la documentación de los servos, no necesariamente debe indicar explícitamente 12 V en la placa de motores, puede también ser otra entrada. 

Resolví utilizar otro código y que permitiera el movimiento del servo vía GPS y celular y enviar directo al motor DC corriente para lograr su movimiento. Este funciono.





Armado el prototipo y sellado (en la medida de lo posible), se procedió a desarrollar una app para poder controlar el módulo GPS en Inventor APP, "manos a los bloques".

En primer lugar se agrega el logo del proyecto en el display.


Creamos las secciones de la app siendo estas:

Logo
Text Label : (estado conectado / desconectado bluetooth)
Grados de movimiento del servo (0,45,90,135,180)
 Slider

Programación de los eventos mediante bloques. En esta interface se trabajan los bloques y sus acciones en virtud de los elementos "creados" en pantalla, por así decirlo, asignando operadores logicos (tipo if then) o acciones que vinculan el slider o los botones con operadores numéricos.




Descargar MIT AI" Companion para testing de la app











"El stress es la madre de todos los errores, pero bien llevado permite desarrollar labores de contingencia"

Ejercicio 9 Guía SIK

Este ejercicio fue desarrollado en TinkerCAD, motivo de que no se disponía de flexometro, pero al igual que en la realidad análoga, la librería de circuitos tampoco incluía flexometros.

Aún así decidí reemplazar el flexometro por algun otro sensor de entrada, como podía ser el inclinometro. Dicho sea de paso, podría haber realizado los mismos pasos con algun sensor disponible en mi caja de arduino. Aún así me sirvió para aprender a utilizar  esta app.

Paso 1: Recordar el password que alguna vez coloque.
Paso 2: Familiarizarme con la plataforma, nada que decir, es intuitiva y drag and drop
Paso 3: Empezar a seleccionar los componentes :)
Paso 4: Frustrarme porque no estaba el flexometro :(
Paso 5: Buscar un sensor de entrada con 2 pines = Sensor de Inclinación
Paso 6: Comenzar a conectar copiando el tutorial y pensando que podía funcionar



Paso 7: ir a código, para mi sorpresa, bloques


Paso 8: quitar bloques y pasar a código. En momentos de stress me sale mejor la escritura. Copy Paste


Paso 8: pensar que el código podia funcionar con las mismas variables


Paso 9: Simular y recibir el mensaje de error


Paso 10: Reasignar variables (servo1), ajustar el código. Iniciar simulación. Por lo menos no apareció ningún error de código.


sábado, 11 de abril de 2020

Arduino en Visual Studio Code.


En este breve tutorial me gustaría tratar de contribuir al cuidado de los ojos XD y explicar lo sencillo que es instalar y programar Arduino en Visual Studio Code. Si bien el Arduino IDE funciona bien el poder disponer de algunas funciones como autocompletado, resalte de colores y contraste en la interfaz ademàs de snippets facilitan bastante el trabajo de codificación.

Paso 1. Descargar Visual Studio Code (o VSCode) - editor de texto Open Source desarrollado por Microsoft.




Paso 2. Una vez instalado Visual Studio lo ejecutamos y veremos una interface como esta.




Paso 3. En "EXTENSIONS" escribimos Arduino.



.... y se desplegaran una serie de complementos, elegimos el que dice arduino, e instalamos.





Seguramente, si es que no lo tienen instalado, les indicará que deben instalar  C++ para Visual Studio. Se instalan. (en mi caso ya estaba).







Con esto ya nos encontramos listos para poder programar Arduino desde VSC.


Recordemos que la extensión de los Archivos es nombredelexperimento.ino



Testeando la Instalación.

Es tan sencillo como crear un nuevo archivo y escribir código, copiarlo desde la IDE o desde algún tutorial y bastaría solo guardarlo con la extensión .ino o "nombredelexperimento.ino" y VSC lo reconocería como nativo de Arduino.

Bastaría entonces con crear un archivo, File > New File (CTRL+N).







Copiamos y pegamos desde algún tutorial un código y lo pegamos, guardamos el archivo con la extención .ino y listo.






Otra forma es que abramos desde la biblioteca algún ejemplo y "hurguetiemos" un rato la interface.



Aparecerá una nueva ventana con el proyecto cargado. Hacemos click sobre el archivo .ino y obtendremos la codificación del sketch.



Con F1 iniciamos la paleta de comandos y escribimos Arduino,  se desplegaran los comandos habilitados para la extensión de Arduino.






Seleccionamos "Examples" y se desplegaran una serie de carpetas, para este efecto seleccionaremos la primera Built-in Examples y clickeamos sobre AnalogReadSerial.












Por lo que he estado viendo es factible utilizar otros editores, como Text Sublime+Stino y Eclipse.


Estamos Ok!!