You are right. I'll continue trying to fix the minor problem while I move to the PLC. Should I wrap with aluminum foil everyone of the 16 wires that I have connected to the arduino? O just the 8 from the keypad. Just wrapping the 8 seems difficult to achieve.
Oh for crying out loud, someone take pity on the poor guy...
Look. Based on the information you've shared with the forum, it's clear that your system has some problem(s), but not exactly what they are. It's not even clear whether your problems are hardware or software. Chasing silliness like wrapping aluminum foil around things before you've figured out where the problem lies, is, well silliness, and recommending it to you before helping you diagnose the problem lies is cruel.
Step 1: Describe the problem(s) in more detail:
a) "The system freezes"
What does the system do that makes you think it freezes? Do you know whether the Arduino program counter is still running? Is the main loop still looping? We need to know whether the hardware has literally taken a crap on you, or if it's off stuck in some infinite loop, confused and waiting for input, or ???
If you don't know how to diagnose these things, post what you do know, and people can help walk you through further diagnostics.
b) "displays random key presses"
What does "displays random key presses" mean? Do you have it displaying something each time a key is pressed? Does it get stuck displaying some key press? Does it display key presses when no keys are being pressed? Does it continue to display random key presses if you yank the connector for the key-pad while it's displaying a "random key press"? Does it display random key presses even if the key pad is not connected at all after turning it on?
How are you reading the key pad? It looks like it's just a switch matrix, so you're probably either measuring continuity between (row and column) pairs and some common line? Or maybe injecting voltage and measuring voltage out on the row/column lines? Are you reading the inputs as digital I/O or analog I/O? If you're reading digital, have you tried switching to analog and looking at the actual values? Does the key pad include pull-up/pull-down resistors? Is it de-bounced in hardware on the board, or do you de-bounce in your software? (if it's a bog-standard-simple keypad, and you're doing the bog-standard-simple thing for reading it, appropriate pull-ups/pull-downs and debounce will fix a /lot/ of random).
Help us out by providing a bit more information, and hopefully people will stop making random guesses about things that might be helpful.