Following my first article on the initial findings and results of my tests on the ATMega8, this article will show basic steps on how to connect a 2×16 characters LCD to the micro chip.
The reason for this is to have a way of debugging the microchip functionality, to output the results, the data and various other stuff. I can tell you this is a must have.
To use a minimum of I/O pins, I’ve decided to build a 4bit interface with the LCD. The hard part was to write the code, but finally after fixing several bugs and reading a lot of HD44780 documentation, I can say that I’ve completed a nice flexible code – meaning that you can easily configure the LCD pin connection.
The wiring diagram is below:
The code interface is also attached, not much to say about it here, since it’s full of technical details and bit-wise operations, but if anyone has questions feel free to use the comments form at the bottom.
To edit some parameters like frequency or PIN connections (you can change the I/O pins used by the LCD on the ATMega), have a look in lcd.h . Zip attached: atmega8-lcd
Function lcd_string2 is very useful for outputting text, since it supports variable parameters similar to printf. So you can use it for outputting misc content: lcd_string2(“Hello World! %d\npocketmagic.net”,i);
Here are some pictures with my LCD running:
Next thing to do is to start connecting various sensors.
Zeemote Inc. a company that recently has launched the JS1 bluetooth joystick, promises even more top wireless technology products for mobile devices.
Since I had the chance to test their JS1, here are some of my initial impressions.
The JS1 comes in a small box printed with good quality graphics that fit well with the current purpose of the joystick: game controller. From the start, I can say that I love the compact design.
Inside the box, it’s the JS1 unit, two quality batteries, and detailed manuals/warranty documents.
To use the controller with my Nokia N73, I needed the Zeekey software. The download comes as a ZIP file containing a sis file. I’ve copied the sis on the N73 phone, and executed it to start the Zeekey installer. All went fine without any issues.
Having the software installed, next step was to pair the JS1 to the phone: so I’ve turned on bluetooth, turned on the JS1, and from the Zeekey software the search option detected the joystick. As soon as the bluetooth connection was established, I was able to use the JS1 to browse the content of my phone.
Since the JS1 has several button, I was now able to try them: Button A works as Enter, Button C as right softkey (good for menus, etc) and the D key works as the left softkey. You have a B key as well, and the joystick itself offering 2D navigation. The good thing is that you can actually use the Zeekey software to configure what these input keys should do. For me the Standard configuration worked good out of the box.
Since I’ve got very little time for games myself – being more interested in the technological part of a product, I don’t have too many games installed on my N73, but.. I still have the default ones . So here’s a video of the bluetooth pairing process and then a few seconds playing Zuma:
After the joystick is disconnected, you need to manually reconnect the phone software – a minor inconvenient that I’m sure will get fixed.
Overall, I must say I’m impressed: a small weighted joystick, with embedded wireless capabilities including up to 10m operating radius is simply great. Imagine the possibilities of this device – as I said, I’m thinking over the gaming part: you could use this and a USB dongle to control your desktop PC.
My PC is connected to a large screen TV, and sometimes I use to play films directly from my PC on the TV. Would love to be able to use a wireless joystick instead of a mouse. The main advantage is that for a mouse you need a flat surface, but for this joystick you don’t!
So let’s try this. I have a cheap Bluetooth USB dongle from Ebay installed, running the BlueSoleil stack. Joystick turned on and discoverable, and good news! Not only it got detected but JS1 exports two Bluetooth profiles: The serial port and the HID profile meaning that it can be used as a mouse!
This sure shows a lot about the thought and research Zeemote put into this device. Good work guys!
Bottom line the JS1 is not only a great gaming controller, it is also a replacement for your PC’s mouse (read this as remote control bluetooth device). Fan of games or not, you guys really need to see how comfortable this unit can be!
My first results in building a Tesla Coil were encouraging, but running the whole system on a battery pack with a 555 driven flyback transformer was not the best I could get.
Still those of you interested in seeing my first steps in the Tesla Coils realm can have a look here
My second attempt and the subject of this article, came with a change in the power source.
As advised by Teslina I tried to use a ZVS driven flyback with builtin rectifier to power the tesla coil.
So I’ve built a new ZVS driver soldering the components above a heatsink. I’ve used 2xIRFP460 mosfets, 2xBYV26E as fast diodes, 2 15V Zenners and a 50coil iron-core inductor.
For the flyback, first I’ve tried a twin setup, by using two monitor flybacks, both with built-in rectifiers.
The primary must be shared, and the two secondaries connected in series for summed voltage output:
Luckily I’ve found a better flyback that did the job of the two, so I dropped the design above. Still it’s useful when you want to get a bit more voltage and you only have small monitor flybacks.
I’ve used the half wave rectified output to charge a bank of capacitors, summing 6nF 18KV. Here’s the simple Tesla Coil schematics for rectified current:
And here are a few pics and vids showing the Tesla Coil in action:
Well known for high voltage enthusiasts is the nitrogen laser, that uses a high voltage source and the nitrogen in the air.
What’s more difficult about it, is to arrange two electrodes to be perfectly parallel for an homogeneous discharge between then. Luckily while building my own, I came up with an idea that most of you will find useful.
First I need to say that I won’t be using aluminum foils, but real capacitors.
So let’s assume the electrodes are 2 ruler shaped metal pieces.
You can drill 4 holes, that would form an imaginary rectangle, two holes in each of the metal plates.
Using a non-conductive material, you can create two bridges between the two electrodes. This way you will have a rectangle shape, were the electrodes are parallel:
The good thing is that you can always loose the screws, so the rectangle shape can be easily shifted to the right, to a parallelogram shape.
This way the electrodes will always stay parallel, but the distance between then can be adjusted.
You will need to put some metallic spacers between the wooden bridges and the electrodes or else you’ll have arcs in that spot, that will burn the wood. It happened to me (see the marks left of the wooden bridges).
So one electrode can be free to shift left/right, and the other can be fixed to a holding plate.
Here’s my setup:
For the power supply I’ve used my ZVS driven flyback with built-in half wave rectifier, and a few hv ceramic capacitors (2x 18KV 3nF). Some designs use homemade plate shaped capacitors made of aluminum foil, but I don’t recommend it.
Here’s the laser firing, but apparently not working correctly:
The spark gap makes a lot of noise, and very bright discharges, so it’s very important to wear safety UV glasses.
A few videos:
For those of you willing to try this, you might need this as well:
“Mention the word radioactive and most people will recoil in horror.” (Barrie Skelchers)
Must admit he’s right and the first time I’ve seen the uranium glass, I was concerned about safety and radiation hazards. Then I started searching for more information on it, and after getting convinced that it’s relatively safe, I even purchased a few Uranium 238 marbles.
According to various sources it appears these marbles contain approximately 3% Uranium 238.
The Uranium is added to the glass in molten state. After the mixture gets colder the color changes from red-hot to the well known pale green.
More info on the uranium glass here.
An interesting feature is the green fluorescence under Ultraviolet light. I’ve tried this myself, using a couple of UV LEDs emitting 390nm light.
This effect is caused by the Uranium contained in the glass.
Radioactivity
Ok, I should have started with this subject. Unfortunately I don’t have a Geiger Counter yet, but planning to purchase one soon, so I was unable to measure the radiation emitted by my marbles.
From what I currently know, these marbles do not emit high or dangerous levels of radiation, and are completely safe to handle.
I didn’t measure the radiation, but this guy did. See his page for some interesting readings on various sources of radiation.
It looks like radiation is all around us, even inside our bodies, mostly because of a potassium isotope emitting beta rays. A large quantity of radiation is present even in the air we breathe, because of natural occurring radon gas which is radioactive. See this chart for natural sources of radiation:
And read more about them here. Get informed!
Voice command recognition (also referred to as “automated voice command recognition”, “computer voice recognition”, or in a slightly altered form “voice recognition”) is the process of converting audio signals specific to the human voice into a sequence of words, using an algorithm implemented as a computer program. Next we will use the abbreviation VCR to refer to the current title.
In June 2006, I’ve developed such a computer software, for my master dissertation thesis.
In the first step it receives the human voice from a microphone. Next it applies a Fast Fourier Transformation on the data set recorded with the microphone. The result is that for every sound it records, it processes a sequence of numbers based on the distribution of the frequencies.
You can see this as a number based descriptor, for various audio signals.
These sequences can then be applied to a neural network for the purpose of recognizing them.
This is only the main idea, more work has been actually done to cut representative voice signals out of the continuous stream coming from the microphone. The processor cost is quite high in this phase and it needs improvement, but overall the algorithm works well.
Here is a short video with me showing this software: