I have almost finished the rebuild of my Quadrocopter so I thought I would post it up here. All I am waiting for now is the motor mounts. I am very pleased with build as it will be a lot more maintainable than the original injected moulded plastic one as the carbon fibre rod is very replaceable. Its a bit of a dark photo but I like how stealthy and menacing it looks. I am very much considering ordering the Ardupilot and accessories for some added Arduino goodness.
Tag Archives: Arduino
Our camera uses 36 fixed-focus 2 megapixel mobile phone camera modules. The camera modules are mounted in a robust, 3D-printed, ball-shaped enclosure that is padded with foam and handles just like a ball. Our camera contains an accelerometer which we use to measure launch acceleration. Integration lets us predict rise time to the highest point, where we trigger the exposure. After catching the ball camera, pictures are downloaded in seconds using USB and automatically shown in our spherical panoramic viewer. This lets users interactively explore a full representation of the captured environment.
I love Kate’s outlook on life. I think we should all try to be more glacier like!
I learnt so much in the home brew CNC workshop and I am very aware that if I don’t do something with my new found knowledge soon then I will forget most of it. I am a collector of broken junk and in my collection I have an A3 scanner and an A4 scanner. I have decided to turn these deserted and tired old pieces of equipment into a homebrew plotter / engraver (if all goes well.) The first step was to take the Grbl ready Arduino from a previous post and make it control a stepper motor. I have been leant 3 stepper motor drivers to experiment with, the documentation for the drivers can be found here. The A4983 stepper motor driver is a very compact driver perfect for smaller CNC projects. The documentation for the A4983 is very good so it was very easy to connect it up to the Arduino and the stepper motor. The pictures below evidence my setup with the driver running full steps. I have not experimented with micro steps yet but the results are very promising.
Recently I attended a 3 day training session on building home-brew CNC machines which was run by Dave Turtle from the RCA. It was an amazing 3 days and I will post the photos and videos of the results as soon as possible. One of the hurdles that came crashing in on day two was the limitation of running the kit from the parallel port. There really aren’t that many computers these days that still roll out with a parallel port as standard, not to mention my nice shiny mac does not come equipped with a parallel port. I was 100% sure the solution to this problem was the trusty Arduino. There have been many projects where the Arduino has already been used as the heart of a CNC machine, the first that comes to mind is the REPRAP. There is also another CNC project called Contraptor which utilises the Arduino at its heart. The home site for the Contraptor project has a lot of useful information, it was there I came across Grbl.
I tried the RepRap g code interpreter, fiveD but I could not get it to compile for the Arduino (Any tips would be gratefully recieved). I also tried a few other interpreters with varying success: teapot, rsteppercontrol and arduino-gcode-interpreter-new. I really struggled, probably partly due to my lack of understanding when it comes to g-code. I had no success over the three days of training but I did find Grbl though I didn’t have the kit to test it. Grbl seemed like a very simple solution but the main hurdle when it comes to implementing it is that you need to use avrdude to flash it to the Arduino you can’t just send it via usb direct to the Arduino. I have never done this before so I let the Arduino rest for the the remainder of the training with a mind to try it as soon as possible.
Today I started messing around with Flashing Grbl to the Arduino and was caught out by several issues which slowed my progress. There are already several sites with information on how to do this but I found I needed bits from all my sources to get the job done. I thought I would document my process in case anyone else finds it useful.
First off the sites that proved to be most useful:
I started by downloading the prebuilt hex files for Grbl here
I then downloaded Crosspack-AVR from here which installs a version of AVRDUDE (used to handle flashing the data to the Arduino)
The Arduino that is going to act as a programmer needs to have the programming firmware uploaded to it. This is a very simple task as it is all built into the Arduino IDE. Open up the Arduino IDE then go to File -> examples -> Arduino ISP then upload the sketch to the Arduino. The Arduino is now fully setup to Flash another Arduino.
The next step was to wire one Arduino to another to use as a programmer. I found the wiring diagram from Sparkfun here and the picture below is my version of the wiring. One thing that sparkfun didn’t explain is that you must disable auto reset on serial connection. I found out how to do this here. I could not find a cable to suit so unfortunately I had to solder directly to the ISCP headers (not pretty).
Now all the setup is done it is time to put AVRDUDE to work, on a Mac this is done via terminal.
I found the terminal commands for AVRDUDE on sparkfun here about half way down the page.
command one (make sure the Arduino is ready for grbl):
avrdude -P /dev/tty.usbserial-A9007VP6 -b 19200 -c avrisp -p m328p -v -e -U efuse:w:0x05:m -U hfuse:w:0xD6:m -U lfuse:w:0xFF:m
change the red text for the name of the serial port that your Arduino is plugged into
command two (load Grbl):
avrdude -P /dev/tty.usbserial-A9007VP6 -b 19200 -c avrisp -p m328p -v -e -U flash:w:grbl.hex -U lock:w:0x0F:m
blue text is for the location of the grbl hex file on the computer
Hopefully thats it, Grbl is now installed!
If you want to test that Grbl is working properly the you can download CoolTerm which is a GUI for mac for sending and receiving information on serial ports.
For a while now I have been messing around with what I have called a domestic appliance sequencer. I think I have photos of it on this blog (the start of it). I have not had time to improve it or work on the software and now youtube user arcattack has beaten me to it. The project is very effective though there are some very impressive, percussive sounds being produced.
Touche mr arcattack!
A morning spent murdering Nirvana – come as you are.
A couple of months ago a good friend bought me a stylophone for my birthday. I had a blast snarling out noises that were close to songs we all know and love. unfortunately due to my clumsy inaccurate nature I have never managed to play a whole song at the correct tempo with out playing wrong notes. The novelty soon wore off and the stylophone was left to gather dust on a shelf in my office.
I have a list of tasks as long as my arm to do at work but this morning when I got in the motivation levels were at an all time low. Instead of doing anything useful I decided it was time time to put the stylophone to good use. Knowing that my ability to manipulate the stylus over those circuit board keys was never gonna improve I decided I would cheat and automate the circuit connections that are made when the stylus connects with one of the keys.
The video attached shows the result of todays procrastination. So far I have only automated 10 of the keys direct from the arduino.if I get time in the near future I will extend its functionality using an 8bit shift register so that the arduino can play all the keys. I also intend to write a processing sketch interface so that inputting songs is easier and more intuitive (and not murderous to classic rock songs).
Written using swype on htc feature hd
This project was built using Arduin and processing.org. The project has a beautifully unique and playful take on sound manipulation. I especially love the bucket but you will have to watch it to know what i mean!
I have been busy running through ideas for automated instruments I could use to enrich my performances at open mic nights. One of the main points of interest for me is percussion as it is usually quite over looked at open mic nights apart from the occasional set of bongos. I have been drawing up sketches for a snare drum played using dropping marbles and also for a cassette player hack. The main hurdle for any automated instrument is how will it be sequenced to play itself. Last night I sat down for a while and coded a very very basic sequencer in processing that controlled an Arduino with Firmata installed. There is nothing fancy about the code but I believe this will be a good solid starting point for most of the automated instruments I could ever imagine. There are some images below of the basic setup and a video of the sequencer on the screen and the Arduino carrying out the sequence using LED’s. I am quite happy to publish the source code on request.
I didn’t want it to come to this! After many attempts to get the printer to go forward on its own accord (many resulting in ruining the control board and having to buy a new printer) i have brought out the secret weapon – ARDUINO. I also bought a heavily geared down DC motor from Tamiya. These factors combined result in some serious direct to everything progress!
The video shows the printer stepping forwards at a pace set by the Resistance registered by a potentiometer. Later on the potentiometer will be very important in tweaking the printer so it outputs correctly. The DC motor has more than enough power to move the printer.
The black and red wires go directly to the dc motor. The power is switched using a simple transistor.