Since my last project log, I've made a few improvements:
- Swapping out the op-amp circuit for an AD8495-based board
- Swapping out the rotary encoder for a 5-way D-pad
- Switching to the USBtinyISP for programming
- Switching back to another Pro Mini clone, this time with a clone of the ATmega328P instead of the ATmega168
Reading the thermocouple via an op-amp was giving me lots of trouble. (see previous project log for more on that) Instead, I opted to switch to a tiny amplifier board based on the AD8495, similar to this one from Adafruit. This should give much more usable results with a much lower amount of effort, though I have yet to update the code so I can test it.
Reading a rotary encoder on a microcontroller is a pain. It involves getting into decoding Gray code and dealing with interrupts. (otherwise the microcontroller probably won't sense the pin changes quickly enough, leading it to make incorrect assumptions about the direction of rotation, among other things... see previous project log)
Instead of sticking with the rotary encoder, I've decided to switch to this 5-position switch from Parallax that I happened to have lying around. It takes care of the problem without requiring interrupt code, though it's not as convenient a way to control the temperature. Eventually, I'm going to place an order for some of @Saimon's I2CEncoders so I can just pipe them in via I2C instead... but for now, this works.
Sadly, I've been procrastinating on the code side of things. While I have all the hardware wired up, and I've been tweaking the Fritzing sketch to (mostly) match, I have yet to dive back into the code and get it updated for these changes. I'm hoping I'll be able to do that soon, but since we're going to be moving to a new apartment this month, I'm not sure whether that will happen.
One other thing I'd love to do is dive into making some custom components for Fritzing, since the ones I've found don't quite match the components I'm using. On a related note... for components that have a separate breadboard version (with 0.1" pin headers to plug into a breadboard) I'd love the option to be able to actually use that version on the PCB, instead of the stripped-down version. In some cases, the "breadboard" version is all I have.
As usual, all of my current code and Fritzing sketches are on the GitLab project. Please feel free to take a look and/or try them out!
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.