Jump to content
IGNORED

Science Fair (Radio Shack) Microcomputer Trainer


Recommended Posts

Hi. Since that trainer uses the TMS1000 microcontroller, I thought I'd seek help here :)
I'm having difficulties understanding how the key inputs register with the microcontroller, and rather than going into a long written explanation, I made a video of the issue in the hope one of the electronics gurus here can shed some light on it... A video is worth a thousand words after all :lol:

Any insight would be greatly appreciated!

 

 

(I think I accidentally triggered an aging filter on the second half of the video. Kind of charming if you ask me :) )

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

The controller is cycling through the 5 keypad output columns (or sets), activating one at a time.

When a column is active, the controller is monitoring the 4 input lines. The controller can then figure out which button is pressed... whichever column output is active, and whichever row is active

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

One more...

So, you can use some sort of brute force method as you mentioned (investigate the CD4066 chip or similar), or you could have your device scan the 5 output lines, and output as required. For example, if you want to press the button at col 2 and row 4, have your device wait for col 2 to be at positive voltage, and then output a positive voltage on row 4. Note that you also might need a level shifter.

 

  • Like 1
Link to comment
Share on other sites

Ah that makes a lot of sense! Thank you!

I should be able to scan the output lines all in one shot using the bi-directional I/O lines of the parallel port of the TI and then trigger one of the 4 K inputs as needed to generate the required input. I don't believe I will need a level shifter here since both devices use TTL voltages.

I'll do some test runs in the next few days and report back.

  • Like 1
Link to comment
Share on other sites

Hey Vorticon, since you are into these kinds of projects, you might be interested in learning a modernization of the old Radio Shack P-Box kits is in the works that will have support for things like Raspberry PI's.  You'll be able to cobble together permanent or semi-permanent projects for use or display.  There are LOTS of things that can be done with Raspberry Pi's and some additional circuitry!

 

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, HOME AUTOMATION said:

Optocouplers driven by serial-in-parallel-out shift registers, would be faster/cheaper and might be more reliable than relays. Few wires to interface. Simple to program.

Yes, these are the solid-state relays. Far more reliable but expensive (about $6 a piece). However, it looks like I won't be needing them afterall.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Omega-TI said:

Hey Vorticon, since you are into these kinds of projects, you might be interested in learning a modernization of the old Radio Shack P-Box kits is in the works that will have support for things like Raspberry PI's.  You'll be able to cobble together permanent or semi-permanent projects for use or display.  There are LOTS of things that can be done with Raspberry Pi's and some additional circuitry!

 

 

Yes, I used the raspberry pi in my TI Vision project. Do you happen to have a link for the P-Box project by any chance?

 

Link to comment
Share on other sites

4 minutes ago, Vorticon said:

Do you happen to have a link for the P-Box project by any chance?

 

This will not be a "downloadable" for 3D printers when it's finished.  It'll be a "greenback obtainable" item.  In the meantime, here are a few P-Box links you might find entertaining...

 

A "Hackaday Project",  a few scans of << some original kits >> and a RPi with some discrete components.  And if that was not enough to get you excited, maybe a webpage with 101 ideas/projects.

 

 

 

 

  • Thanks 1
Link to comment
Share on other sites

4 hours ago, Vorticon said:

Yes, these are the solid-state relays. Far more reliable but expensive (about $6 a piece). However, it looks like I won't be needing them afterall.

I was thinking of these types...

 

https://www.vishay.com/docs/83608/h11aa1.pdf

 

I've had good results with H11AA11, TLP620, TLP630, cannibalized from telephone boards.

 

I use the dual LED types for telecommunications on/off hook detection...

 

The really cheap P817s on ebay require quite a bit of drive current. None-the-less, I use them(piggybacked) in my relay controller.

 

You might need the triac-driver type, depending on how the matrix is wired... or piggyback two with the outputs crossed.

 

I think you can take the four lead types and piggyback them(with one upside down) for AC inputs outputs.:ponder:

 

 

Link to comment
Share on other sites

4 hours ago, acadiel said:

I always wanted one of those trainers.  Been keeping out my eyes on eBay for an affordable one. Yours is in amazing shape!
 

The Heathkit ones pop up too from time to time.

 

I bought it new back in the day from Radio Shack. Used it for a couple of weeks but the lack of non-volatile storage got old pretty quick, so it went on the shelf. I've been wanting to interface it for a long time, and now it's time for it to take the spotlight again :)

  • Like 1
Link to comment
Share on other sites

Quick update:

It seems to TI is not fast enough to catch the individual pulses from the output columns. I did something along those lines:

The first 5 low bits of the PIO data byte are connected to the 5 output columns respectively. 

 

REDO  MOVB @PIO,R3		* READ THE PIO BYTE INTO THE HIGH BYTE OF R3
      ANDI R3,>1F00		* MASK ALL THE BITS EXCEPT THE LOWEST FIVE BITS OF THE HIGH BYTE (ISOLATE THE OUTPUT COLUMNS)
      CI   R3,>0100		* TEST IF THE FIRST OUTPUT COLUMN IS HIGH
      JNE  REDO			* KEEP READING THE PIO BYTE UNTIL IT IS
* CODE TO MAKE KEY INPUT HIGH HERE *

What I have found out was that with each PIO byte read, all the columns were being recorded as HIGH, which tells me that the PIO read process is too slow to differentiate between the different column pulses... Unless I'm missing something here...

 

Link to comment
Share on other sites

9 hours ago, FarmerPotato said:

How about an external latch (say 373 or 573) to store the column outputs? Might have to put a gate delay on the row pulse, so it raises to the latch clk slightly before it raises the data. 

The problem here is that the TI will have to be fast enough to trigger the latch, read the output, check if the desired column is active, and send the appropriate key input to the trainer all before the selected column becomes inactive. I highly doubt this is feasible. This is probably a job for a dedicated microcontroller.

I'm resigning myself to the fact that the use of solid state relays (9 will be needed) is the most feasible way of controlling the trainer and has the added advantage of not being timing-sensitive. I did a quick test with a the PIO port triggering a relay connecting a column and a row and it worked just like a keyboard input as expected.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...