Miscellaneous projects...

I’m about to start a new construction project and it reminded me that I’ve done a few random projects and not posted about them at all… So, here’s a rundown of the small stuff…

Fixed the dimmer that didn’t work well for 20+ years…

In our dining room there was a weird dimmer switch that had a touch plate that was supposed to adjust by sliding your finger on it or something. It didn’t work right for two reasons. First, if you tapped it it was supposed to just turn on the light, it would often fail at this or leave the light flickering on and off. Second, I could find no reliable way to control the dimming with it, it either went full on suddenly or off to flickering… We lived with it since we moved into the house and I kept meaning to have and electrician replace it. Finally I got the courage together to replace the damn thing. It was actually very easy and the instructions for the new dimmer were very clear. The new dimmer is the proper rating for the LED lights in the fixture and had a normal on-off switch and slider for dimming. The hardest part was finding the circuit that this light was on, it wasn’t on anything labeled in our box as “dining room” and turned out to be on the circuit with the basement and some of the outlets in the kitchen ( wtf? ).

A normal functioning dimmer for the dining room…

A normal functioning dimmer for the dining room…

Fix the split in the front foyer door

Our front foyer door developed a split in the wood near the door knob a few ( 10, 15, who knows… ) years ago. And I attempted to glue it in the past and failed and had since just had some masking tape over it to prevent it catching on things. Don’t judge me. Recently, I cut out the damaged wood, made a patch and glued and fastened the patch in place with brads and sanded it flush with the original door. I even painted it to mostly match.

PXL_20210616_124547453.jpg

Got the paper towel off the counter

For a couple of decades our paper towel in the kitchen has been on a vertical dispenser on the counter. I’ve always regretted that dispenser since it was always in the way or behind something. Also, it would move when you tried to pull paper towel off of it. I built a dispenser that could mount to the underside of the cabinet to solve this problem. It is better ( not perfect ) for one handed use, and it solves all the other problems. I used some old book shelf material I had in the scrap pile to build it and I painted it to match the cabinets.

PXL_20210616_124636446.jpg

Converted Dana’s bike to grip shift

Even after the complete overhaul and rebuild last year, the shifters on Dana’s bike weren’t working correctly and they were making it hard for her to ride. I got some off the shelf grip shifters and replacement brake levers and replaced the original Shimano stuff. They work great and I was also able to adjust the pull on the brakes to make them a lot more aggressive. The shifters work with any Shimano drivetrain as long as it is a 3x7 setup. I also finally understood derailleur adjustment and was able to dial in the shifting. I got these cool purple grips as well that match the bike frame.

PXL_20210616_140803172.jpg

Converted all of the lights in the basement to LED from fluorescent and added a bunch

I have wanted to add more lighting to the basement ( where my workshop is ) and had been dreading trying to lure an electrician out here to do a small job. One day I noticed that there was an old dead fixture up in the joist bay and it was still wired in to the main light switch in the basement. I removed it and got rid of it and converted that wiring to be a switched outlet. I then got these cool four foot LED shop lights that can daisy chain. I was able to add a bunch of them with no issues. Now I can see what I’m doing in the workshop which is wonderful.

I also replaced the old fluorescent bulbs in the existing fixtures with LED conversion bulbs

I also replaced the old fluorescent bulbs in the existing fixtures with LED conversion bulbs

Next project, shop expansion to do the next next project

After the hall cabinet project I realized that I needed some additional tools to do nicer and more precise projects more easily. I said that I would wait until I came up with a plan for another “upstairs quality” project and then I would expand the shop to do that one. The next next project that came up was to build a custom folding bed/couch for the guest room/library upstairs. It will have a storage chest as the headboard to store bedding and other linens and such. I’ve got the design drawn up and it will allow us to move from a “full” size futon bed to a “queen” size bed in our library. This will be nice for guests and for us since sometimes when one of us has a cold we sleep in there to let the other one get some rest. I’m also going to build some storage into the base as well.

But first I need to expand the shop so I got a nice sliding compound miter saw, a table saw on a folding rolling stand, a drill press, and a belt and disk sanding station. I’m going to build a miter saw bench that will also support the drill press and sanding station. The table saw folds up and gets stored across the room and most likely used in my garage since it won’t be much use in my shop space.

Picture a bench under these tools with a pegboard behind them and eight drawers underneath them ( I really need the storage ) and a nice 30x30 work surface at the end. The front edge of the bench will be kept clear and the miter saw recessed so that it’s deck is flush with the bench top and thus will form the infeed and outfeed for the miter saw. I’m even going to put T-track into the bench top with a removable stop and an embedded ruler on the infeed side for quick measuring and repeated cuts.

Ok, that’s the update, I’ll post about the shop project soon… I’m waiting for materials to be delivered today!

Robot Project: Acrylic treat dispenser

Over the holidays, after evaluating alternatives for cutting the acrylic and aluminum, I got a bench top band saw.

processed_PXL_20201230_204526609.jpg

It has allowed me to make all the parts for the feeder quickly and reasonably straight. I even figured out how to make the treat ramp inside to keep them from getting stuck. I used CA glue to bond everything. That was a little learning curve. My new clamping surface plus some masking tape to avoid gluing the parts to the bench worked great. So, here is the assembled unit:

