reading a 4x4 switch matrix

Status
Not open for further replies.
I printed out Jons example in post #32, then edited to output to an LCD
First I put an led on a port o blink to confirm the chip is processing code and is operational
then inserted the HELLO WORLD snippet to confirm the LCD is working
now attempting to get the code to output to the LCD by basically removing all the UART routines and inserting WRITE.AT.
Thinking maybe the port b pullups are not working and/or my DIY switch matrix is not operational so cobbling a code together to just address only portB.0 and PortB.7 pins Just something to verify the port is being addressed via the switch matrix.
 
Where did you find diodes that drop 1.1V? I would some of those.
Normal range is roughly 0.6V for those so again your pushing limits, pushing one maybe 2 limits is ok, but you reach a point something dosnt work, you have no place to start trouble shooting because in theory it does work, since you are building it not too....if that makes sense.
 
basically attempting to deconstruct the matrix workings and code to decipher exactly what each statement is doing.
 
Looks like it's going to be takeout for dinner tonight...
Thats what happens when a photographer gives a soldering iron to a model, she could at least scrunch her face up a bit.
Not necessarily, she could be a real technician/engineer who was "volunteered" against her will for the photoshoot, so she thought that she would do a little bit of sabotage.

On a slightly different theme, one place I worked in a large service department, various bosses would come along showing visitors what we were doing.
One particular guy, I don't know how long since he touched any equipment (if ever), when he walked past the spectrum analysers he would nonchalantly announce "basically it is a double receiver". I never did work out whether he meant that it was two receivers in one box, like a diversity receiver, or whether he meant it was a double superhet. In either case he was wrong.

Another guy, the accounts man of all people, was showing someone around and came across an enormous RF power meter in bits on the bench and announced that "it has a dissipative resistor".
What the!!!!
All resistors could be described as dissipative.
Some time later I was reading through the handbook of that RF power meter, looking for some snippet of information and came across the origin of his weird expression.
The book actually said "the dissipative element is a 50 Ohm ??watt resistor", which our accounting hero had managed to half remember and mangle.

JimB
 
Not necessarily, she could be a real technician/engineer who was "volunteered" against her will for the photoshoot, so she thought that she would do a little bit of sabotage.
In that case, I'd have expected to see something like her initials being carved in the PCB substrate, or "Kill me now" carved lightly on the desk as an easter-egg for the zoomers.
 
Except what is she soldering? where is the solder? if she is soldering then a lab like that would have the correct iron. Excuse me love but could you desolder the blue thing while wearing YELLOW glasses please.

Thats all the technical stuff, but the biggest give away......No engineer (Jim Excepted) has a bench that clean.It erks me its a mother board and yet that isnt a ESD iron nor does she have a strap on (that we can see), and the bench dosnt have a anti static mat, what self respecting engineer would work there?

And since when did soldering a mother board require you to have a class I bio fume cupboard behind you? Plus she bites her nails.

Ok with that list she could be related to the op i guess.
 
Did you notice the lapidary wheel and the plastic dinosaur in the background?

Where is the machine that goes ping? (See Monty Python's The Meaning of Life)
 

o I hope your flashing LED isn't on a port B pin.

o I hope you've disconnected the PICkit 2 from the ISCP connector, as it's going to interfere with reading the matrix. I suppose if you were really thinking, you would have left my software in the working state, and connected the PICkit to the UART transmit pin and tested the software before you mucked with it.

o I hope you haven't decided port A or port C would work just as well and changed all the connections. There are any number of reasons this won't work, primary among them are the module won't work without changes.

If you have copied my code exactly, there is no doubt about the port B pullup resistors. They are enabled in the keypad module. I would hope you would understand since my code works and there is no place where I do anything to turn them on, it must be done in the module and I didn't forget to include a line somehow.

Post your #$%^&ed code so we can see what you "fixed."
 
3 out of 5 times you're a firmware engineer, 4 out of 5 times you're a manager.
Have to disagree , I had a manager did not know what a soldering iron was ! Really, I was in hardware support ,coming up with fixes for bad design... and asked her directly if she knew what i did ?

On the -3v issue I have used a MAX764 in the past to get the neg volts for 3.3 LCD , you don't need many Amps !
 
Thread's drifting.... Pretty women pretending to solder isn't 4x4 matrices...

( Not that you have to care what I say any more )
 
Thread's drifting.... Pretty women pretending to solder isn't 4x4 matrices...

I posted working Swordfish Basic code 140 posts ago in post #32. It is quite complex and difficult as shown here (complete program listing):

Code:
Include "keypad16pullup.bas"
Include "usart.bas"
Include "convert.bas"

Dim Keypressed As Byte
Dim Keyvalue As Byte
SetBaudrate(br9600)

DelayMS(5000)

USART.Write ("Test program",13, 10, 10)

While 1 = 1
     Keypressed = keypad16.Value
     If Keypressed <> 0 Then
         USART.Write ("Key pressed = ", HexToStr(Keypressed), 13, 10)
      End If
Wend

I did further expand on this a few posts later, adding several lines of code to this already complex program.
 
Yep! I saw it.. But!!!

While 1 = 1
Keypressed = keypad16.Value
If Keypressed <> 0 Then
USART.Write ("Key pressed = ", HexToStr(Keypressed), 13, 10)
End If
Wend

Might as well be in chinese.. You used an inbuilt function....
 
Yep! I saw it.. But!!!

Might as well be in chinese.. You used an inbuilt function....

Yes, and? This is exactly what MrDEB needs to do. I don't create my own multiplication function when I multiply 2 numbers. I don't start from scratch to create a conditional when I need an if/than statement, nor do I spend much time worrying if it's been properly coded in the compiler to work properly every time.

So what's wrong with using the keypad include file to bring additional commands into the basic language? And you know what? Swordfish include files are written in Swordfish Basic. They are not a black box; they are there for the inspection.
 
You are preaching to the converted.... I agree with you!! The wheel works very well... But!! I rather think MrDeb needs to understand what the external function is doing... And that's a bit away!!
 
I's getting cold and I am starting to freeze!!
external function? I need to better understand a FUNCTION better. more research
yes I am using portB for the matrix.
I still have the pickit2 connected when testing
will get back to you.
 
The pickit2 has 4.7K pulldown resistors on the ICSPCLK and ICSPDAT lines which connect to PORTB.7 and PORTB.6

That'll screw with the internal pullups, so you'll have to remove it (the pickit2) to test the keypad.
 
Thread's drifting.... Pretty women pretending to solder isn't 4x4 matrices...

( Not that you have to care what I say any more )
I missed the memo that said we had to before!!

But ok seeing as no one else asked, and seeing as this is at least 400 pages from completion, how come your now normal?
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…