Projects Log

projects, diy

Search:

Laser + Webcam = 3D… maybe!

22 February 2008

So here the new project i'm planning to work on: a 3D scanner!

Since a picture is worth a thousand words, lets start with them:

3d scan 1
3d scan 2

What I think is pretty simple (maybe too simple): the distance between the y axis and the edge of the object where the laser is beaming on, can be calculated using the delta value and some sines and cosines!

3d scan 3
I'm not much of a math guy, but this sounds really easy!

x=delta/sin 60

Waaaaait… this may actually work!!!!

Oh and i've made some huge progress with my realtime webcam tracking program!

here's an example tracking my external harddrive blue led:
ledtrackr

Microsoft Scripting Guys failed at Perl… big time

2 February 2008

So don't get me wrong, I'm still a great MS fan and everything… but come on… they could have tested their script before publishing it!

the failure: (source microsoft.com)

!!FAILURE!!
click here for full page

Read the rest of this entry »

ppm install failed the ppd does not provide code to install for this platform

11 January 2008

So you just installed the brand new activeperl 5.10 and now you're having the "ppm install failed the ppd does not provide code to install for this platform" issue when you're trying to install a new package via ppm?

The solution is quite easy: uninstall and reinstall the latest "legacy" version (ActivePerl 5.8.8.822) which is fully functional and you'll have more luck installing those packages!
Of course you won't have those fancy new features like say(), given() {when(){…}…}, etc but still it'll work like a 5.8.x does!!!

The easiest, fastest, and most effective way to detect defective pixels on your LCD screen

26 December 2007


Defective pixels are uncool, and you usually find them when it's to late to give your damn LCD screen back… here's the solution to find them in no time!
Read the rest of this entry »

Vbscript CGI (No… not ASP)

15 November 2007

Yesterday, I don't know how, but while doing nothing I suddenly got the best idea ever: Using vbscript scripts with apache… and guess what… after some coding/debugging hours, it actually works like a charm!
Read the rest of this entry »

Patching Smokeping for Windows so you don't have to.

14 October 2007

I'm releasing this today, but it's still in beta (Everything that used to work with my old 2.0.8 patch works with that version, but not all new features have been tested yet)

What you'll need:

-Perl (latest version if you can)
-A web server (wamp is good, but others should work fine as well)


What the script will do and what it won't:

it will: download smokeping, rrdtool, and fping, help you configure smokeping (owner, mail, etc), patch what's needed to be patched, install a new feature that is not included in smokeping's official package (zoom in/out with pageup|pagedown)
it won't: install/configure your webserver, install perl, add targets in your configuration file


what's working and what's untested yet:

working: everything that used to work with the 2.0.8 version, Ajax based ineractive graph zooming (+ my exclusive zoom with pageup/pagedown feature), Multi Target Graphs, using drives different than "c:"
not tested yet: Master/Slave setup for multi source smokeping deployments.

How to configure wamp, or apache:
edit httpd.conf (C:\wamp\Apache2\conf\httpd.conf with wamp)
change: ScriptAlias /cgi-bin/ "C:/wamp/Apache2/cgi-bin/" into ScriptAlias /cgi-bin/ "c:/wamp/cgi/" *
change: <Directory "C:/wamp/Apache2/cgi-bin/"> into <Directory "c:/wamp/cgi"> *
(* you don't _have_ to do that, and of course you can change every paths, you just have to provide every paths to the install script)
create a folder in your www root folder (c:\wamp\www if you're runing wamp) and name it "simg"

The install script will ask you the www root folder and the image folder

WWW root folder [Default: C:\wamp\www] (must already exist)

image folder from C:\wamp\www [Default: simg]

that's it! if something is not self explanatory enough, or if you have questions feel free to leave a comment

for testing, and autostart take a look at steps 7,8, and 10 here http://dev.pulsed.net/wp/?p=3

Download the Smokeping Installer for Windows, unzip it and launch "install n patch.pl"

Latest smokeping version (2.2.4) working under Windows

1 October 2007

Almost available (meaning it works on my computer, but I lack time to finish it completely)

I'm working on an install thingy to make your life easier (instead of a DIY tutorial), and I think that I'm going to make a diff patch too.

Smokeping under windows

New stuff (in smokeping 2.2.4):
- "Ajax based ineractive graph zooming.", and it works (see above) :-)
- "Multi Target Graphs" (not tried yet)
- "Master/Slave setup for multi source smokeping deployments" (doesn't work under windows [for now] since the fping version I'm using doesn't support source address setting (-S))

Useless Dichotomic Morse to Human converter

17 August 2007

I'm using the binary decision tree approach to convert Morse Code to "Human"

Here's a part of the tree (not complete)
Binary Tree

Lets decipher "— · —":
First mark is a dash -> next level and right node
Second mark is a dot -> next level and left node
Third mark is a dash -> next level and right node
"— · —" = K

use strict;
my @morse_table = qw(E T I A N M S U R W D K G O H V F Ü L Ä P J B X C Y Z Q Ö CH 5 4 S 3 É ^ Ð 2 ^ È + ^ Þ À J 1 6 = / ^ Ç ^ H ^ 7 ^ G Ñ 8 ^ 9 0 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ? _ ^ ^ ^ ^ " ^ ^ . ^ ^ ^ ^ @ ^ ^ ^ ' ^ ^ - ^ ^ ^ ^ ^ ^ ^ ^ ; ! ^ \( ^ ^ ^ ^ ^ , ^ ^ ^ ^ : ^ ^ ^ ^ ^ ^ ^ );
my $index;
while(<>)
{
chomp;
for(split / +/)
{
$index=0;
for(split //)
{
if($_ eq "." or $_ eq "·")
{
$index=($index+1)*2-1;
}
elsif($_ eq "-" or $_ eq "—")
{
$index=($index+1)*2;
}
else
{
print " ";
$index=0;
}
}
print @morse_table[$index-1] if $index>0;
$index=0;
}
print $/;
}

Download this code: morse.pl

Cours de MOCA B2 [RCP106] (Modélisation, optimisation, complexité et algorithmes)

10 July 2007

Voilà le cours de MOCA B2 de cette année (CNAM/CAMOS de Metz) format pdf

PDF

640 Leds display [Project update]

8 July 2007

Finally i had enough free time to work on the PCB layer, here's the first version (unverified for now)


PCB layout
click to view the whole layout

Since I can't etch something >300mm, I have to split each board in two parts.

So we have the logic boards (74×4094, and uln2803) on the top, and the "matrices" boards (with the led matrices) on the bottom.

The power board (with the mosfets), and the controller board (with the µC) are still in dev.

Next Page »