Monday, August 29, 2011

Data transmission by using the phone display

Most wares I build up are highly experimental prototypes. Often they have no display and not a full keypad for input the settings. At the PC RS-232 or similar simple cable-based protocols can be used to transfer setting to the ware. But if you want to use your present-day phone there is no established way expect using Bluetooth or wireless LAN, which is quite expensive.

So I came up with the idea to transfer data by flashing the phones display and implemented the corresponding hard and software. The result is a phone-programmable igniter that can be programmed to any time in the future (theoretically several year).

The hardware is kept extremely simple. It can be power by two 1.5 V-batteries. Nevertheless it has a "included" real-time clock and consumes very small amount of power. The receiver is a simple photo transistor. Here you can download the source for the micro controller (Attiny 44 A from ATMEL).

The picture above shows the front window with the photo transistor behind on the left. On the right you can see the 6-pin header for flashing the microcontroller.

The case is made from a steal profile with end cabs thermally formed from a PVC-Pipe. The following image shows the complete circuit.

For sending the time/date to the ware I wrote an App for Windows Phone 7. It sends an 32 bit number and 4 parity bits. With the used Biphase-Mark-Code around 18 Bit/s gross throughput is possible. The C# source for the sending app can be downloaded here.

Sunday, August 28, 2011

Very simple DIY magnetic card reader

The following video shows how to read magnetic cards without card reader. Only a tape head from an old cassette deck and the sound card microphone input of a PC is used. An example code for converting a recorded wav-file to plane text you can find here. The code is written in C#. I wrote the phrasing class as a concept for a microcontroller c code. It phrases successful track 2 of credit cards.

DIY Touch pannel

Here you can see an experimental device I made some time ago. It's for testing a home made 1-dimensional touch input device. The panel is made from an antistatic bag, some ribbon for a nice touch surface, wood and a piece of wire.

The "slider-contact" is connected to an ADC able io-port of the microcontroller with an external 2 MOhm pullup (must be much higher than the stripe resistance to keep linearity). At first both sides of the resistive stripe are pulled to low. The voltage level at the "slider-contact" indicates if the touch pad is touched (lo) or not (hi). When touched-state is indicated one end of the stripe is pulled to hi-level. Now the ADC can measure a position proportional voltage like on an ordinary potentiometer.

The metalized bags seems to have an isolating layer on both sides of the conductive layer, so they are not usable for that application (wikipedia: "forming a Faraday cage around the item"). I used the type of bag you can see here. There are only the black stripes (obviously carbon powder with binder) conductive, so you can only make use of it for 1D and not 2D panels.

It is to note that there is an constancy problem with the carbon/binder-layer. It is water resistant but gets solved in no-polar solvents, even fat from finger that seems to diffuse through the polymer layer and soak the carbon/binder. Maybe an additionally protection layer that is les permeable can fix that issue.