はじめに
こんにちは。
この記事は Kojirock1一人 Advent Calendar 2019の6日目の記事です。
今回は参考本ではなく、事前に買った初心者キットに入っていたものを使いながら色々遊んでみます。
初心者キットの中に、 Keypad ZRX-543
という電卓みたいなパーツが入っていたので、早速使ってみました。
ぐぐってもあんまり有効な記事が見当たらず、唯一良さげな動画があったので、こちらのとおりに進んでみました。
やってみた
早速つなげてみました。
コードも動画のとおりに書いてみます。
# -*- coding: utf-8 -*- import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) MATRIX = [ [1, 2, 3, 'A'], [4, 5, 6, 'B'], [7, 8, 9, 'C'], ['*', 0, '#', 'D'], ] ROW = [7, 11, 13, 15] COL = [12, 16, 18, 22] for j in range(4): GPIO.setup(COL[j], GPIO.OUT) GPIO.output(COL[j], 1) for i in range(4): GPIO.setup(ROW[i], GPIO.IN, pull_up_down = GPIO.PUD_UP) try: while(True): for j in range(4): GPIO.output(COL[j], 0) for i in range(4): if GPIO.input(ROW[i]) == 0: print MATRIX[i][j] while (GPIO.input(ROW[i]) == 0): pass GPIO.output(COL[j], 1) except KeyboardInterrupt: GPIO.cleanup()
実際に動かすと、妙な動き...
入力していないのに入力されたり、ボタンを連続で押されたりと、なかなか難しい。
多分配線がおかしいんだと思いますが、どこがどうおかしいのかわからず、このあと一時間くらい頑張りましたが、動かず断念しました。
終わりに
初心者キッドには各ツールの説明書がないので、わからなかったら謎のままで終わっちゃうのが残念なところです。。。
自分に基礎知識があれば、「ああ。これはここ繋げばいけるっしょ」みたいに変換できると思うのですが、いかんせんそこまで想像力が働かないので、今回はここまで。
リベンジはしたいと思います!