It's April and I haven't posted much
about any of the projects I've been working on. I haven't completed any big
projects that I thought warranted their own blog post, but I'll use this one to
explain what I've been doing and what I plan on doing soon.
I’ve been
regularly playing with my TI K-TM4C123GXL Launchpad. I’m taking an online
course called “Embedded Systems - Shape the World”, and although it is nearly
all material I already know, the programming exercises are good review for
programming a different microcontroller than I’m used to.
I’ve been
perusing /r/jailbreak a lot lately. I’ve been jailbreaking my iPhone for many
years now, but never really installed many tweaks. It seems like every day, a
new tweak comes out that I couldn’t have lived without!
I made an
improvement to my Printrbot 3D printer that I’ve wanted to do for a long time –
I installed springs in each of the corners of my heated bed to allow me to
level it more easily. So far it is an improvement, but there is still some work
that can be done. Having a 3D printer convinced my coworker to finally troubleshoot some problems that he ran into on his Cupcake printer years ago
that caused him to shelf it. I printed some stepper motor mounts for his Cupcake
printer to upgrade from the DC motor extruder that was stock on it. Our work on
this convinced another coworker to buy a Prusa 3D printer so now we all compare
notes to get the best quality prints.
Working on my Printrbot |
I became fed
up with using Sketchup to design models, so I downloaded Solidworks. I used
Solidworks during my freshman year of college, so I dug out my notes and
quickly relearned how to use the software. Around this same time I finally got
my Backwoods logger working, so I decided to build a case for it. I have
initial design complete, but more work needs to be done to get a working
design.
Backwoods Logger and unfinished case design |
During the
process of fixing up my 3D printer, I printed a heart-shaped box. While I had
no use for this initially, I decided to build a simple circuit that would light
the box from inside. I first had ideas of it lighting up in a heartbeat
pattern, but after beginning to build it, I noticed that it wasn’t turning out
as nice as I expected. Since I built the box first, and then the circuit based
on those dimensions, I was required to use a coin cell batter from the size
constraints. This caused the LEDs to not be bright enough to illuminate the box
very well so I simplified the circuit drastically. I used a ATtiny13a to detect
when a switch was closed and blink the LEDs a few times. I used a spring for
the switch so when the box is hit against a surface, the spring makes contact
with a metal header and causes the box to flash. The code is on Github.
The box. This album contains more photos of the project. |
I used
w3schools to learn CSS and JavaScript since I was very familiar with HTML and
wanted to build more than the most basic websites. During this process, I used
my skills to build a web clone of the iOS 6 calculator app. Using CSS, I was
able to make the buttons seem “pressable” and have the button presses show up
in the calculator screen, but eventually got stuck in making the screen text
resize when the digits would overflow, so I moved on to other projects. I
learned a lot working on this project and hope to get the motivation to finish
it someday, but it was only a learning tool for me. My work so far is hosted on
github.
I have an
audio system in my bedroom that I use when I am tinkerering on projects. In the
past I’ve always had a wired connection to whatever device I was playing music
from, but when I saw that the Chromecast SDK came out, I thought about using my
Chromecast to bridge the gap and make it wireless. I researched the SDK and
played with some of the examples to see how it worked so the next step was to
make the hardware that would convert the HDMI out to an audio signal. I combed
through the HDMI specification and initially looked into building a decoder on
an FPGA. When this proved difficult, I researched some existing chip
combinations that would first extract the audio signals from the HDMI line and
then decode these audio signals so I could feed them into an amplifier. This
method looked entirely feasible but the chips were expensive and the parts were
at end of life from the manufacturer. In the end, I just bought a Bluetooth dongle from amazon, but it was fun researching how HDMI works.
Another
example of my research going too far was the result of me buying a cheap
humidity sensor from eBay. I couldn’t find any examples of people using this
part to actually measure humidity, so I wanted to be the one that did it. At
first I wrote a python program that could calculate the humidity from the
temperature and the impedance of the sensor based on the values given in the
sensor’s datasheet. The next step was to build a circuit that could accurately
measure the impedance of the sensor. I tried a simple circuit based on an
Arduino and a RC filter but it didn’t give me the exact results I was looking
for. I found a fantastic chip that seemed it would perfectly measure the
impedance and even got lucky and ran across an open-source project on github
that combined this chip and an Arduino. I explored this option for a while, but
eventually decided there was no reason to continue trying to get this sensor to
work. The impedance-measuring chip is $25 when the sensor is only $1. I could
buy another humidity sensor that I know works for only $2.
I am going to
use this new humidity sensor with a Spark Core to wirelessly monitor the
humidity. I would like to use push notifications from the Spark to my phone
with Pushover to alert me if the humidity is out of the desired range. I will
also need to create a circuit using a li-po battery to keep the device powered.
This will involve putting the Spark into low power states while it is not sending data.
The last
project that I am actively working on is a refresh of my electric imp relay. I
noticed from comments on my post describing it that I have the relay on the
wrong wire. I plan on fixing this and adding more options to the switcher app.
I originally used iWebKit to build the web app but it is very out of date. I
have recently found a few different frameworks that can make an iOS7-style web
app and decided on using Ratchet because the documentation is amazing(this is the
#1 thing I look for in an open-source project) and it uses Jekyll (something
I’ve wanted to learn for a long time). In just a few hours, I was able to
create a design for the web app that greatly improves on the original version.
Since I am rewriting the app, I will also add more features to the Electric imp
that I have wanted based on the past few months of nearly daily use. I will surely
create a new post on the topic when it is finished.
No comments:
Post a Comment