I have several calculator hardware projects on hold indefinitely while Doors CS 7, SourceCoder 2.5, and various other constructive projects are underway, but I got excited about this today and had to build it. The hardware took about 30 minutes to construct, and the software not much longer, so it's doable even for you beginner DIYers (or beginner z80 programmers, for that matter). I must give credit where credit is due to new Cemetech user HappyBobJr for emailing me a few days ago with the idea of a shakable calculator Etch-A-Sketch and asking how it could be implemented. I first suggested an analog accelerometer with a simple thresholding circuit connected to the I/O linkport of a calculator, which would pull a line low when shaken at or above a specific velocity. Today, I had the inspiration that the classic spring-and-pin motion detector, most known for their starring roll in light-up bouncy balls and light-up yo-yos, would be a much easier beginner solution to the problem, and suggested this design:



On my way home two hours ago, I decided I would build it, so I came up with the gadget at the link below, made out of 1/4 of a 4-AA battery case, a spring, a heavy-duty staple, hot glue, solder, a piece of a calculator link cable, and a piece of double-sided foam tape to hold it to the calculator. I wrote the software in pure z80 ASM, of course, programming purist that I am. The program supports moving in eight directions (eg, left, right, up, up-left, down-right, etc), clearing by pressing [CLEAR], and quitting by pressing [MODE]. In addition, it looks for the sensor and can perform what I'm calling "incremental erasing" when the calculator is shaken. In other words, since shaking a real Etch-a-Sketch does not instantly clear it, shaking the calculator erases 16 random columns and rows of the LCD. Shake it a few times, and the display is clear. Be sure to check out the (somewhat awkward) video below, and remember to keep us posted if you have any cool hardware projects, calculator or otherwise, in your project pipeline.

More Information
Original Forum Topic
Close-up of Motion Sensor
HappyBobJr's Build
Etch-A-Sketch De v1.0 Software

heh Kerm twitches a little Razz


EDIT: I am talking about the head turning thing, when i make a demonstration in my vids, you wont beleive how many times i look at the object for no reason what so ever Razz


Also, Kerm sounds different then I expected.... :/
Neat.
I expect to be playing with this next time I visit.
Maybe I'll build one!
I could swear he sounds like one of my class mates


Strange
BrandonW wrote:
Neat.
Thanks BrandonW. Smile For added excellence, I can now shake my calculator to turn it on, since of course that triggers the silent linking interrupt.
That is pretty cool
KermMartian wrote:
BrandonW wrote:
Neat.
Thanks BrandonW. Smile For added excellence, I can now shake my calculator to turn it on, since of course that triggers the silent linking interrupt.


This is very neat, to be honest i thought this wouldn't work too good, but it works great! Also that's great you can shake your calc on, that's pretty funny, I might have to build me one of these.
Haha, super sweet sauce. This made me incredibly happy to watch.
elfprince13 wrote:
Haha, super sweet sauce. This made me incredibly happy to watch.
Glad to hear that, I hope I can come up with some more cool hardware hacks in the near future.
Wow awesome stuff! Same for Happyboyjr.
That is one good idea.
I specially like it being connected by the link port, because some people are not prepared for opening their calculators.

If TI did one accessory like that for calculator, it could bring new fun games in your calculator.
Galandros wrote:
That is one good idea.
I specially like it being connected by the link port, because some people are not prepared for opening their calculators.

If TI did one accessory like that for calculator, it could bring new fun games in your calculator.
With a simple accelerometer and ATMega (or other) microprocessor, actually, it would be fairly straightforward to make a device that could give BASIC programs 2- or 3-axis movement information in a variable. I more or less worked out TI linking protocol code on an Arduino with my SlideCalc mini-project, so it would be more or less trivial to pretend to be another calculator, and deliver the movement information on every Getcalc.
KermMartian wrote:
Galandros wrote:
That is one good idea.
I specially like it being connected by the link port, because some people are not prepared for opening their calculators.

If TI did one accessory like that for calculator, it could bring new fun games in your calculator.
With a simple accelerometer and ATMega (or other) microprocessor, actually, it would be fairly straightforward to make a device that could give BASIC programs 2- or 3-axis movement information in a variable. I more or less worked out TI linking protocol code on an Arduino with my SlideCalc mini-project, so it would be more or less trivial to pretend to be another calculator, and deliver the movement information on every Getcalc.

Might it be better to pretend to be a CBL/CBR and use Get(?
I thought of that too, but I know significantly less about the CBL/CBR protocol than about the unit-unit protocol, and I wouldn't know where to begin looking for data on it. Do you have any sources?
KermMartian wrote:
I thought of that too, but I know significantly less about the CBL/CBR protocol than about the unit-unit protocol, and I wouldn't know where to begin looking for data on it. Do you have any sources?
Err... no, it was just an idea. Razz But if you use that protocol, you could also Send(. Not sure if that would be useful for an accelerometer though.
calc84maniac wrote:
KermMartian wrote:
I thought of that too, but I know significantly less about the CBL/CBR protocol than about the unit-unit protocol, and I wouldn't know where to begin looking for data on it. Do you have any sources?
Err... no, it was just an idea. Razz But if you use that protocol, you could also Send(. Not sure if that would be useful for an accelerometer though.
Probably not as much. If I used such a thing as an interface to a PS/2 device, though, instead of my usual method of ASM interfacing with PS/2 devices, then BASIC programs could probably use them with Get( and Send(.
KermMartian wrote:
I thought of that too, but I know significantly less about the CBL/CBR protocol than about the unit-unit protocol, and I wouldn't know where to begin looking for data on it. Do you have any sources?

Actually the only thing I can think for getting some info is TI's TI-BASIC programs that do CBL/CBR (I have found and have somewhere, I though it could be useful). A TIOS disassembly on z80 probably isn't of much help. But I have seen a Nspire handling natively the CBL or CBR. So it has code about it.

There was a project on DetachedSolutions for making a Calcsys for CBL/CBR but never got finished or released. Probably someone like Brandon Wilson will buy one or a tech teacher will start getting information about it. It is actually one of the hardware stuff that I would like to hear more. The other is TI-Presenter that I only knew about after Brandon Wilson youtube video.
Galandros wrote:
Actually the only thing I can think for getting some info is TI's TI-BASIC programs that do CBL/CBR (I have found and have somewhere, I though it could be useful). A TIOS disassembly on z80 probably isn't of much help. But I have seen a Nspire handling natively the CBL or CBR. So it has code about it.
Interesting. Since I'm more familiar with z80 than ARM assembly at this point, perhaps it would be worth my while (were I to attempt something like this) to stare at a disassembly of the sections of the OS that handle CBL/CBR and see what I could figure out.

Galandros wrote:
There was a project on DetachedSolutions for making a Calcsys for CBL/CBR but never got finished or released. Probably someone like Brandon Wilson will buy one or a tech teacher will start getting information about it.
I'll have to look into that project, and on a side note, I wonder if there are any CBL/CBR devices on eBay.
KermMartian wrote:
I'll have to look into that project, and on a side note, I wonder if there are any CBL/CBR devices on eBay.

I wonder what isn't in eBay.

Wonderful to hear interest on the CBL or CBR devices. If one I could get one in my hands with my calculator I could do some tricks with it. And do some experiments with a CalcLab like program (I think it was the proposed name for Calcsys for CBL/CBR).
  
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 2
» All times are GMT - 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