My latest creation is an internet-of-things door lock. The package actuators the deadbolt using a servo and determines if the door is shut or not using a reed switch. There is also a motion sensor that can determine if someone is approaching the door. The lock builds on the SmartThings platform using their Arduino Shield. With it I can control the lock over the Internet using the SmartThings app. What…
Arduino
Arduino and Django Data Logger
In an effort to demonstrate a new django-quick-start package I’m making at work (similar in purpose to pinax, but with some SpaceX-specific packages), I decided to create an Arduino data logger that is viewable through Django. The data from a couple different sensors is first collected with an Arduino. A Python daemon polls the Arduino periodically and asks for new data. The daemon saves this data to the Django database.…
Mecanumbot Integrated Lights Test
I’ve finally achieved end-to-end control of the Mecanumbot’s LEDs! The latest hurdle which prevented me from writing the LED code was a RAM limitation on the microcontroller side. The solution involved swapping over from an Arduino Duemilanove with 1KB of RAM to a Seeeduino Mega with 8KB of RAM. The increased RAM also opens the door for me to code up the Mecanumbot low-level telemetry including items like bus voltage and bus current.…
Mecanumbot Power Board
After a second revision, I have completed the power board for the Mecanumbot. This board has the following features: automatically selects between two batteries and the wall chooses the wall if available, otherwise drains the batteries one at a time provides power voltage and current measuring via ATmega168 running the Arduino bootloader communicates to the primary vehicle Arduino over I2C provides regulated 5V power for the robot LEDs Downloads Eagle…
Automatic Daily Fish Food Dispenser
Meet Bob, the goldfish (pictured below.) Bob is a pet at work, and we needed to keep him fed over the Thanksgiving break. I had an Arduino and a servo that were free, so I wanted to make something that would supply him with the right amount of food for the four days we would be gone. I came up with a little cylinder that I 3D-printed with a MakerBot…
Legorov Teleoperating Robot
I built this little robot out of Lego this week (see picture.) The electronics include an Arduino, a Sparkfun xBee shield, and an Adafruit motor shield. On the other side of the xBee shield is a linux box running ROS. With ROS I can generated velocity messages from my keyboard or with a Wiimote. These messages get sent to the Arduino which translates the commands into individual motor speeds. I…
Mecanumbot Motor Testing
This passed week I have been playing with the new motors and motor drivers I got for the Mecanumbot. I used some MicroRAX pieces and the supplied motor brackets to piece everything today. I controlled the MD25 motor controllers over I2C using an Arduino which was getting commands from an RC transmitter. Unfortunately the naive method of reading in the RC receiver signals of only three channels takes up nearly…
Starting New Project: The Mecanumbot
Alright. I have decided that I do not have the time or desire to figure out the controls problems that the Ball Bot presents. I really am interested in the navigation and localization challenges that I can work on with a functioning robotic platform. So what I need is a platform that is easy and that I know will work. Enter in the statically stable, four wheeled robot that I…
Serial7 Arduino Library
I wrote an Arduino library for SparkFun’s serial 7-segment displays and figured others might find it useful. It essentially takes care of outputting a number over serial including shifting around the decimal point. A zip file of the library is available below. Here is the contents of the library readme file: This library is designed to output an arbitrary number to the SparkFun 7-segement serial displays (https://github.com/sparkfun/Serial7SegmentDisplay.) The included example…
SpaceX Microcontroller Class
I taught a microcontroller class to a few people at work this week. The goal of the class was to show people how easy it is to interface hardware and software with an Arduino. Each participant was given a little project to complete by the end of the day. The first half of the class was dedicated to some standard tutorials which everyone participated in. The second was for the…