Remote Control Of Clocks Is Easy As Pi

[Fatjedi007] recently acquired three programmable boxing gym-type clocks to help his developmentally disabled clients manage their time. The plan was to have timers of varying lengths fire at preset times throughout the day, with the large displays providing a view from anywhere. Unfortunately, the clocks were not nearly as programmable as he needed them to be.

Since he’d spent enough money already, [Fatjedi007] turned to the power of Raspberry Pi to devise an affordable solution. Each clock gets a Pi Zero W and a simple IR transmit/receive circuit that operates using LIRC. The clocks came with remote controls, so it was just a matter of re-programming them. From LIRC, he wrote some scripts with SEND_ONCE and schedules the timers with a cron job. No need to get out the ladder—he can program all of them from his chair over VNC.

He does have one problem, though, and that’s getting the Zeros to set themselves over NTP with static IPs. Do you have any suggestions? Put ’em in the comments and help a Jedi out.

LIRC is pretty handy for anything you want to control remotely, like a stereo system.

Pulse Width Modulation With Microcontrollers

Those following the ProtoStack tutorials will be happy to hear that there is a new installment which explains Pulse Width Modulation. If you’ve never heard of PWM before, it’s a method of generating a signal that is logic 1 for a portion of the time and logic 0 for the remainder of the time. It is the most commonly used method for dimming an LED, and that’s [Daniel’s] example in this tutorial. But you’ll also find it used in many other applications such as servo motor control and piezo speaker control.

[Daniel] starts off with a brief explanation of duty cycle, then moves on to some examples of hardware and software PWM. Many of the AVR microcontrollers have a hardware PWM feature that allows you to configure a pin that toggles based on a target timer value. This is demonstrated using an ATmega168, but a method of using interrupts and your own code is also covered in case you don’t have a hardware PWM pin available.