Currently reading:
What is the best signal interface for PC ?

Discuss What is the best signal interface for PC ? in the UK Electrical Forum area at ElectriciansForums.net

_q12x_

DIY
Reaction score
212
I mean.... the best and the easiest to use.
I remember back in the 2000's I used a serial interface, I think it was the printer serial port, 25 pins or similar. I believe I even used a mouse port as well, that versatile those systems were back then.
What I could do with it was ... program in C++ and pascal back then, using some imported dll's specific for communication with this serial port, I think it was port 40 or 25? It had a number is all I remember. And I could link to it any transistor base, back then I was working exclusively with BJT's, to light LED's, drive motors, beep some 8ohm I think they were speakers, drive a VU-meter LED bar I think directly from the port pins, without transistors, and also drive IC's , that was the time I learned about multiplexers and expanding the number of output pins. Also input sensors like LDR and buttons. I Loved that kind of easy and straight forward communication.
Today I dont know c++ or pascal anymore, but I am very good in c# and still use VS2010 because its very cool interface and very user friendly overall.
So I want you, to help me first of all, to find the hardware, the port I suppose or something more than a printer port, something more advanced and having more in/out's. The more the better. I want the best you can find for the moment. Best ideas or best adaptations, why not. As long as it's easy and stable to install and use.
And then, the software drivers and possible problems will appear along the way. I can debug a large majority of problems, I grow up debugging computer problems, so I have a 5'th sense for them. Im more concerned about the hardware part and the integration with my win7 that I still run today and my VisualStudio2010 for my c#. I know I still run old software but they are extremely stable and they don't f me up.
Thank you and I'm really curious what you will find for me.
 
I actually made the entire movinglight program like I did it with arduino..... in binary format and then converted in hexa and finally converted to encrypted bin file; But because that counter is counting to 5, is only displaying only the first 5bytes in the program. Im still thinking.... I made some previeous tests before this moving thing here and I can lit every individual led in the matrix if I find its coresponding byte code. Im very close....like that.
Screenshot_7.jpg
 
Last edited:
@marconi I believe you pressed a button and switch back and forth the letters already saved in the memory. You advanced 1 step that memory location with a press of a button. I observed/remember right?
Also I need help in this detail because is a bit too hard for me. Tell me how to advance to the next character.
Thank you.
 
Before I wade in with any help(?) please clarify for me how you intend your logic to scan the LEDs of the 7 x 5 matrix. ie led by led, a column of 7 LEDs column by column left to right and then repeat or a row of five leds row by row top to bottom and then repeat.

My scheme is to scan the display column by column left to right and then repeat as in the attachment. In this test sequence the complete column of 7 LEDs is lit up, column by column.
 

Attachments

  • FullSizeRender 25.mp4
    6.3 MB
Last edited:
Please clarify for me how you intend your logic to scan the LEDs of the 7 x 5 matrix.
BECAUSE I had to deal with limited (8pin Outputs) number on the memory IC, I had to be 'smart' about it.
I linked 3 pins of the RAM to the RAM Decoder 74136 that in turn is controlling 7pins for ---column--- of the matrix. Then, the rest 5pins of the RAM chip, I linked directly to ---COUNT the lines--- of the matrix.
Also the Counter 7493 is counting to 7 (not to 5 as we made it in our first example). Im happy I get to this simple result, but I tried a TON of permutations, you probably understand. I hope is clear enough.
In short, I count the LINES from top to down 7 times, and I set the column bits per each count.
And I have the feeling my circuit and my logic here is exactly complementary to your circuit. Right? In my defense, I did whatever I could to make it work... and it is working., which is good. Right? ;)
 
Last edited:
Now that you have clarified what I suspected may I suggest that you do not need to drive the 74138 by four data outputs of the RAM2732. Drive the 138 using the same 3 lines (1,2,4) of the 7493. This will still cause your display to be scanned line by line, top to bottom and then repeated. ie 7 lines

Now you have 8 data outputs. You can use the first 5 - D0 to D4 - of them to set the state of illumination state of each LED in a line. eg (00100) (010010) (10001) (10001) (11111) (10001) (10001) for the letter A

Now turn your attention to the address word which is 12 bits long A0 to A11. Use A0 to A2 (ie 1, 2 and 4) as now connected to the 7494 so that for any state of bits A3 to A11 the 7493 will cycle through 5 memory locations. These five memory locations are a unique group determined by bits A3 to A11. This means you can store in the RAM 2exp9 number of unique groups of 8 bit data outputs of which you will use 5 bits.

One could write the Address word A as ( A11, A10, A9......................A2, A1, A0) = (Character Identifier Address (9bits) Character Font Code Addresses(3bits))

The 7493 will always cycle through A2,A1 and A0 to output the 7 five bit line patterns of a character font. You only need to select which character font you want to display by setting the Character Identifier Address A11 to A3.

Thus letter A could have the Character Identifier Address 000 000 001 A2, A1, A0
Letter B could have 000 000 010 A2, A1, A0
Letter C ......000 000 011 A2, A1, A0
Letter D........000 000 100 A2, A1, A0

Thus by setting the Character Identifier Address you can pick a character to display. Of course you have to programme the five memory locations addressed by the Address Word A so that they contact the appropriate bit patterns for the seven lines which make it up.
 
Now that you have clarified what I suspected may I suggest that you do not need to drive the 74138 by four data outputs of the RAM2732. Drive the 138 using the same 3 lines (1,2,4) of the 7493. This will still cause your display to be scanned line by line, top to bottom and then repeated. ie 7 lines

Now you have 8 data outputs. You can use the first 5 - D0 to D4 - of them to set the state of illumination state of each LED in a line. eg (00100) (010010) (10001) (10001) (11111) (10001) (10001) for the letter A

Now turn your attention to the address word which is 12 bits long A0 to A11. Use A0 to A2 (ie 1, 2 and 4) as now connected to the 7494 so that for any state of bits A3 to A11 the 7493 will cycle through 7 memory locations. These 7 memory locations are a unique group determined by bits A3 to A11. This means you can store in the RAM 2exp9 number of unique groups of 8 bit data outputs of which you will use 5 bits for a line of 5 LEDs.

One could write the Address word A as ( A11, A10, A9......................A2, A1, A0) = (Character Identifier Address (9bits) Character Font Code Addresses(3bits))

The 7493 will always cycle through A2,A1 and A0 to output the 7 five bit line patterns of a character font. You only need to select which character font you want to display by setting the Character Identifier Address A11 to A3.

Thus letter A could have the Character Identifier Address 000 000 001 A2, A1, A0
Letter B could have 000 000 010 A2, A1, A0
Letter C ......000 000 011 A2, A1, A0
Letter D........000 000 100 A2, A1, A0

Thus by setting the Character Identifier Address you can pick a character to display. Of course you have to programme the seven memory locations addressed by the Address Word A - character identifier address in red- so that they contain the appropriate bit patterns for the seven lines which make up a character.
Slight correction inserted to text above.
 
Last edited:
...may I suggest that you do not need to drive the 74138 by four data outputs of the RAM2732. Drive the 138 using the same 3 lines (1,2,4) of the 7493. ...
This was truly very smart correction ! I didn't see it and I like it. I build it, tested and I confirm it works. Very logical !
- But for the rest of the explanation... uuuuggggh... I didnt understand from where I can switch the addresses. Please condense in another but very short and to the point explanation, more short than what you explained already (and I do appreciate the effort so far but I cant see any logic to follow). I read your text a couple of times with the circuit in the left, reading the circuit as well, but... really, I can not see any logical road to take. Try again, please.
- Also, in the same time I will try some more permutations, directly with the RAM chip, my usual testing way in the dark, until (IF) I find a result. I have an idea I wake up with, to try for testing.
And thank you so far.
 
I will try but not right now. What I will say though is that these technical problems, and our thinking about them, and coming up with possible solutions, and then testing them and learning from how they perform is how we learn profoundly.

I will show you in a video how I produce A and B when the ROM is addressed by the Gray codes 0000 and 0001.

(You know that this project including the use of the EEPROM is what the pupil I mentor and tutor had to solve himself - which he did with some explanations like I have provided you with - as a digital electronics project in his part-time Higher National Certificate Course (HNC) in electrical engineering. Thus, it is quite demanding so I would not beat yourself up if you find it difficult right now).
 
Here is your very smart correction. As you can see there are other 3 free nodes on the 7493 wires to the ram. Those nodes I connected to RAM A9,A10,A11, as you suggested in your explanation. As you can see it in this picture right now, the matrix is displaying correctly the letter A from the RAM. But if I connect those nodes to A9-11, it will NOT display anything. Sign that the addresses have changed.
I want to change the addresses (to iterate) from a single button, to advance 1 addr by 1 click of the button. And on each address will be a new 'letter' or a 'word of bytes'.
Im thinking to an additional demultiplexer IC linked to all the addreses and my button behind this IC. Thats the logic I can imagine at this point.
Im curious if you made your project with this exact number(and names) of chips or they were more that you didnt mentioned? Also how much time it took you to make it?
1662050086807.png
 
Last edited:
I understand the problem and what is to be done. No need for further clarifications !
So, I wish from now, good morning there and drink peacefully your English tea.
I actually throw this question to my other forum and my good american friend there completely understood me and give me straight the answer I was looking for. Read it for yourself as well since is very short and very to the point.
Led Matrix Display and switching RAM address problem - https://forum.allaboutcircuits.com/threads/led-matrix-display-and-switching-ram-address-problem.188934/
----
The clarification:
This particular 2732 EPROM memory chip has 12 address pins, (A0-A11) this means 2^12 = 4096 addresses available
And 1 character is requiring 7 addreses to be displayed, by that 74LS93 counter.
for example letter A = 70 89 8A FB 8C 8D 8E
This means 4096/7 = 585 characters to completly full up the entire memory.
There are 26 letters in the alphabet and 10 numerals from 0 to 9.
In total 36 characters to be displayed.
36*7 = 252 addreses in total for the entire set.
where 2^8 = 256, this means 8 addr pins to be used.
----
I am still looking like an idiot to the circuit and still have no clue how to proceed. Although I understand now that I have to somehow count each 7 lines for 1 character, I still need probably another counter to travel to the next 7 pack of addresses that contain the next character symbol in the memory. What should I add to 1-aquire the last address of the character and then 2-switch to the next pack of 7 addr ? Very complicated, especially for me that I am not that good with logic gates and analog IC's in general.
---
One of my greatest ideas is to add a BIG counter. One that is counting to 256 (or 252) and then it is resetting back to 0 and starts again. I need it NOT to count by itself, but somehow stop from 7 to 7. And when I press a button, it will enable to get to the next 7 pack and stop there as well. In this time, it will get to 0 and count to 7. But if it is at addr 21 for example it will count to 28 and then reset to 21 again, count up to 28 and so on. So it will strobe the character at that particular sector. All these details, I didnt figure out, I only imagine them.
 
Last edited:
To construct an 8 bit counter to connect to A11 (msb) through to A3(lsb) on the 2732 cascade two 7493s together so that Qd of the first ic connects to clkAbar of the second. Remember to connect Qa to clkB bar on each chip.

Use the pulse circuit in # to produce a negative going pulse upon depression of the push button and connect it to clkAbar of the first ic.
Ok, thank you. So it was a secondary 7493 IC linked to the same clock. Very ingenious from you mister @marconi. I will construct it.
 
My #109 For the pulse generator using a push button,

There are two independent counters. One free running to cycle through A0 to A2 and the seven lines of the 7x5 using the 74138 and then the one I just described to increment upwards on each press of the push button through A3 to A11.
 
inverted circuit movie - now counting to 5 columns instead of 7 lines as before.
Really? I can not share my facebook movie link here? aaaaah
https://www.------------/q1212q/videos/606400177655019
I uploaded it here on this website
 
Last edited:
36 characters requires 2exp6 or a 6 bit binary counter which resets when the count reaches 35 decimal or 100011 binary. The character identifier address I mentioned is 6 bits long to select one of 36 but could select one of 64 if counter clocks up,to 111111 and then goes to 000000 Since 2exp6 is 64.
 
I remembered you mentioned a couple of times and also another friend I have also mentioned a couple of times to count by column (not by lines) and count by 5 (not by 7) as I did it initially. To actually corespond to his circuit and yours.
It was hard to start change it, but after I committed to it, I did it. I rotated everything. But also the same issues I had with changing the addresses as before so I give up.. So I asked his circuit and he give it to me and I literally copied here in my proteus simulator. It had some bugs initially, from proteus point of view or wiring mistakes he did but forget about them, but I managed to correct them and make the entire thing work. Initially he output directly from the 2732 memory chip to that 4070 XOR gate array. So 7 outputs. But there were way too many wires to logically create my binary code. So I appealed to the last couple of days circuit that I was making, and choose from it this 74LS138 that literally saved my --- in this situation, in the sense that it lowered the number of pins but also let me create an 8 bit binary string (not longer than 8). Which is perfect because now I can code that binary number into hexa and create my bin file this way. Very practical chip !!! Hehe. All are.
The only problem is, that this circuit right now, is not counting anything. The clock markers are showing me it is working, but the 4516 and 2732 do not change anything in their outputs. They stay Low on all output pins. Im thinking maybe I have to change the counter all together, with my previous one, or to rewire this 4516 more correctly I suppose.
His circuit worked for him and he built it. I can also reverse the display as well, very neat function, which is working right now.
He also said he managed to scroll the letters as well,which I also want, but ... I have to wait until then, to first make it work the normal way. To count correctly through the addresses. But first to start counting, because now is freezed.
This is the progress so far.
Here is the circuit in hidef, do zoom in it to read the names.
Memory and led matrix display v7_b.jpg
 
I added this old counter from my previous save and it does count to 5 but only the first column of leds and counting to 5th led then back to first led.
Notice I left that reset wire unconnected since I have no reset pin on this chip, or I dont know the tricks I can do to smartly link it.
This is an experiment that is telling me the rest of the circuit is functioning fine.
1662226166453.png
 
I made some interesting progress but still stuck in the mud...
---video---
https://www.------------/q1212q/videos/624257272380792
Edit and insert this link into your browser address, to be able to see the video.
Unfortunatly, this website is automatically editing the link from facebook. Dont ask me why but it does it.
So edit it a bit and you can see it, its not a big deal.
1662235086426.png

1662235055985.png
 
Last edited:

Reply to What is the best signal interface for PC ? in the UK Electrical Forum area at ElectriciansForums.net

OFFICIAL SPONSORS

Electrical Goods - Electrical Tools - Brand Names Electrician Courses Green Electrical Goods PCB Way Electrical Goods - Electrical Tools - Brand Names Pushfit Wire Connectors Electric Underfloor Heating Electrician Courses
These Official Forum Sponsors May Provide Discounts to Regular Forum Members - If you would like to sponsor us then CLICK HERE and post a thread with who you are, and we'll send you some stats etc
This website was designed, optimised and is hosted by untold.media Operating under the name Untold Media since 2001.
Back
Top