Tuesday, December 11, 2012

Work Safety a lo Chileno

Note: Harness at base of column in the left of the photo.

Here are some guys working at about 7 -10m above ground. I am pretty sure they use those temporary columns to climb up there. Leter there where 4 men on that same beam. Safety standards in Chile are nowhere near what they are in Australia but this is pretty bad by Bolivian standards.

3D Printable Compact Camera Mount for Bike (Moved)

I printed a camera mount for my bike so I can record my rides/ record confrontations with crazy taxi drivers.

It is available at thingiverse: http://www.thingiverse.com/thing:37328


This is a handlebar mount for a compact camera for a bicycle. It uses a 6 x 25mm bolt for the camera and a 3 x 30mm bolt and nut to clamp the handlebars. 

Video here:
youtube.com/watch?v=5LYhufnWy6E&feature=youtu.be


Instructions

Print it! (I reccomend using the raft, the latest model had some curvature on the bottom surface.)

buy:
- 6 x 25mm bolt
- 3 x 30m and nut
- rubber washer

- Fit the M3 nut into the hole on the end. I used a heat gun to soften the plastic and then jammed it in. This way it keeps in tightly.

- Thread the M6 nut throught the block. Place rubber pad on top (this helps to dampen the vibration)

- Thread your camera onto the screw. (Note: the first camera I used was very cheap and had plastic threads which shreaded instantly. ONLY USE CAMERAS WITH METALIC THREADS!!.

- *IMPORTANT: slid the hand strap over the handlebars before clipping on the camera (just in case.)

- Snap the mount on the handlebars. It should stay where it is without the tightening nut.

- Place screw in tightening nut.

Enjoy!

Wednesday, November 21, 2012

Improved POP-BOT chassis (moved)

The pop bot is a kit offerd by Inex   and distributed by MCI Olimex that is aimed as an introduction to robotics.




Building and using the Popbot it was clear that it was designed by an electrical engineer. the construction is really quite clumsy. Here is a list of issues I have with the design:

  1. Gearboxes and standoffs to give the robot its main structure. 
  2. It also stacks the batteries over the electronics, which makes changing batteries fiddly work.
  3. The kit includes a servo for steering and sweeping an infrared rangefinding sensor. To mount the servo a 40mm standoff is screwed into the base. 
  4. The kit also contains an LCD screen for giving feedback directly from the unit. The holes in the PCB of the LCD do not match the hole spacing in the mounting plate.
  5. The box that the kit comes in is not an appropriate shape to store the completed robot. I broke/pulled  some things off the robot unintentionally because of this.
  6. There are several mounting holes in the gear box but few of them are aligned with the mounting plate
  7. The plastic box for the batteries and electronics has various other holes and cut outs like it was designed for another product and then repurposed for the robot.
  8. ...I will be sure to add more if it occurs to me.

Redesign:
With these complaints in mind I redesigned the structure. the model is located here in the sketchup 3d warehouse. This is the first revision and I plan to do at least a second. Stay tuned for updates.



Just finished the 2nd revision. The files are available at thingiverse.






Here are some photos of the second cut revisión of the improved bot Note from the photos that there are still a fex things to do.

I still have to by a 2 x2 AA battery holder and install it. I also need to by the hardware for the bearing "whee"

You may notice from the photo that the front part does not have a bearing installed. Thats because I miss measured the wheel diameter and twith 2 bearing wheels the driving wheels were left elevated above the ground surface.

As most of the weight is the back 3 wheels will do. In the next revisión I will include a better skid in front to prevent the bot from tipping forward.

Further design improvements:
-adjust motor mounting holes to better suit the gearboxes.
-holes for servo motor mounting screws
-through holes for cable management
-A shrowd for the LCD screen
-A flexible skirt for the bot that increases the colisión sensors effective área.
-better access to the communications port.
-remove the wheel enclosing part of the upper disk.

XOscillio Oscope for arduino


I stumbled upon this great executable that turns an arduino board into an Osciliscope. Which is excellent because I don't have to hook up my project to the real Osciliscope for small things and It's obviously loads cheaper and more accessible that the alternative.

The code is hosted here: http://code.google.com/p/xoscillo/

Here is a screenshot of a test reading of 2 digital channels of a electronic caliper (see my other post for details).
  

Note that the original code posted does note work with the current version of the Arduino IDE/firmware (1.0.1). But this has been fixed in this post here http://code.google.com/p/xoscillo/issues/detail?id=11

Code reposted - I must admit I dont understand any of this.
--- a/firmware/ArduinoOscillo/arduinooscillo.pde
+++ b/firmware/ArduinoOscillo/arduinooscillo.pde
@@ -100,14 +100,14 @@
 {
   if ( in == CMD_PING )
   {
-    Serial.print( 79, BYTE ) ;
-    Serial.print( 67, BYTE ) ;
-    Serial.print( triggerVoltage, BYTE ) ;
-    Serial.print( DataRemaining>>8, BYTE ) ;
-    Serial.print( DataRemaining&0xff, BYTE ) ;
+    Serial.write( 79 ) ;
+    Serial.write( 67 ) ;
+    Serial.write( triggerVoltage) ;
+    Serial.write( DataRemaining>>8 ) ;
+    Serial.write( DataRemaining&0xff ) ;
     for (int i=0;i<2 br="br" i="i">     {
-      Serial.print( triggerVoltage, BYTE ) ;
+      Serial.write( triggerVoltage ) ;
     }
   }
   else if ( in == CMD_RESET ) 


Monday, November 5, 2012

30 minute bandsaw fence (moved)

I knocked together this improvise bandsaw fence in about 30 minutes. It's a little too flexible about the z axis. But it much improved the accuracy of the saw (which is awful).

Tuesday, October 2, 2012

The New Boston C++ Tutorials (moved)

I have just completed working through a 70+ video series on the basics of C++. Bucky is a young programmer-educator-blogger that offers video courses in many computer languages. He also offers Biology classes and a Bear-Grylis-style survival course among other things. Check it out.
http://thenewboston.org/

Friday, September 28, 2012

VU Meter using Adafruits LED strip


I have made a VU meter using an ISP addressable LED strip. The project is made based on the project done by Jeremy Blum. See the video tutorial here. The rest of the his arduino series is excellent.

The electronics I have used are the same. This is a basic amplifier circuit that keeps only the peaks of the sinusoidal audio signal.

The code his tutorial produces gives a piece of code that has the LED change colour depending on the level of the audio output. The colour then moves down the LED strip at a fixed rate.

My code takes the signal level from the audio and converts it into a certain number of illuminated LEDs. Giving a VU meter effect. The code I used, which was barbarically adapted from Jeremy´s is below:


//Basic VU meter by Cameron Stewart http://hackingismakingisengineering.blogspot.com/2012/09/vu-meter-using-adafruits-led-strip.html
//Based on Jeremy Blum´s Design available at http://www.jeremyblum.com/2011/12/25/tutorial-14-for-arduino-holiday-lights-and-sounds/
//SPI Library
#include "SPI.h"
//Include Library for LED strip using Ada fruit´s library
#include
//Analog Audio Input Pins - from OPamp circuit.
int left_channel = 0;
int right_channel = 1;
//Light Control Pins
int light_data = 2;
int light_clk = 3;
//Setup Strip Constants
const int length = 32;
const int half = length;
//Creat strip object from Object Library
LPD8806 strip = LPD8806(length, light_data, light_clk);
//Initialise strip array.
uint32_t strip_array[length];
void setup()
{
  //Start serial for debugging
  Serial.begin(9600);
  //Fill pixel arrays with zeros
  for(int i=0; i  {
    strip_array[i] = 0;
  }
  //Initialize Strip
  strip.begin();
  strip.show();
}
void loop()
{
  //Uncomment this section to open the serial window for debugging
  //Serial.print("left:    ");
  //Serial.print(analogRead(left_channel));
  // Serial.print("right:    ");
  // Serial.println(analogRead(right_channel));
  //Determine power level
  int power = map(analogRead(right_channel), 0, 800, 0, 32);
  Serial.println(power);
  //Original Strand test function that came with the LED strip
  //colorChase(strip.Color(127, 127, 127), 10); // White

  //My new VU function
  uvMeter(strip.Color(127, 127, 127), power); // White
  //Display the new values
  strip.show();
  delay(0);
}
void uvMeter(uint32_t c, int pow) {
  int i;
  // Start by turning all pixels off:
  for(i=0; i // turn on all pixels below the peak level
  for(i=0; i<=pow; i++) strip.setPixelColor(i, c);

  // Display LEDs
  strip.show();
}
void colorChase(uint32_t c, uint8_t wait) {
  int i;
  // Start by turning all pixels off:
  for(i=0; i  // Then display one pixel at a time:
  for(i=0; i    strip.setPixelColor(i, c); // Set new pixel 'on'
    strip.show();              // Refresh LED states
    strip.setPixelColor(i, 0); // Erase pixel, but don't refresh!
    delay(wait);
  }
  strip.show(); // Refresh to turn off last pixel
}

After the first iteration I plan to add a few more features to the code to make the effect a little more tidy. Future improvmentes:

  • Dynamic ranging - to make use of the full LED strip.
  • Double/Triple sampling - to clean up the signal a bit
  • A top cap bar - similar to the effect in modern stereo VU meters
  • Stereo support 
  • Frequency filtering.



Thursday, September 20, 2012

Ada Fruit breadboard power supply

My package finally arrived from adafruit. The first thin I did was build up the breadboard power supply the breadboard in a little project box I have with an arduino. I plan to wire it up so the power supply will power the board when connected or, when using lower currents the board will run of the USB without powering the electronics on the supply circuit.

Any suggestions on how to do this without too much voltage drop??

A couple of negative things I would like to point out are: 
  • There are no holes in the PCB for mounting the device in a housing.
  • The heatsink is not well suited to the circuit layout because it clashes with the voltage regulator and screw terminals.

Sunday, September 2, 2012

Let's Build a Goddamn Tesla Museum

Donate to Tesla. I donotated enough for 3.3333 ghost high fives and haircut/moustache complements .

http://www.indiegogo.com/teslamuseum

Read theOatmeal comic!

Contribution Amount: $10

Perk: Tesla loves the number 3 (And if you donate $3, Tesla will love you too. If he were alive today he'd totally high-five you and compliment your haircut and/or mustache.)

Appearance: Visible Contribution - Your identity and amount will be public

Payment Method: via PayPal

My Embedded LEDs Have Been Featured on Instructables.com


My embedded /ɛmˈbɛdid; adj./ LED rim lights were featured on Instructables.com woohoo! to the left of the gunholster (don't let it distract you). It's my first instructable and the first thing I have done since I decided to document my projects. Win.
http://www.instructables.com/id/Inbedded-Bike-Rim-Lights/

Video in action here
http://youtu.be/hsXuLRNnScI