<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to 4 x 4 keyboard </title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/7a658c672c/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Runtime/thread/7a658c672c/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Runtime/thread/7a658c672c/</id><updated>2022-09-05T12:01:58.129000Z</updated><subtitle>Recent posts to 4 x 4 keyboard </subtitle><entry><title>4 x 4 keyboard </title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/7a658c672c/?limit=25#b6ba" rel="alternate"/><published>2022-09-05T12:01:58.129000Z</published><updated>2022-09-05T12:01:58.129000Z</updated><author><name>maresto308</name><uri>https://forge.codesys.com/u/maresto308/</uri></author><id>https://forge.codesys.com46ba0eddacdd7f87e667ebf5528a0554d508a898</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;br/&gt;
I purchased a 4 x 4 keyboard like in the picture. I want to use it in a codesys project. I'm using this cheat:&lt;br/&gt;
import RPi.GPIO as GPIO&lt;br/&gt;
import time&lt;br/&gt;
L1 = 16&lt;br/&gt;
L2 = 20&lt;br/&gt;
L3 = 21&lt;br/&gt;
L4 = 26&lt;br/&gt;
C1 = 5&lt;br/&gt;
C2 = 6&lt;br/&gt;
C3 = 13&lt;br/&gt;
C4 = 19&lt;br/&gt;
GPIO.setwarnings (False) GPIO.setmode (GPIO.BCM) GPIO.setup (L1, GPIO.OUT) GPIO.setup (L2, GPIO.OUT) GPIO.setup (L3, GPIO.OUT) GPIO.setup (L4, GPIO.OUT) GPIO.setup (C1, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) GPIO.setup (C2, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) GPIO.setup (C3, GPIO.IN, pull_up_down = GPIO. PUD_DOWN) GPIO.setup (C4, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) def readLine (line, characters): GPIO.output (line, GPIO.HIGH) if (GPIO.input (C1) == 1): print (characters &lt;span&gt;[0]&lt;/span&gt;) if (GPIO.input (C2) == 1): print (characters &lt;a class="alink" href="/forge/talk-ru/1/"&gt;[1]&lt;/a&gt;) if (GPIO.input (C3) == 1): print (characters &lt;a class="alink" href="/forge/talk-ru/2/"&gt;[2]&lt;/a&gt;) if (GPIO. input (C4) == 1): print (characters &lt;a class="alink" href="/forge/talk-ru/3/"&gt;[3]&lt;/a&gt;) GPIO.output (line, GPIO.LOW) try: while True: readLine (L1, &lt;span&gt;["1", "2", "3", "A "]&lt;/span&gt;) readLine (L2, &lt;span&gt;[" 4 "," 5 "," 6 "," B "]&lt;/span&gt;) readLine (L3, &lt;span&gt;[" 7 "," 8 "," 9 "," C "]&lt;/span&gt;) readLine (L4 , &lt;span&gt;["*", "0", "#", "D"]&lt;/span&gt;) time.sleep (0.1) except KeyboardInterrupt: print ("\ nApplication stopped!")&lt;br/&gt;
Codesys only reads buttons from rows (reads signal for 4 buttons). Does not read the signal from the columns. The keyboard is connected to gpio 5,6,13,19,16,20,21,26. The code written in python makes it possible to read each button. What can I do with it to make codesys read every button?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>