สารบัญ:
- ขั้นตอนที่ 1: วิธีการทำงานของปุ่มกด
- ขั้นตอนที่ 2: การเชื่อมต่อทางกายภาพ
- ขั้นตอนที่ 3: วิธีการทำงานของ Getkey()
- ขั้นตอนที่ 4: Getvalue (ตัวเลข)
วีดีโอ: การใช้แป้นกด 4x4 กับ CircuitPython: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
แป้นพิมพ์ราคาถูกนี้มีวิธีการป้อนตัวเลขแบบง่ายๆ สำหรับโปรเจ็กต์ CircuitPython ของคุณ ฉันจะใช้กับ Adafruit ItsyBitsy M0 express
คุณจะต้องการ:
- ปุ่มกด - ของฉันคือ 4x4
- ItsyBitsy M0 Express หรือบอร์ดที่คล้ายกัน
- Mu Editor ติดตั้งบนคอมพิวเตอร์ของคุณ
- สาย USB แฟลชโค้ด
ขั้นตอนที่ 1: วิธีการทำงานของปุ่มกด
ปุ่มกดมีสวิตช์แบบฟองสบู่ที่ทำงานช้าและเรียบง่าย 16 อันจัดเรียงเป็น 4 ต่อตารางโดยมีจุดเชื่อมต่อ 8 ตัวที่ด้านล่าง หากเรานับเลขจากด้านซ้ายตั้งแต่ 0 ถึง 7 การเชื่อมต่อ 0 ถึง 3 จะเชื่อมต่อกับแต่ละแถว การเชื่อมต่อ 0 กับแถวบนและการเชื่อมต่อ 3 กับแถวล่าง การเชื่อมต่อ 4 ถึง 7 เชื่อมต่อกับคอลัมน์ด้วยการเชื่อมต่อ 4 ที่คอลัมน์ด้านซ้ายและการเชื่อมต่อ 7 กับคอลัมน์ด้านขวา สวิตช์ทั้ง 16 ตัวทำการเชื่อมระหว่างแถว/คอลัมน์ที่ต่างกัน หากเรากดแป้น 7 แถวที่สามจะถูกรวมเข้ากับคอลัมน์ด้านซ้าย เราสามารถสัมผัสได้ว่าปุ่ม 5 หากถูกกดหากแถวของมันถูกยกขึ้นสูงและเราสามารถอ่านค่า HIGH บนคอลัมน์ได้ การทำเช่นนี้เรา OUTPUT ไปที่แถวและ INPUT จากคอลัมน์
เราจำเป็นต้องตั้งค่าให้แต่ละแถวเป็น HIGH ในขณะที่แถวอื่นๆ เป็น LOW ให้อ่านแต่ละคอลัมน์ตามลำดับจนกระทั่งเราได้รับอินพุตสูง สิ่งนี้สามารถจัดการได้อย่างง่ายดายด้วยการซ้อนลูป
เราต้องคำนึงถึงข้อเท็จจริงที่ว่า บับเบิ้ลสวิตช์เหล่านี้ทำงานค่อนข้างช้าและต้องกดแรงๆ เพื่อให้ปิดได้ การสแกนทั้ง 16 สวิตช์ด้วยวิธีนี้สามารถทำได้อย่างรวดเร็ว แต่เราต้องสแกนซ้ำๆ เพื่อรับการกดปุ่ม นอกจากนี้เรายังต้อง 'ดีบัก' ด้วยการหน่วงเวลาสั้น ๆ เพื่อที่เราจะไม่ได้รับคีย์ซ้ำทุกครั้งที่กด
เนื่องจากสวิตช์ค่อนข้าง 'บอบบาง' เราจึงต้องการคำติชมจากผู้ใช้เพื่อระบุว่าได้อ่านการกดปุ่มแล้ว ไฟ LED ในตัวจะกะพริบทุกครั้งที่มีการกดปุ่ม
ขั้นตอนที่ 2: การเชื่อมต่อทางกายภาพ
การเชื่อมต่อจากซ้ายไปขวาบนแป้นกด0 1 2 3 4 5 6 7
D7 D9 D10 D11 A5 A4 A3 A2 บน ItsyBitsy
D7 ถึง D11 ถูกกำหนดให้เป็น OUTPUT ในขณะที่ A5 ถึง A2 ถูกตั้งค่าเป็น INPUT ด้วย PULLDOWN
โค้ดมีความคิดเห็นมากมายและควรปฏิบัติตามได้ง่าย
ขั้นตอนที่ 3: วิธีการทำงานของ Getkey()
ฟังก์ชันนี้จะสแกนปุ่มกดเพื่อกดปุ่มเดียว ตรวจสอบปุ่มแต่ละปุ่มอย่างรวดเร็วสูงสุด 10 ครั้งเพื่อดูว่าสวิตช์กุญแจปิดอยู่หรือไม่ หากกดปุ่ม ระบบจะคืนค่าคีย์ โดยนับจากซ้ายไปขวาจากบนลงล่าง (0 …15) สังเกตค่าสำหรับแถวล่างสุด: 14, 0, 15, 13 (Hex E, 0, F, D) หากไม่มีการกดปุ่มใด ๆ ระบบจะส่งกลับ -999 เป็นรหัสข้อผิดพลาดซึ่งสามารถหยิบขึ้นมาได้อย่างง่ายดายในโปรแกรมหลัก ไฟ LED ในตัวจะกะพริบหากมีการกดปุ่มตามความคิดเห็นของผู้ใช้ การดำเนินการนี้ค่อนข้างเร็วและการรอดีบักซ์ 0.2 วินาทีจะใช้เฉพาะเมื่อกดปุ่มเท่านั้น
ขั้นตอนที่ 4: Getvalue (ตัวเลข)
รูทีนนี้ให้ค่า n หลักจากปุ่มตัวเลข มันละเว้นปุ่มสีแดง
โค้ด Python นี้สามารถแปลงให้ทำงานบนอุปกรณ์อื่นได้อย่างง่ายดาย เช่น Raspberry Pi คุณอาจจำเป็นต้องเปลี่ยนบรรทัดการตั้งค่าพินที่ด้านบนของสคริปต์เท่านั้น
โปรดแจ้งให้เราทราบหากคุณพบว่ารหัสมีประโยชน์
อยู่อย่างปลอดภัยและสนุก!
แนะนำ:
การเชื่อมต่อเซ็นเซอร์ลายนิ้วมือแบบ Capacitive กับ Arduino UNO: 7 ขั้นตอน
การเชื่อมต่อเซ็นเซอร์ลายนิ้วมือแบบ Capacitive กับ Arduino UNO: ว่าไงพวก! Akarsh จาก CETech วันนี้เราจะเพิ่มชั้นป้องกันให้กับโครงการของเรา ไม่ต้องกังวลเราจะไม่แต่งตั้งผู้คุ้มกันคนเดียวกัน มันจะเป็นเซ็นเซอร์ลายนิ้วมือที่ดูดีน่ารักจาก DFRobot ดังนั้น
การใช้ Pimoroni Enviro+ FeatherWing กับ Adafruit Feather NRF52840 Express: 8 ขั้นตอน
การใช้ Pimoroni Enviro+ FeatherWing กับ Adafruit Feather NRF52840 Express: Pimoroni Enviro+ FeatherWing เป็นบอร์ดที่อัดแน่นไปด้วยเซ็นเซอร์ที่ออกแบบมาเพื่อทำงานร่วมกับบอร์ดรุ่น Adafruit Feather เป็นจุดเริ่มต้นที่มีประโยชน์สำหรับทุกคนที่สนใจในการตรวจสอบด้านสิ่งแวดล้อม มลภาวะในชั้นบรรยากาศ และการทำลายข้อมูล ผม
โอ้ต้นคริสต์มาส (Oh Tannenbaum) กับ MakeyMakey บนเครื่องสังเคราะห์น้ำ: 7 ขั้นตอน
โอ้ต้นคริสต์มาส (Oh Tannenbaum) กับ MakeyMakey บนเครื่องสังเคราะห์น้ำ: เพลงคริสต์มาสนี้เหมาะที่จะเล่นกับ makeymakey บนเครื่องสังเคราะห์น้ำ คุณสามารถเล่นกับเก้าโทน สำหรับบรรยากาศ เป็นการดีที่จะมีไฟคริสต์มาส :-)สนุก
I2C Relay กับ Arduino IDE: 5 ขั้นตอน
I2C Relay พบ Arduino IDE: ฉันสั่งรีเลย์บอร์ดที่ดี แต่ไม่มีคำสั่ง ArduinoIDE แค่ Raspberry Pi e.o ฉันพบวิธีใช้งานกับ Arduino และต้องการแชร์เพื่อให้คุณประหยัดเวลาได้ ตัวอย่าง RaspberryPi ดั้งเดิม: wiki.52pi.com/index.php/DockerPi_4_Channel_R
บทช่วยสอน LoRa GPS Tracker - LoRaWAN กับ Dragino และ TTN: 7 ขั้นตอน
บทช่วยสอน LoRa GPS Tracker | LoRaWAN กับ Dragino และ TTN: ว่าไงพวก! Akarsh ที่นี่จาก CETech สองสามโปรเจ็กต์กลับมา เราได้ดูที่ LoRaWAN Gateway จาก Dragino เราเชื่อมต่อโหนดต่างๆ กับเกตเวย์และส่งข้อมูลจากโหนดไปยังเกตเวย์โดยใช้ TheThingsNetwork เป็น s