Punch Acceleration Sensor – Part 3

April 6, 2010

In this part I will describe the software side of the project. You can download the code here. I would highly recommend that you download ATMega328P documentation as well for register descriptions, notes and sample code.

Beginner Arduino Notes.

Any Arduino based program has at least 2 entry points:

void setup()
{
}
void loop()
{
}

Code within setup() is executed only once at the start and code within loop() is executed multiple times. You will also notice syntax like this:

ISR (TIMER1_OVF_vect) 
{
}

This is an interrupt handling routine for the Timer1 overflow interrupt. Just writing this code however is not enough as you need to enable that interrupt. Some of the interrupts are already handled by Arduino Wire library (such as Timer0 overflow) so they are not available to user code without additional steps.

There are several ways to do i/o operations. Arduino provides friendly pinMode(), digitalWrite(), digitalRead() functions but you can use native AVR way of reading/writing to various microcontroller registers.

Read the rest of this entry »

Advertisements

Punch Acceleration Sensor – Part 2

April 4, 2010

In this part I will describe the hardware side of the Punch Acceleration Sensor and the next part will be about the software.

You can download Eagle schematics and printouts here

Here’s the basic hardware schematic (click for pdf version):

Punch Acceleration Sensor – Schematics

These schematics use SparkFun Eagle Library for the Arduino board so the pins shown are for the Arduino board and not ATmega328. You can see how those pins correspond to ATmega328 pins by downloading schematics from Arduino Duemilanove specs page.

Read the rest of this entry »

Punch Acceleration Sensor – Part 1

April 4, 2010

After practicing a bit with my makiwara and having a mind of an engineer I wanted to know how hard I am actually hitting. Plus I wanted to see if I can hit as hard from short distance (so called 1 inch punch) as with full swing. So that made me go on a frenzy searching spree to see if there’s anything out there and even what number should I be looking for – is it arm speed or acceleration or board speed? There are actually several studies done on the topic and many good articles written explaining the physics behind it. From what I gathered, a hand hitting a board can cause 200g of acceleration in the matter of 10 milliseconds. This gave me the parameters to look for and also the realization that there’s nothing out there that I could afford to buy. In my searches I stumbled upon SparkFun store and from there the whole world of ICs, microprocessors and electronics. So I have decided to make it myself and couple of months later (yes, things go slow when you don’t know what you’re doing :)) I present you the working product (sorry for the grainy video – needed more light):

I will limit this post to the general system overview and will follow up with post dedicated to hardware and another one for software. All code and designs will be available for free download and you’re welcome to do with it whatever you like.

Read the rest of this entry »

DIY Wall Mounted Makiwara

April 2, 2010

Sometime ago I decided to improve my punches and strengthen my knuckles at the same time.  After a quick look online I found out that I need a Makiwara – a padded wooden board mostly used in Karate. Original Makiwara is a large wooden board buried in the ground but i found some room versions of them as well for sale. I could not find exactly what i needed – they were either too small or too large and required floor mounting – so I’ve decided  to build one myself:

DIY Wall Mounted Makiwara

DIY Wall Mounted Makiwara

Read the rest of this entry »

Welcome!

March 31, 2010

I am a software engineer from New York working in financial industry with plethora of hobbies – photography, martial arts, languages and electronics to name a few of them. This blog has things that matters to me and might be of interested to you. I will try to keep it short and informative but don’t hold me to that.

Aleksey