Recent Posts

Pages: [1] 2 3 ... 10
1
LaserBoy !!! / Re: ILD/Pattern to .wav
« Last post by James on May 26, 2020, 11:52:03 am »
There are several steps to getting a vector image to be time optimized for a laser projector. Each frame needs to be stripped of superfluous points and all of the lit segments have to be rearranged in an order that is the shortest path. This involves looking at both ends of any lit segment and possibly reversing its direction. Then point are added along long lines to control the scanner rotational speed and points are added to corners to allow the scanners to stop before changing direction. There are many functions involved in this process and they must be called in the right order.
2
LaserBoy !!! / Re: ILD/Pattern to .wav
« Last post by James on May 25, 2020, 09:33:38 pm »
First you need some vector art.

Then you need to do some math.
3
LaserBoy !!! / ILD/Pattern to .wav
« Last post by trevorboultwood on May 25, 2020, 04:06:24 pm »
Hi James,


I'm from the recent photolexicon forum, i wanted to expand on my idea of creating a custom UI that would play my wav files with pictures etc. I had one question, ive been trying to think on how one might go from ILDA to .wav? Would it be possible to point me where in your code you take the pattern data into .wav?


Where would you start? Which line would you pick first? Decision making on which lines to then do next? Or am i over thinking this and you can use data directly from an ilda file? (is it in the correct order?!)


My next challenge I am setting myself this week is to understand the ilda format. It cant be too dificult right...?


Thank you again,


Trev
4
LaserBoy !!! / Re: DOWNLOAD IT HERE !!!
« Last post by James on April 28, 2020, 03:48:03 pm »
Get libSDL 1.2.
5
LaserBoy !!! / Re: DOWNLOAD IT HERE !!!
« Last post by CyberLab on April 28, 2020, 03:22:11 pm »
Quote
make -f Makefile
g++ -c LaserBoy.cpp -o ../src/LaserBoy.obj -O3 -msse2 -mfpmath=sse -Wall -Wextra -frounding-math -fsignaling-nans -Wno-missing-field-initializers -Wno-misleading-indentation -Wno-unused-but-set-variable -fexpensive-optimizations -static
In file included from LaserBoy.cpp:30:
LaserBoy_SDL_GUI.hpp:35:10: fatal error: SDL/SDL.h: No such file or directory
   35 | #include <SDL/SDL.h>
      |          ^~~~~~~~~~~
compilation terminated.
make: *** [Makefile:26: ../src/LaserBoy.obj] Ошибка 1



Thanks for the advice! I installed the libboost-all-dev library, but now the SDL.h library is missing
6
LaserBoy !!! / Re: DOWNLOAD IT HERE !!!
« Last post by James on April 28, 2020, 10:27:44 am »
Judging from your make command, using Makefile, you must be compiling for Linux.

Have you installed the C++ Boost Libs?

Most of that stuff is just header files that need to be in your system's include directory, but some of it needs to be compiled. You should be able to use your Linux distribution's package management system (apt or yum or whatever) to install the whole thing including the binaries.

https://www.boost.org/

Let me know how it goes!

James.
7
LaserBoy !!! / Re: DOWNLOAD IT HERE !!!
« Last post by CyberLab on April 25, 2020, 05:53:18 pm »

Hey. I admit right away I'm not a specialist in compilation. When compiling, I get the following error:


Quote
make -f Makefile
g++ -c LaserBoy.cpp -o ../src/LaserBoy.obj -O3 -msse2 -mfpmath=sse -Wall -Wextra -frounding-math -fsignaling-nans -Wno-missing-field-initializers -Wno-misleading-indentation -Wno-unused-but-set-variable -fexpensive-optimizations -static
In file included from LaserBoy_macros.hpp:34,
                 from LaserBoy_common.hpp:34,
                 from LaserBoy_color.hpp:33,
                 from LaserBoy_bmp.hpp:33,
                 from LaserBoy_segment.hpp:34,
                 from LaserBoy_frame.hpp:34,
                 from LaserBoy_frame_set.hpp:34,
                 from LaserBoy_space.hpp:34,
                 from LaserBoy_TUI.hpp:33,
                 from LaserBoy_GUI_base.hpp:33,
                 from LaserBoy_SDL_GUI.hpp:34,
                 from LaserBoy.cpp:30:
