If anyone's going to be at Engineering Open House this weekend at the University of Illinois, stop by Everitt 168 to see a demo of my project!
Post-EOH

My exhibit went fairly well considering this is the first time I've done anything of the sort. Of the visitors to my exhibit, there were several elementary/middle school groups, many middle school and high school students, alumni, and other adults. One of the goals of my exhibit was to get visitors to see calculators in a new light (no pun intended), and I hope that some of the students were inspired to pursue projects of their own.

However, my project is not yet finished. A few weeks before EOH, the Arduino was running out of RAM (I think), so I ended up having to remove all but the most essential parts of the code to get it working. I will work on reducing memory usage so I can re-implement the entirety of the calculator communication protocol. Besides that, I still need to repaint the enclosure once the weather warms up. Also, I will eventually need to write a proper control program on the calculator that looks and works better than my demo software.

Below are some images from my exhibit. The PowerPoint I displayed is available here.

Edit: Fixed Dropbox link.




Exceptionally cool, ajcord! I'm sorry that I wasn't closer to check out your demonstration in person. As always, we are here to help as you try to consolidate the code. I would caution re-implementing things with wild abandon if there might be other less strenuous ways to shrink the code, but you're the PM. Wink Good luck.
Another lapse in updates finds the project nearly finished and featured on Hackaday. I've filmed a couple of videos about the project (see the project page), and I'm going to film one of it actually running the lights in a theater tomorrow.

But I've hit a snag. For some reason, my USB initialization code that turns on the voltage pump doesn't want to work anymore. I haven't changed that part of the code since I wrote and tested it successfully, so I'm not sure why it would suddenly stop working. Does anyone have any ideas?

The relevant code I'm using is as follows. It's actually written in hex opcodes in an Axe include file; below is the translation.

Code:
;Check if mini-A is connected
in a,($4D)
bit 4,a
;Return HL=0 if mini-A is not connected
ld l,0
ld h,0
ret z
;Turn on Vbus
ld a,$44
out ($54),a
ld a,$C4
out ($54),a
ld a,$08
out ($4C),a
ld a,$01
out ($8F),a
;Return HL=1 for success
ld l,1
ld h,0
ret


Edit: I guess I should explain what debugging I've already done. I fired up Calcsys and tried setting the ports manually (44->54, C4->54, 08->4C, 01->8F). When I did so, everything looked good until I tried setting $8F to 01. It would hold the value $0D for a fraction of a second before returning to $08. I've also tried variations such as not setting $54 to $44 first, without success.
Then I came across this topic and tried Kerm's suggestion of using the Linky initialization code. I tried stepping through the code and manually changing the port values, but no luck.

Edit 2: I checked the battery level reported by TI-OS, and it said 4 (which is the highest). Nonetheless, I tried changing the batteries, and suddenly the USB power worked again. I put the older batteries back in, and the USB was powered for a second or two before turning off. This occurred several times. Based on these observations, it seems that my older batteries are exactly at the minimum voltage required for the pump. I would measure that voltage for future reference, but unfortunately I don't have a meter. I might be able to check them tomorrow at work.
Wait, control DMX channels with a calc? Ok, that is epic! Very Happy
Sorunome wrote:
Wait, control DMX channels with a calc? Ok, that is epic! Very Happy

Thanks, Sorunome!

Here's my latest video of it actually controlling the lights in a theater:

ajcord wrote:
Edit 2: I checked the battery level reported by TI-OS, and it said 4 (which is the highest). Nonetheless, I tried changing the batteries, and suddenly the USB power worked again. I put the older batteries back in, and the USB was powered for a second or two before turning off. This occurred several times. Based on these observations, it seems that my older batteries are exactly at the minimum voltage required for the pump. I would measure that voltage for future reference, but unfortunately I don't have a meter. I might be able to check them tomorrow at work.
I ran into this same issue with my GPS project. The batteries have to be just around 6V for the USB port to be able to pump out 5V; otherwise it doesn't work. It's quite frustrating, especially since I know it's stepping the voltage down and then up again, and if it skipped that part (and used something like a Zener diode with a resistor, which is also admittedly wasteful) the voltage would be more than sufficient down to 5V.
KermMartian wrote:
I ran into this same issue with my GPS project. The batteries have to be just around 6V for the USB port to be able to pump out 5V; otherwise it doesn't work. It's quite frustrating, especially since I know it's stepping the voltage down and then up again, and if it skipped that part (and used something like a Zener diode with a resistor, which is also admittedly wasteful) the voltage would be more than sufficient down to 5V.

If only we could go back in time and tell the engineer that designed it Razz

Is there a similar issue with the TI-84+C's rechargeable battery?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 4 of 4
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement