Click here to Skip to main content

Welcome to the Lounge

   

For lazing about and discussing anything in a software developer's life that takes your fancy.
The Lounge is rated PG. If you're about to post something you wouldn't want your kid sister to read then don't post it. No flame wars, no abusive conduct and please don't post ads.

Technical discussions are welcome, but if you need specific help please use the programming forums.


 
GeneralRe: LOL PinmemberCDP180211-Jan-13 14:54 
GeneralRe: LOL PinmemberBrisingr Aerowing11-Jan-13 14:55 
GeneralRe: LOL PinmemberGeekforChrist11-Jan-13 14:57 
GeneralRe: LOL PinmemberBrisingr Aerowing11-Jan-13 14:59 
GeneralRe: LOL PinprotectorAspDotNetDev12-Jan-13 15:41 
GeneralNuget [modified] PinmemberBrisingr Aerowing11-Jan-13 14:46 
GeneralRe: Nuget PinmemberRanjan.D11-Jan-13 15:04 
GeneralToday I embarked... PinmemberCDP180211-Jan-13 14:27 
... on the noble quest to build the ultimate instrument of programming: A hexdecimal keyboard.
 
First I built the keyboard itself, oldschool style. That involved stripping (the insulation off little wires), heavy metals (good old lead/tin solder), and Heavy Metal. The result: A board with 17 keys, some resistors and a ribbon cable to hook it up to a decoder device.
 
In the old days there used to be ICs to scan and encode a 4 x 4 keyboard matrix, but they have become expensive and extremely hard to get. So I wanted to design my own encoder. Four standard logic ICs should be sufficient: A counter, a dual 2 to 4 decoder, a comparator and a latch to hold the value of the last key that was pressed.
 
Draw a schematic, get parts, wire everything up on a breadboard (more stripping!)...
... and don't believe your eyes. That thing acted weird!
 
The first bug: I took a 74LS192 counter. It's 4 bit (correct), synchronous (correct) and BCD
(ARGH!). Encoding a hex keyboard obviously needs a counter that can actually count to 16! I should have read the caption of the datasheet where it tells you that a 74LS192 counts BCD, while a 74LS193 counts binary.
 
Lesson learned: The ability to read is an advantage.
 
Replaced the 74LS192 with a 74LS163 (the only suitable IC I found in my parts box) and...
... it still did not work. This time the bug was having accidentally used the wrong output pin of the comparator.
 
Lesson learned: The ability to count is an advantage.
 
Now everything should be ok, or perhaps not. I could press keys as much as I wanted, the outputs of the latch remained - nothing. Not 1, not 0 - nothing. Hold on, that's a tri-state latch! Maybe that pin named OE (output enable) has something to do with it.
 
It did. Finally! It works! The counter counts (even to 16), the dual decoder decodes, the comparator compares and the latch latches (correct key values!)
 
Now I can etch a small circuit board, build the encoder and hook it up to any computer, old or new. I seriously doubt that using it will be nearly as much fun as building it.
GeneralRe: Today I embarked... PinmemberBrisingr Aerowing11-Jan-13 15:26 
GeneralRe: Today I embarked... PinmemberRoger Wright11-Jan-13 18:50 
GeneralRe: Today I embarked... PinmemberCDP180212-Jan-13 2:20 
GeneralWhat Linux is good for ? PinmemberBillWoodruff11-Jan-13 14:22 
GeneralRe: What Linux is good for ? PinmemberBrisingr Aerowing11-Jan-13 14:37 
GeneralRe: What Linux is good for ? PinmemberPIEBALDconsult11-Jan-13 15:15 
GeneralA praise to the crowd! PinmemberManfred R. Bihy11-Jan-13 13:17 
GeneralRe: A praise to the crowd! PinmemberGarth J Lancaster11-Jan-13 13:50 
GeneralRe: A praise to the crowd! PinmemberManfred R. Bihy11-Jan-13 13:52 
GeneralRe: A praise to the crowd! PinmemberGarth J Lancaster11-Jan-13 14:10 
GeneralRe: A praise to the crowd! Pinmemberlewax0011-Jan-13 14:00 
GeneralRe: A praise to the crowd! PinmemberGarth J Lancaster11-Jan-13 14:12 
GeneralRe: A praise to the crowd! PinmemberManfred R. Bihy11-Jan-13 14:01 
GeneralWTE??? Pinmembergavindon11-Jan-13 12:30 
GeneralRe: WTE??? PinmvpDave Kreskowiak11-Jan-13 12:36 
GeneralRe: WTE??? PinmemberCDP180211-Jan-13 12:46 
GeneralRe: WTE??? PinmemberGarth J Lancaster11-Jan-13 12:47 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Advertise | Privacy | Mobile
Web01 | 2.8.141223.1 | Last Updated 25 Dec 2014
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid