20 de mayo de 2021

Programando un ATtiny

Serie de videotutoriales dedicados a la programación de un dispositivo ATtiny85. Agardecer a Juan, del grupo de telegram Roboticlaje todo lo que nos ha enseñado. En estos videotutoriales se repasan los objetivos que tengo al realizarlos, qué es un ATtiny85, cuál es su puerto de entrada salida y cómo se accede a sus registros, la mecánica de cómo escribir un programa (tanto en el IDE Arduino como en VSCode - PlatformIO) y subirlo al simulador, cómo manipular los registros del puerto B del ATtiny85, el análisis razonado y el diagrama de flujo - pseudocódigo de un programa que haga parpadear un LED, la escritura del código en VSCode - PlatformIO y su simulación, y por último su carga física en un ATtiny85 con el IDE Arduino.

Canal de youtube: https://www.youtube.com/channel/UCKGghBaYzcKmnO0sr-TwtMw
Portfolio: http://agrportfolioeducativo.blogspot.com/

SimulIDE: https://www.simulide.com/p/downloads.html
PlatformIO: https://platformio.org/
Visual Code Studio: https://code.visualstudio.com/
IDE Arduino: https://www.arduino.cc/en/software
Pseint: http://pseint.sourceforge.net/
Inkscape: https://inkscape.org/es/

Programar Attiny85 con un Arduino Uno: https://quique123.wordpress.com/2018/05/07/arduino-iot-tutorial-simple-programar-attiny85/
                      https://youtu.be/QoEYSuvdpyo

Código: https://gist.github.com/agrgal/e47e32fa88a34c117147febea6b28c06


1 de enero de 2021

Un apunte sobre freecad: copiar sketches entre distintas piezas (bodies) del banco de trabajo Part Design.

El tema es complicado. Resulta que puedo copiar un sketch (editar->copiar y editar->pegar) de un cuerpo a otro. 

Pero incluso cuando le digo que no a que no me copie dependencias del objeto...

 

Y pego creando primero el cuerpo vacío (sin sketch) y después seleccionándolo (importante, activarlo con doble click - debe quedar -resaltado)... NOTA: el sketch pegado es pared_sketch001...

 

Resulta que en el gráfico de dependencias todavía queda fuera del cuerpo... Nuestro nuevo cuerpo es BODY002 y el Sketch007 (pared_sketch001) está fuera del mismo.

 

Esto se soluciona fácilmente. Pincho en el sketch y arrastro hasta el nombre del cuerpo. El resultado es:

 

 

Por una parte, en la vista Modelo se me ha tabulado el sketch y por otra en el gráfico de dependencias está dentro del BODY002. Pero tenemos una sospechosa línea roja. Parece ser que no está del todo bien...

Podemos hacer algo más. Sí, en el sketch,  en su pestaña datos y en MAP MODE modifica FLATFACE borrando la referencia a la cara desde donde se generó en el otro cuerpo y diciendo que es un objeto del plano XY.

Todo esto consigue que, aparentemente, esté bien. Puedes mover el sketch, por ejemplo... Pero puede dar errores, porque todavía existe una vinculación con el sketch original.

= = = = = = = = =

Mientras consigo averiguar una forma de hacerlo, que sea más correcta, y que no dé problemas, existe la solución de usar la herramienta Shapebinder del banco de trabajo Part Design.

 PartDesign ShapeBinder.svg

  1. Creo un cuerpo nuevo vacío: cuerpo destino
  2. Con el cuerpo destino seleccionado (doble click)..
  3. Click en el sketch en el cuerpo origen. 
  4. Hago click en "Crear una nueva forma unida" o Shapebinder.
  5. Al cuerpo destino se le añade un nuevo objeto de esta clase, que sería una copia de nuestro esquema.
  6. Construyo ahora un nuevo boceto (sketch) y puedo usar del banco de trabajo sketch la herramienta de selección de aristas de geometrías externas, con lo que consigo ahorrarme trabajo en la "copia" del boceto importado.


Otra posible solución es entrar en el banco de trabajo Draft y cambiar nuestro Shapebinder a Sketch usando la funcionalidad de conversión entre borrador y esquema. La pega de este método consiste en que hay que restringirlo todo desde cero.

Draft Draft2Sketch.svg