El mayor problema que he tenido, son las librerías.
Unas son incompatibles con otras, otras funcionan en algunas
versiones de arduino y otras no. /* You have to go into the .h and .cpp files and
change "WProgram.h" to Arduino.h WProgram.h: No such file or directory */ /* Las librerías "IRremote" y "RobotIRremote"
son incompatibles Tu tienes que instalar "IRremote" y desinstalar
"RobotIRremote". */
La solución es incluir las librerías modificadas que utilizo yo.
Con un poco de código, añado el seguimiento de líneas.
No he depurado mucho el código, solo es una prueba que funciona
razonablemente bien.
La cinta negra es del tipo adhesiva eléctrica, alrededor de 9 a 10
mm.
Es muy entretenido ver como sigue la línea.
He utilizado un PowerBank , la pilas se habían agotado,
Continuando con mi anterior montaje, me dí
cuenta que en algunas ocasiones cuando perdía contacto visual con el
vehículo, también se perdía el contron.
Esto era normal al ser mediante IR, por lo que me puse a
solucionarlo mediante módulos de RF de 433MHz.
Módulos RF
Emisor.
Receptor.
Al contrario que con los IR , la señal de RF llega bastante más
lejos, traspasando paredes.
El utilizar RF , se producen interferencia entre los motores de los
servos y la señal de RF, y lo mejor es utilizar diferente
alimentación, pero eso sería estudio de otro artículo.
El mayor problema que he tenido, son las librerías.
Unas son incompatibles con otras, otras funcionan en algunas
versiones de arduino y otras no.
Como ejemplo, la librería Servo es incompatible con la librería
VirtualWire.
La solución es incluir las librerías modificadas que utilizo yo.
En un artículo anterior había probado la cámara ESP-CAM , y se me ocurrió colocársela al
vehículo para manejarlo a distancia.
Vuelve a ocurrir lo mismo con las interferencia de la
alimentación, si la conecto directamente a los 5V del
arduino, algunas veces funciona y otras no.
Para eliminar problemas en las pruebas, la alimento mediante una
Power-BANK.
14/05/2014 - Arduino - Reloj con medidor de temperatura y humedad
externa.433MHz - MX-05V. arnote
07/05/2014 - Arduino - Receptor temperatura y
humedad-433MHz-MX-05V. ardurx
06/05/2014 - Arduino-Transmisor temperatura y
humedad-433MHz-MX-FS-03V. ar433
Si tienes un servo y quieres
utilizarlo para giro continuo, existe numerosos tutoriales que
te explican como hacerlo.
El resumen de la modificación que debes hacer es:
-Quitar el potenciómetro y sustituirlo por dos resistencias
iguales (10K).
-Eliminar el tope que existe en uno de los rodamientos para que
gire 360 º.
La prueba sencilla que se me ocurrió fue hacer un coche
teledirigido mediante un mando a distancia de televisión, en mi
caso LG.
Lo primero es tener el receptor de IR, yo tengo muchos de
reciclaje.
Las pruebas se hicieron en el nano, y como todo funcionaba bien
lo pase al Freaduino.
El montaje en Freaduino.
El mayor problema que he tenido, son las librerías.
Unas son incompatibles con otras, otras funcionan en algunas
versiones de arduino y otras no. /* You have to go into the .h and .cpp files and
change "WProgram.h" to Arduino.h WProgram.h: No such file or directory */ /* Las librerías "IRremote" y "RobotIRremote"
son incompatibles Tu tienes que instalar "IRremote" y desinstalar
"RobotIRremote". */
La solución es incluir las librerías modificadas que utilizo yo.
Después de algún tiempo de hacer montajes
con el cortador láser:
28/11/2018 - Arduino - Inkscape Laser Tool Plug-in, GRBL, Universal
GcodeSender, PARTE 5. CNCE
12/06/2020 - ARDUINO - CNC Láser y dibujado con Ender 3. ENDER 3
10/06/2022 - Crear circuitos impresos (PCB) con KICAD, FlatCAM,
Candle, y CNC 3018. PCB_CNC_II Vuelvo a
utilizar el láser que viene con la CNC 3018 , no es
muy potente 2.5W, apenas corta papel, y en varias pasadas cartón de
1 mm.
Para marcar (quemar) madera funciona bien, pero no se le puede pedir
mucho con esta potencia.
En Linux, el intentar hacer funcionar un programa de hace 4
años, en muchos casos se hace imposible.
Lo que te funcionaba en Debian 10, no te funciona en Debian 12. Esto
es debido al cambio de librerías.
En muchos casos suele se el cambio desde Python 2 a python 3, los
programados con uno no funcionan en el otro, se debe hacer una
pequeña modificación de código, y en muchos casos no se hace. Los
complementos de FreeCAD y InkScape en bastantes casos dejan de
funcionar bien al estar programados en Python.
También ocurre con con el paso de QT4 a QT5, o en WX con sus
diferentes versiones.
Se suele solucionar haciendo programas portables que incorporan sus
librerías de trabajo, pero entonces el tamaño de un pequeño programa
es de 100Mbytes.
Al final la mejor solución es utilizar las versiones de Windows, que
en la mayoría de los casos, los programas de hace 15 años funcionan
en las versiones nuevas de Windows. Esto es lo que tiene perdido
Linux frente a Windows, y es una de las cosas pendientes que
tiene Linux.
Otra solución que empleo muchas veces, es utilizar maquinas
virtuales con distribuciones Debian antiguas, funciona muy bien.
El programa que utilizo es InkScape para generar los Gcode mediante
sus complementos.
Si no se pueden añadir automáticamente desde el propio programa,
deberás copiarlos manualmente en: /home/usuario/.config/inkscape/extensions
Las fuentes las tienes que copiar a: /home/usuario/.local/share/fonts
DEBIAN 10
En las primeras pruebas descubrí que muchos complementos que se
utilizan para el láser, solo funcionaban en Debian 10, hay hice mi
primera prueba.
Para generar el código Gcode utilizo el complemento LaserTools
en InkScape 9.2 .
Debemos ajustar las opciones del complemento para que funcione en
nuestra máquina láser.
En el video adjunto se muestra como pruebo los cortes de papel con
láser.
DEBIAN 12
La siguiente prueba es en Debian 12, también utilizo el programa
InkScape 1.2 , pero como explicamos anteriormente, muchos
complementos dejan de funcionar bien, y hay que utilizar otros.
El complemento utilizado es J-Tech-Photonics-Laser-Tool y se
puede bajar de: https://github.com/JTechPhotonics/J-Tech-Photonics-Laser-Tool/releases/tag/v2.5.1
Como en el anterior complemento debemos retocar todas las opciones.
Para lanzar el código Gcode a la máquina láser, en ambos casos,
tanto en Debian 10 como en Debian 12, utilizo Universal Gcode Sender
, y se baja de: https://winder.github.io/ugs_website/
Aquí debemos buscar la versión que funciona en nuestra distribución. Lightburn
Este programa es comercial y se puede comprar por 60€, pero si
queremos usarlo en modo TRIAL, se puede utilizar durante 30 días
Es un programa muy fácil de utilizar, y tiene versiones tanto para
Windows como para Linux, esto es un lujo. https://lightburnsoftware.com/
LaserGRBL
Este es un programa sencillo y fácil de utilizar, pero solo funciona
en Windows.
Yo lo he ejecutado en una máquina virtual bajo Debian, y funciona
perfectamente.
Puede grabar imágenes, generar gráficos vectorizados, lanzar código
Gcode, pero no tiene ninguna utilidad para editar. https://lasergrbl.com/