LaserBoy_includes.hpp:63:10: fatal error: boost/filesystem.hpp: No such file or directory
   63 | #include <boost/filesystem.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:26: ../src/LaserBoy.obj] Ошибка 1
8
Laser Software / Re: Arduino laser controller
« Last post by BlinkenLights on January 24, 2020, 01:39:25 pm »
Version 2.0 is out and is a complete re-write

https://github.com/adiastra/Laser-Projector-Controller


This version is even more reliable..

Next steps will be using bit/byte level reads and writes to enhance speed.
9
Laser Software / Arduino laser controller
« Last post by BlinkenLights on January 20, 2020, 03:36:12 pm »

DISCLAIMER: This is not for controlling the laser modulation or galvos!


I have written a little piece of code for an Arduino designed to read the current state of the SHUTTER and INTERLOCK.


The code does the following.


IF the SHUTTER signal is OPEN (+5v) AND the INTERLOCK is a COMPLETE CIRCUIT, only then will a relay close providing power to the laser(s). (after a 5 second delay)


If at any point either of these states changes (shutter closes or interlock is broken) the relay immediately opens (its default un-powered state) and the lasers power is interrupted.


If laser power is interrupted there is a 5 second delay before you can turn the power back and the interlock and shutter have to be in the proper states else you cant turn it back on.


The current state of the laser power is printed to serial if you want to monitor the state.




For safety the GALVO power should not be interrupted


The Arduino pins are as follows


ShutterSignal = The signal coming from the ILDA shutter signal. +5v = Shutter OPEN (this is an input pin for reading the shutter voltage)
ShutterPin = Pin used to control the relay state (Output pin for sending signal to the relay)
InterlockOut = set to +v5 to send a constant signal over the interlock loop (+5v output pin)
InterlockIn = Reads the signal from the interlock loop sent from the InterlockOut pin(input pin)




The interlockIn pin has a 10k resistor to ground so that if the circuit is broken there is no voltage float to worry about.


Please feel free to ask any question you may have or suggest any additions to the system.


 I am thinking about adding a few temperature sensors that would shut down the ENTIRE system on overheat of a component and wait until it was below a certain threshold before allowing the system to start back up.


Code can be found here
https://github.com/adiastra/Laser-Projector-Controller/blob/master/laser_control.ino




NOTE: This sketch assumes that the the relay required a LOW signal to turn on. This can be edited in the #define section
10
LaserBoy !!! / Re: DOWNLOAD IT HERE !!!
« Last post by James on December 31, 2019, 07:10:12 pm »
Fixed a lot of stuff about importing bitmap files.

Added some new features.
Now you can place a folder full of bitmap files inside the ./LaserBoy/bmp/ folder and load the whole set as the background image set to trace over. Go into menu i to input. 6 for bmp. Hit 9 open bmp directory as background. To change the bitmap index, you must be in either menu K or L where you can draw and move stuff. In those menus, (capital) W advances the bitmap in the display to be the next one in the folder and (capital) Q takes you backward. So you can load a set of raster images that make an animation and move through them with the keyboard.

Another interesting thing it does now is load a folder full of bitmaps as color maps for the currently open vector frame set. If there is a miss match between the number of bitmaps and the number of vector frames, you get the larger of the two numbers with the smaller one repeated as needed to fill.

So, you can use ffmpeg to split a video file into frames, use Imagemagick to convert them all to bmp and you can do stuff with that in LaserBoy now.

Like this: http://laserboy.org/free_art/Linus_dance.zip

http://laserboy.org/code/LaserBoy_Current.zip

James.
Pages: [1] 2 3 ... 10
SMF spam blocked by CleanTalk
SimplePortal 2.3.7 © 2008-2020, SimplePortal