what
Building on past work getting an Arduino to speak TILP I wrote some code that allows an Arduino to press arbitrary keys on a TI 83+ or TI 84+. Then I used that code in a little project where a PC draws arbitrary pictures on a calc with the pen tool.

why
It came out of this little personal hackathon where I had the goal of using the remote-control and two-way communication abilities to render webpages on the calculator, but then it was morning and I had to go to class feeling like crap, so grumpy-me wiped the whole mess off of my desk onto the floor and that was the end of that, ha.

code
The code is super messy because I never meant to go further than a proof-of-concept. It's been months since I've dug into it, but from a cursory glance it looks like it isn't in a state where you could easily flash the code into an Arduino, make the connections, and see it work. But I'll make that change soon, and update the project a bit to make it a more generic Arduino <-> TI 83/84+ communications example. It consists of:

    * Ruby scripts on PC
    * Arduino sketch
    * Half-baked Node.js web-intermediary (for basic calculator Internet)


some things I made it do

    * draw pics from pc
    * pc -> calc paste
    * type out programs - both assembly programs typed out and compiled with AsmComp() and programs designed to bootstrap faster data transfer. End goal for the latter was to make a tiny battery powered nub to plug into calculators and transfer large arbitrary payloads. Like video or music. Just as a fun little thing to be a show-off with.


see it in action
Here's a video of it in action (general sloppiness the result of looking through footage shot by a deep-past, sleepless version of myself (footage said sleepy version thought was absolutely hilarious and creative, I should add), and indulging the whims of hot shame).

Needs lots of polishing.

I'd love any feedback or to be asked questions about it.
Very cool stuff, thanks for sharing it. You may or may not be aware that I made a similar project, getting an Arduino to speak the TI Link Protocol. I connected mine to a PSP-style sliding joystick, and made it inject arrow key commands to draw on the graphscreen (or do anything with arrow keys, to be fair). I have documentation on the project including code, and a video (below). I like how you went a step further and put a computer in the loop; quite a nice touch! Do you have any long-term plans for the project, or is it mostly a proof-of-coolness sort of project?

I was not aware of your project. Looks like it was fun to do. I wish I had happened across it before I concocted all that maddening communications code myself! Seeing your code I realize that I should add the 2 second (?) timeout that the TILP allows. I think I remember having sporadic issues with running my project because it would lock up without timing out. It wasn't annoying enough for me to fix, but definitely something to resolve for polish.

Sort of off-topic, but maybe of interest: that PSP joystick was used in one of my favorite microcontroller projects, the RBox. The Rossum guy who made it has done all sorts of other really top-notch projects in similar veins.

I don't have long term plans for it past polishing it so other people can easily use it. Though the Arduino code will probably be reused in later projects. I've got plenty of hacks in mind involving a calc + external microcontroller device that would benefit from a strong embeddable interface library for the TILP. Mostly based on the idea of exposing the superb muscle-memory I have for my calculators out to other machines I'd like to control (like synths, microcontrollers, and my phone).
  
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 1 of 1
» 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