Multifunction clock (Part 1)

Here is a project I’m working on since some months now and which is now decent enough to be shown here. The time I spend working on it is inversly proportionnal to the time I spend playing games on console … this explains that :-)

The idea is to have an autonomous multifunction clock that uses two 24x16 leds display … I’ve already talked about those displays : bought on SureElectronics for a very low price (14$), they are really well done, a bit uneven on the luminosity side (between displays), but globally, a very good investment.

On the functionnal side, you have, of course, the time, date but also temperature and relative humidity.

One of my goals was to make a clock that does not look like a breadboard prototype and have a nice design. I’ve bought a plexiglas panel where I’ve cut a front and a back panel. To avoid any kind of screws on the front, I’ve bought a tap kit so I can place the threaded rod directly on the plexiglas without any bumps on the front side … 

I’ve never done this before, but it’s pretty simple and the final result is clean and strong. I’ve bought a 40 inches threaded rod that I’ve cut to have my display, the arduino and my board between the front and back panels. The back panel is not yet in place right now, but you can already see what the front panel looks like :

To place the display at a given distance from the panel, I’ve cut small sections on an aluminium tube, so you don’t see the screw and I have even spacing everywhere. I’ve used 4 rods per display to have something sturdy.

On the electronic side : 

  • an arduino 
  • a DS1307 to have a good and stable time reference that keeps the time even in case of power outage.
  • DC-SS500 from sure electronics to get temperature and relative humidity.
  • an LDR to adjust the display intensity depending of the ambiant light.
  • a RFM12B for wireless communication.

The wireless part is not yet done, but there is already some room on the board for it … 

The led displays are managed thanks to the library of Miles Burton that you can find here. Very simple to use and it can control up to 4 displays daisy chained. For this project, I’ve used only two displays driven through 4 wires : clock, data, CS1, CS2 … and of course the power. I’ve added some stuff to the library, like ‘giant’ letters as I plan to have several display themes in the future. 

Here is the complete schematic (you can click on it to have a higher resolution display) :

 

As the wiring was pretty straight, I’ve used a small experiment board instead of a dedicated board : 

The arduino and my board are placed behind the displays using double sided tape, which also ensure electric insulation.

For the moment, the time is always displayed on the first line of text and on the second line you can see alternatively the day/date, humidity and the temperature. The code is pretty “experimental” right now … but as soon as it will be a bit cleaner, I’ll post it here.

Once the wireless part will be in place, I will link the clock to the other devices in my house. Doing so, I’ll be able to track temperature, humidity and light level on my central pc and also send commands to the clock like : 

  • synchronise clock to internet
  • change display theme
  • messages 

To be continued…

Arcade joystick V2.1

I’ve been confronted recently with a limitation of my home made arcade joystick : I’m unable to play Mortal Kombat with it, it lacks buttons. I’ve build my joystick on top of two xbox 360 joypads where I’ve connected the A, B, X, Y, LB and RB buttons. But it’s not enough as MK uses also the LT and RT triggers. The details on my joystick are only available on the french side of blog as I’ve made it some months ago … sorry about that. 

All the buttons I’ve connected so far were simple and straight on/off buttons, but here, the triggers are small potentiometers (10K Ohm) as you can see on the following picture :

 

To simulate the behaviour of the potentiometer, I’ve simply considered the two extreme positions by using an inverter button and two resistors. In idle position, one side is directly connected while the other goes through a 10K Ohm resistor. When pushed, it’s the other way round … The following schematic shows what I had before and what I have now : 

This is how it looks like once soldered on an arcade microswitch : 

The soldering on the joypad board was much more simpler than the other buttons. I just removed the potentiometers using a desoldering pump and than had a clean place to connect my three wires. The whole thing is covered with hot glue to avoid any unwanted wire movements.

 

For ergonomic reasons, I’ve put my two new buttons right under the other six ones.

I’d liked also to move the joypad leds on the front panel of the joystick in order to see if the joystick is switched on and who is connected. Unsodlering the surface mounted leds is not that simple, but soldering afterward wires on a such tiny surface … I just don’t feel it … If someone has already done that kind of stuff, I’m really intersted to know how and what tools to use :-) … 

Retro radio V1.1

Here we go for some improvement on my retro radio which integrates a PC/media player. The first version had an external touch screen which just ruin the overall look … So I’ve decided to integrate it in the radio itself.

I’ve stripped down the original speaker covering, everything was attached with screws, it was pretty simple to do.

A part of the ‘grid’ of the speaker is use to keep the touch screen in place. As this screen does not use the full opening, I’ve tried to keep the look of the radio as it was.

I’ve not cut the fabric right on the edge to be able to fold and glue it to have a nicer result.

I’ve glued the screen with a glue gun. It’s pretty harsh, I agree, but I don’t have the courage nor the tools to do a proper removable system.

The main point, beside the look of the radio, is the simplification of the cabling. The screen is now powered by the power supply of the PC and the VGA cable is kept inside the box.