processed_PXL_20210101_210739393.jpg
processed_PXL_20210101_210757998.jpg

I'm very happy with how it came out. Next is installing the servos and getting it running under power. The placement is going to be tricky.

Robot Project: Audio In/Out, Cat Treat Feeder, Refining the Patrol code

Whenever we’re away for a long time we worry about our cats. There are people who come in to feed them, play with them, and change the cat box, but still we worry. Over the years I’ve developed more and more technological solutions to allow us to check in on them remotely. Now, before we go I set up multiple wifi cameras around the house, each of which is in a likely cat activity space. I can reposition the cameras remotely and they capture based on motion and save up a nice movie of all the activity broken down by hour. They have infrared cameras and so we get twenty four hour coverage. This works pretty well and reduce worry a lot.

There was only one gap in this system, sometimes the cats decide to be completely outside of the view of all of the cameras for many hours. Being an engineer I felt compelled to try and build a solution to fill this gap. I decided that I would build a robot rover that could do the following:

  1. Autonomously roam one or more rooms of the house

  2. Take pictures during it’s patrol and upload them

  3. Record sounds

  4. Play our voices calling for the cats and offering treats

  5. Dispense treats

  6. Allow me to take over and control it’s functions manually over the internet

The theory would be that while a robot would likely make the cats wary, something that sounded like us and dispensed tasty treats would make them get over that and come close to be seen on camera somewhat on demand.

Now that I have the robot assembled and I’ve figured out how to program it, I’ve been working on the patrol code. It is still a work in progress but I’ve managed to get ten probes into a room and not get stuck, I have some ideas on how to get to the next level. Along the way I’ve discovered some interesting edge conditions in the python api code, for example in some locations where they convert from degrees to a number of intervals from the wheel sensor they use integer math. Not in general a problem except when the division comes back as zero in which case the onboard controller takes that as meaning “turn on the motors until you’re told to stop” instead of “stop after some number of wheel sensor signals" So, every so often everything would be going well and then the robot would need to turn a small amount and it would just start spinning in place until it hit the code to go forward which at that point was in a random direction. There was a similar issue with the code to go forward a certain number of centimeters resulting in running right into whatever wall was in front of it.

I’ve got all of the safeguards in my code now to prevent those conditions now, and it has been interesting debugging both in the code and physical world. One of the mechanical things that I ended up having to fix was that I had originally mounted the servo on the front and the ultrasound sensor on the lower deck of the robot ( they didn’t say you shouldn’t and it was out of the way of the camera .) Turns out, that you don’t get full range of motion of the sensor on the servo because the circuit board hits the upper deck. More importantly for something that rolls around the floor it was easy for the low mounted sensor to miss things that would interfere with the top half of the robot. So, I moved it up to the upper deck. I just pivot it out of the frame when I use the camera.

I also learned that you shouldn’t operate the motors and take a picture at the same time, the ribbon cable ( not shielded ) for the camera runs right past the power circuit for the motors. There is a lot of RFI when they’re running and so you get some pretty funky images as a result.

Robot showing amplified speaker, microphone, and new placement of the ultrasonic sensor

Robot showing amplified speaker, microphone, and new placement of the ultrasonic sensor

I got a very cheap USB microphone dongle to use for audio input… bad idea… the gain on the device was terrible, it worked but the audio was barely audible over the noise. The noise was because all of it’s circuits were yes, you guessed it, right near the motor controller board. I ended up using a nice USB microphone via a USB cable clipped to the side of the robot, that worked like a champ and had enough gain to pick up a cat vocalizing.

I also got a tiny rechargeable amplified speaker to plug into the Raspberry Pi’s headphone jack and that worked fine. I got a 90 degree adapter to keep the wire away from the wheels and mounted it to the back with some double stick tape. Using the pygame module it is easy to play any audio file so we should be able to record ourselves calling to the cats and use that.

Design for cat treat feeder…

Design for cat treat feeder…

The final item is the treat dispenser, this is an entire project in itself. I have a design that I’m working on and I’ve created a prototype of the dispenser mechanism. I have been using components from the Lego Technic collection of parts. The great thing is that they have all kinds of shafts, bearings, gears, wheels, beams, etc… that are all compatible with each other. I’m not qualified to machine anything or even do a competent job designing something to be machined. So, these are a godsend and have allowed me to build the core mechanism of the treat dispenser and get it working. The power for the treat dispenser will come from two additional servos one on each side which will push a peg on a drive wheel, they are set 180 degrees apart. (see video for demonstration in the prototype) Fortunately the folks who make the robot provide a kit with an add on servo controller board that can control multiple servos and it comes with a couple of big servos that should work. It also has it’s own batteries and so it won’t be dependent on the robot’s power.

You can see the up and down action of the servo being translated to rotation to drive the belt.

I’m going to make the case for the treat dispenser out of 1/8” acrylic sheet and I’m going to have to cut these parts a lot more cleanly that the last one because I intend to glue them together. My Dremel has a straight cutting bit and a guide collar and I think that would work with the panel clamped firmly to a sacrificial piece of wood and pressing the Dremel against a guide fence. I’m going to be experimenting soon.

That’s where I’m at for the moment.