Archive for the Sensing Category

Parallel versus Concurrent

Posted in Parallel Talk, Sensing on December 26, 2016 by asteriondaedalus

So, I fell upon Chapel, a parallel programming language.  It makes sense for things that Erlang and Elixir are not good for – like image processing.

It isn’t Google’s,  it’s actually Cray’s.

So fun facts:

  1. When working in Canada I came across a coffee mug in a second hand store that was from Cray.
  2. You can Cram a replica of a Cray into an FPGA.

Now I have Erlang up and running on my ODRIOD-C1 home server.  I will get Elixir and Phoenix running as the wife will likely want something less geeky than node-red for her interface to the home automation.

In the meantime, for fun, Chapel is at this very moment compiling on the OD-C1.  Why not, quad core.  Apparently, for non-Cray etc. monsters, you simply need a  UDP module compiled, a lot of fiddling, and you can have two or more nodes (Locales) running.

In any event, the parallel helloworld found me four cores on me OD-C1.

hello-chapel

Black Magic

There was a configuration script to run but other than that I did not have to tell it how many cores, so some smarts buried does the job.  Otherwise the code to run the print on all four cores is a straight forward as:

config const numTasks = here.maxTaskPar;
coforall tid in 0..#numTasks do
   writeln("Hello, world! (from task " + tid + " of " + numTasks + ")");

There is also an image processing tutorial using Chapel.

There are even lecture notes around.

Zippity do dah, zippity ZAPPP!

Posted in Hardware, Sensing, The after market on December 25, 2016 by asteriondaedalus

Looking at OpenSprinkler circuit, the use of SCR to control the solenoids appears to require the addition of TVS diodes a plenty.

That would be a design decision.

As OpenSprinklette is using relays to drive the 24VAC solenoids we need not apply protection there.

Nuisance factor though is that trying to source non-SMD bidirectional channeled TVS, for the rain gauge input, not so much fun.

For the prototype at least, without any SMD pads on the prototype shield, we are happier with DO-15 or similar package types for the protoboard’s pad spacings.

Luckily though AliExpress came to the rescue.   I have ordered a packet 100 x 36V 1500W bidirectional TVS for US$11.   Now the original design calls for 48V but the markings on the devices suggested unidirectional and the text supporting them did not mention bidirectional.  So, just in case I have ordered 10 x 39V 1500W for US2.80.  That’s the problem with AliExpress and working with penny market vendors therein.  You take what you can get.

So rain gauge and TVS on the way.  I finally decided the shield I am designing will have an input for a rain gauge for those you want a minimal four sector.  The idea of a rain gauge with an ESP8266 has not gone away though.  Where we are using the mqtt and node-red we can build up as we please – over time.

 

Lidar for pennies – almost

Posted in Open Source can be professional, Sensing on May 8, 2014 by asteriondaedalus
Looking good!

Looking good!

Sub $500 laser scanner on the market.  Competition should explode here and bring prices down further.

Looking good for home hobbyist.

Now that’s an idea!

Posted in Android, Arduino, Sensing, Vision on May 2, 2014 by asteriondaedalus
Cyclops!

Cyclops!

Feast your eyes!

The beautiful accidents right.

The GripGo base, once I ripped the suction cup off (broke off without actually any resistance) was a couple of millimeters in diameter larger than a circular “ledge” on the back of the indoor rover so a liberal smear of epoxy and voila!!  An adjustable mount for my old Samsung SII.

Do notice the omnidirectional lens on the top.  That is a “spare” that turned up.  Cost $60 but came with an old knock about bloggie which I will find some other use for.

Unfortunately the second bloggie fell through, the poor dear at the other end of the interweb was too dull to know how to mail something interstate – oddly, this one comes from twice as far away.  Can’t fathom it but there are still Luddites around.

Anway, I have two of these lens as well as the “periscope” version (that I am waiting on the USB catheter camera).  So, plenty if you ask me.

I will need to get a student copy of Matlab to use a fancy calibration library which looks like it lifts any distortion out of the image once it is unwrapped.  Even if that falls through, a simple wall detector will allow this beast to avoid bumping into walls – we hope … mwahahahahaha!

Recall the phone runs S4A and Python so while the application will be in C++ or Android it can ping a socket with steering directions – or that is the plan.

Beauty is that the adjustable holder allows other configurations when other algorithms and vision approaches are being played with.

Nope, same Rover.

Nope, same Rover.

OmniEndo?? EndoOmni??

Posted in Sensing, Vision on April 22, 2014 by asteriondaedalus

Endo camera modules on way:

This won't hurt a bit ;)

This won’t hurt a bit 😉

To pair with the omni lens:

Perfect match for endo camera module.

Perfect match for endo camera module.

 

The problem with the full unit was 1) the glaring LED bathing the interior of the lens with unwanted light and 2) the tube the camera was in kept the camera aperture too far from lens … so it didn’t fit field of view.

The bigger difference between this and the lens from the older bloggy is that it is more of a periscope … with a mirror at 45 degrees … that the camera looks at.  The unit has a cover with jeweler’s screws so might still take the mirror out and use camera co-axially with lens.

Won’t know until the modules turn up to see how much of the field of view is filled.

In mean time, coding in the background to work a 360 degree collision detection – stealing from a few places.

Now that I am also getting a couple of older omni lenses:

Good for flat surfaces

Good for flat surfaces

 

I will happily grind off the clip ends so I can hot glue or otherwise to bottom of my Parrot as I planned some time ago now.

Post Script

Here is price of closest alternative.

Ping!! 2

Posted in Hardware, Sensing on April 15, 2014 by asteriondaedalus

Ping!!

Ultrasonic module is in.  I will take the plunge on weekend and dunk it in water and ping it.

Let the fun begin …

Posted in Development, Hardware, Sensing on December 13, 2013 by asteriondaedalus

… and still I need to cut up my VISA card

[audience: NNNNNNNNNNNNNNOOOOOOOOOOOOOOooooooooooo!]

Okay, I won’t.

So, I jumped on net to find a MPU-9150 breakout as I have started soldering up the propeller proto board to take the ITG 3200 for the phubar experiments.

Propeller Prototype

I am going to add two sockets to allow swapping out between the two sensors.

ITG 3200 Breakoutmpu 9150 breakout

Found a 9150 breakout for $16 odd dollars (although buying 5 for $50 was tempting).

In the meantime found a depth sensor with apparently 1cm resolution, 5 for $20 plus $8 postage.

depth gauge(Post script: the seller retracted the sale, they put the wrong price up – too good to be true afterall.  They don’t appear to be subject to Australian law and not means to force them to honor the “contract”).  You are looking for the MS5803-14B .

This will do for the submersible experiments with the old video camera diving houses.  Of course, some has already written Arduino code to use exactly this sensor (gotta love open source … sometimes).

sony cam