Another improvement I’ve made is the ability of the system to communicate with external modules thanks to an arduino using a custom made RF shield.

The first wireless communication tests I’ve made were using Xbees, but they are expensive and I was never able to have more than 2 arduino exchanging data and staying fast and responsive enough. 

So, I’ve tried a simpler solution that fit my needs : RFM12B modules … very cheap (5.5€ @ Jeelabs) and pretty simple to use with the library you can find at Jeelabs. Here is my prototype :  

All the pins are wired as I’ll probably use them later on.

On the other side, I have anothe prototype of multifunctional module. This one is based on an arduino mini pro, a temperature and humidity senser (Sure electronics), a light level senser (Sure electronics) and two multicolored leds (BlinkM).

The idea is to build several of these modules to keep track of the temperature and humidity of my house’s rooms. I’ve added the leds here as I’ll use them to backlight my tv set, which is the first module I’ll put in place.

I’ve soldered the RF modules on pin headers that I’ve bend in order to be able to use them on breadboards and other standard protoboards.

The other modules : 

Everything assembled together with a regulator to allow the powering through a regular/cheap transformer : 

I’ve modified the interface of my media player to easily change the leds color, it’s still a rough one, but at least, it’s working.

I’ve not yet integrated the temperature, humidity and light values … The arduino sketches are already done, I just miss the c# part on the interface.

There is still room for improvement, mainly on the interface side, but for a daily usage, it’s ok ;-)

Timelapse …

Here is a little project around an arduino mini pro that was pretty simple to do and which allows me to go back to electronics as I’ve neglected it these months.

So, what’s a timelapse ? A function you can find directly on some camera or as an external device that you can plug on you camera which allows you to take pictures at a regular pace in order to make a video out of it. One of the most common usage is to take pictures of clouds and replay that at high speed. Here are two examples I’ve made with my system (canon 550d/sigma 50mm 1.4 + arduino timelapse) :

To interface with the camera, I simply use a 2.5mm jack which is used to remote control the shutter and focus. Here is the schematic for canon camera:  

 

To isolate the camera control from the rest of the circuit, I’ve used two optocoupleurs 4n35. They are plugged to a digital I/O pin of the arduino with a 560Ohm resistor. 

Now I need a nice human interface here … I’ve chosed a small LCD 1 and half inches large (HMC16223SG)  that I’ve bought online at Pollin. It’s controlled by a HD44780 that I use in 4bits mode to reduce the number of wires (7 instead of 11). There is just one drawback with this LCD, there is no backlight, but this is not really an issue here.

I’ve found a nice enclosure at my local store, 5x2.3x1.2 inches large with a 9v battery place and a translucent plastic windows for the LCD. I’ve struggled a bit to pack everything in, but it fits.   

Here is the inside view :

  

I’ve put 3 push buttons to navigate in the menu. I’ve already use those ones in a previous project, nice feeling and small enough.

And the outside view :

The two buttons on the right are used to navigate up and down in the menu, the left button select the entry and once an entry is selected, the right buttons allows you to change the current value.

Here is what you can find in the menu :

  • GO - start shoot session. 
  • Automatic (shoot count/interval/total time) - This allows you to choose the parameter that will be automatically computed. e.g. : if shoot count is selected, it will be deduced from the total time and the interval between shoots.
  • Interval - time between each shoot.
  • Shoot count.
  • Total time.
  • Use focus - Do or don’t do a focus before every shoot.
  • Focus duration.
  • Delay before first shoot.
  • Test mode.

There are two leds on the front, the green one is used to see if it is powerd on, the yellow one is use to know if the current menu entry is selected and also to know if we are in a shoot session (blinking every seconds).

I’ve also used the eeprom to store all the parameters, so you don’t have to set all your parameters everytime.

The software is 650 lines long, it’s not really optimized (well, I’m a bit lazy) but it’s working well, that’s all I ask.

I’m already thinking about some extensions, like triggers from sound or light events. There is still some room in the enclosure, not that much, but it can probably fit in.

If you are intersted in the software, I can post it … as I’ve sayed, it’s not optimized, not really well written, but it works.

Intro …

Welcome to the english-side of my blog. I’ve started it a bit more than a year ago and I post here all my electronic experimentations and developments …

Electronics is really a hobby for me, I’m learning  new stuffs every days … so, excuse me if sometimes I’m not really accurate or make mistakes …

This blog mainly talks about arduino and domotic stuff as it was my first goal when I’ve bought my first arduino months ago. But since then, I’ve tried other things not really domotic related and I’m sharing them anyways.

I’ll try to post new articles simultaneously in french and english, and from time to time I’ll probably translate old articles in english as well. If you have some specific requests, it doesn’t cost to ask :-) …

Don’t hesitate to comment articles or ask questions … this is also the goal of this blog.

Theme created by: Roy David Farber and Hunson. Powered By: Tumblr...
1 of 1