สารบัญ:
- ขั้นตอนที่ 1: รวบรวมชิ้นส่วนทั้งหมด
- ขั้นตอนที่ 2: การเดินสายไฟ
- ขั้นตอนที่ 3: การติดตั้งแพ็คเกจ Python
- ขั้นตอนที่ 4: การติดตั้งตัวอย่าง
- ขั้นตอนที่ 5: เปิดใช้งาน I2C
- ขั้นตอนที่ 6: เรียกใช้ Calibratethresholds
- ขั้นตอนที่ 7: แก้ไขแล้วเรียกใช้ Readkeypadwithtimeout
- ขั้นตอนที่ 8: วิธีการทำงานของ One Pin Keypad
- ขั้นตอนที่ 9: สรุป
วีดีโอ: One Pin Keypad Raspberry Pi คู่มือการใช้งาน: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
การปฏิเสธความรับผิด: นี่เป็นแนวทางการใช้งานสำหรับผลิตภัณฑ์โอเพ่นซอร์ส: ปุ่มกดแบบ ONE PIN นี่ไม่ใช่โครงการ DIY หากคุณต้องการสร้างบอร์ดด้วยตัวเอง คุณสามารถพบไฟล์ EAGLE ได้ที่ส่วนท้ายของการสอน
ปุ่มกด One Pin คืออะไร?
One Pin Keypad ทำให้การใช้แป้นพิมพ์แบบเมตริกซ์ง่ายขึ้นมาก และให้คุณจองพิน I/O อันมีค่าของคุณเพื่อวัตถุประสงค์อื่น โดยทั่วไปแล้ว ปุ่มกดเมทริกซ์ 16 ปุ่มต้องใช้อินพุตดิจิตอล 8 ตัวบนไมโครคอนโทรลเลอร์หรือคอมพิวเตอร์บอร์ดเดี่ยว Arduinos ที่ได้รับความนิยมสูงสุดจำกัดให้คุณมีพินดิจิทัลเพียง 14 พิน ดังนั้นแป้นพิมพ์ 16 ปุ่มจึงเหลือเพียง 6 พินสำหรับส่วนที่เหลือของโปรเจ็กต์ของคุณ การขาดแคลนทรัพยากรนี้อาจนำไปสู่การแลกเปลี่ยนการออกแบบที่มีค่าใช้จ่ายสูง หรือการอัปเกรดไมโครคอนโทรลเลอร์ที่มีราคาแพงกว่า โมดูล One Pin Keypad ทำให้ไม่จำเป็นต้องใช้อินพุตดิจิตอลเหล่านี้ทั้งหมด ตามชื่อของมัน One Pin Keypad ใช้เพียงหนึ่งพิน (อินพุตแบบอะนาล็อก) บวกกับการเชื่อมต่อ GND และ VCC ดังนั้นการเดินสายปุ่มกดของคุณจึงทำได้ง่ายดาย! สำหรับผู้ใช้ Raspberry Pi (กลุ่มเป้าหมายสำหรับบทช่วยสอนนี้) ยังต้องใช้ตัวแปลงอนาล็อกเป็นดิจิตอล ADS1115 ซึ่งง่ายต่อการต่อสาย One Pin Keypad Python Package (รวมอยู่ด้วย) ยังช่วยลดความยุ่งยากในการเขียนโปรแกรมที่จำเป็นในการประมวลผลอินพุตของปุ่มกด ช่วยให้คุณประหยัดเวลาและแรงมากขึ้น
สำหรับคู่มือการใช้งาน Arduino คลิกที่นี่
ขั้นตอนที่ 1: รวบรวมชิ้นส่วนทั้งหมด
ในการเริ่มต้นใช้งานบอร์ด One Pin Keypad คุณจะต้อง:
- บอร์ดปุ่มกดแบบ One Pin
- Arduino ของรสชาติบางอย่าง (ในกรณีนี้ Arduino Nano ถูกใช้)
- สายจัมเปอร์ 3 M/F,
- 4 M/M หรือ 4 สายจัมเปอร์ M/F ขึ้นอยู่กับประเภทของส่วนหัวที่อยู่ใน Raspberry Pi. ของคุณ
- ปุ่มกดเมมเบรนแบบ 16 ปุ่ม
- เขียงหั่นขนม (ใช้อันเล็ก ๆ ที่นี่)
- โมดูล ADS1115 (จาก Adafruit หรือโคลน)
- Raspberry Pi ที่มีการเชื่อมต่ออินเทอร์เน็ตและ Raspbian OS (ฉันใช้ Stretch)
- อุปกรณ์เสริม Raspberry Pi (สาย HDMI, แหล่งจ่ายไฟ, ดองเกิล, จอภาพ ฯลฯ ขึ้นอยู่กับรสชาติของ Raspberry Pi ของคุณ)
ขั้นตอนที่ 2: การเดินสายไฟ
ต่อ One Pin Keypad ตามแผนภาพ Fritzing รูปภาพหรือทั้งสองอย่างที่คุณต้องการ
โปรดทราบ: หมายเหตุในไดอะแกรม Fritzing หมายถึง One Pin Keypad (และตัวย่อ GND VCC และ AOUT กำหนดพินของบอร์ด One Pin Keypad)
ขั้นตอนที่ 3: การติดตั้งแพ็คเกจ Python
เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:
sudo apt-get update
แล้ว
pip3 ติดตั้ง Progetto-One-Pin-Keypad
เพื่อติดตั้งแพ็คเกจและการพึ่งพาที่จำเป็น
ขั้นตอนที่ 4: การติดตั้งตัวอย่าง
ฉันสร้างโฟลเดอร์ dev เพื่อจัดเก็บที่เก็บภายใต้ home/pi หากคุณต้องการทำเช่นเดียวกัน (เป็นทางเลือกทั้งหมด) ให้รันคำสั่งนี้:
mkdir dev
จากนั้นหากต้องการไปยังโฟลเดอร์ ให้พิมพ์:
cd dev
สุดท้าย ในการโคลนที่เก็บ ให้ป้อนคำสั่งต่อไปนี้:
ขั้นตอนที่ 5: เปิดใช้งาน I2C
ADS1115 ADC (Analog to Digital Converter) อาศัยโปรโตคอล I2C (Inter-Integrated Circuit) เพื่อสื่อสารกับ Raspberry Pi โดยค่าเริ่มต้นบัส I2C ถูกปิดใช้งานเพื่อเปิดใช้งานให้พิมพ์:
sudo raspi-config
ซึ่งจะนำคุณไปยังหน้าต่างการกำหนดค่าสีน้ำเงิน จากนั้น ใช้ปุ่มลูกศรและปุ่ม Enter เลือก
- ตัวเลือกการเชื่อมต่อ
- I2C
- แล้วลงไปที่
เคล็ดลับ: การอ้างถึงภาพหน้าจอด้านบนอาจช่วยได้เล็กน้อย! หากคุณยังติดอยู่อย่ากลัว! อ้างถึงวิธีการที่น่าทึ่งนี้จาก Sparkfun!
ขั้นตอนที่ 6: เรียกใช้ Calibratethresholds
ไปที่ที่เก็บ หากคุณยังไม่ได้ดำเนินการ และไปที่โฟลเดอร์ตัวอย่างโดยใช้คำสั่งเหล่านี้:
เคล็ดลับ: พิมพ์ 'cd Prog' จากนั้นกด Tab มันควรเติมชื่อที่เก็บโดยอัตโนมัติ!
cd Progetto_One_Pin_Keypad_Python_Package
จากนั้นพิมพ์:
ตัวอย่างซีดี
ถัดไป ให้รันตัวอย่าง calibratethresholds โดยใช้คำสั่งนี้:
python3 เกณฑ์การสอบเทียบ
และทำตามคำแนะนำที่แสดงบนคอนโซลเพื่อปรับเทียบบอร์ดของคุณ หลังจากปรับเทียบผ่านปุ่มทั้งหมดแล้ว ให้ทดสอบค่าอะนาล็อกใหม่ของคุณเพื่อดูว่าทำงานได้หรือไม่โดยกดปุ่มบางปุ่มเมื่อได้รับแจ้งให้ "เริ่มต้น" หากค่าใหม่พิสูจน์ได้ว่าไม่ถูกต้อง ให้ใช้ Ctrl C เพื่อฆ่าโปรแกรมและเรียกใช้ อีกครั้ง.
ตัวอย่างการปรับเทียบควรมีโค้ด 2 บรรทัดที่คุณต้องการในตัวอย่างถัดไป อย่าลืมเปิดคอนโซลไว้และ/หรือคัดลอกทั้งสองบรรทัด!
ขั้นตอนที่ 7: แก้ไขแล้วเรียกใช้ Readkeypadwithtimeout
ตอนนี้ One Pin Keypad ของคุณได้รับการปรับเทียบแล้ว ก็ถึงเวลานำไปใช้ ในขณะที่คุณสามารถทำได้จากบรรทัดคำสั่งโดยใช้ vi ฉันชอบใช้ IDE เช่น IDLE
เปิด IDLE ขึ้น (คุณจะต้องการเวอร์ชัน python3) และแก้ไขบรรทัดต่อไปนี้:
จำอาร์เรย์ค่าแอนะล็อกที่คุณคัดลอกไว้หรือไม่ แทนที่บรรทัดที่ 13 (ดูด้านล่าง) ด้วยค่าอะนาล็อกที่ปรับเทียบใหม่
# เช่น: my_thresholds = [ค่าที่ปรับเทียบจะอยู่ที่นี่]
ถูกแทนที่ด้วยสิ่งนี้:
my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]
ถัดไป เพิ่มโค้ดบรรทัดถัดไปหลังบรรทัดที่ 23 (ดูด้านล่าง):
keypad.useCalibratedThresholds (my_thresholds)
ถูกเพิ่มหลังบรรทัดที่ 23:
# เช่น keypad.use_calibrated_thresholds (ชื่ออาร์เรย์ของคุณ)
ทำให้บรรทัดที่ 22 ถึง 24 มีลักษณะดังนี้ในตอนท้าย:
# หากมีการใช้ค่าที่ปรับเทียบแล้ว use_calibrated_thresholds ด้านล่าง:
# เช่น keypad.use_calibrated_thresholds (ชื่ออาร์เรย์ของคุณ)
keypad.use_calibrated_thresholds (my_thresholds)
เสร็จแล้วรันโค้ดและทดสอบโดยกดปุ่มบางปุ่ม! ปรับเปลี่ยนภาพร่างตัวอย่างให้เข้ากับโปรเจ็กต์ของคุณได้ตามสบาย! โปรดจำไว้ว่า read_keypad_with_timeout ส่งคืนปุ่มที่ถูกกดเป็นตัวอักษรและตั้งค่าไทม์เอาต์เป็นมิลลิวินาที! หากคุณไม่ต้องการหมดเวลา ให้ใช้ค่าคงที่ keypad. NO_TIMEOUT
ขั้นตอนที่ 8: วิธีการทำงานของ One Pin Keypad
การออกแบบส่วนใหญ่ของ One Pin Keypad มีพื้นฐานมาจากการใช้ตัวแบ่งแรงดันไฟฟ้าของ Hari Wiguna เพื่อให้ได้ค่าแอนะล็อกที่ไม่ซ้ำกันสำหรับแต่ละคีย์ในปุ่มกดแบบ 16 พิน การออกแบบของ One Pin Keypad ยังคงเหมือนเดิม โดยมีการปรับแต่งเล็กน้อย หากคุณต้องการบทช่วยสอนที่ยอดเยี่ยมเกี่ยวกับวิธีการทำงานของ One Pin Keypad โปรดชมวิดีโอที่ยอดเยี่ยมของ Hari Wiguna ได้ที่นี่!
ขั้นตอนที่ 9: สรุป
ในคำแนะนำนี้ เราได้กล่าวถึงวิธีเริ่มต้นใช้งานบอร์ด One Pin Keypad ของคุณ ในตอนนี้ บรรดาพวกคุณอาจสงสัยว่าทำไม readKeypadInstantaneous Example sketch จึงไม่เคยใช้ เหตุผลก็คือมันไม่มีประโยชน์เท่าที่ควร เพราะต้องกดปุ่มเมื่อถูกเรียก ฟังก์ชัน readKeypadInstantaneous() ถูกใช้เพื่อทำให้ง่ายขึ้นเป็นหลัก readKeypadWithTimeout() ในไลบรารี ถ้ามันดึงดูดสายตาของคุณก็ลองหมุนดู มีความสุขแฮ็ค!
หากคุณมีคำถามใด ๆ แสดงความคิดเห็นด้านล่างหรือส่งอีเมลถึงเราที่ [email protected] สิ่งที่ดีที่สุดคือ Progetto Company P. S. ตามที่สัญญาไว้ ลิงก์ไปยังไฟล์ Eagle ของบอร์ด
แนะนำ:
Arduino Mechanical Keypad: 5 ขั้นตอน (พร้อมรูปภาพ)
Arduino Mechanical Keypad: ฉันต้องการพินแพดสำหรับโปรเจ็กต์อื่น ดังนั้นฉันจึงตัดสินใจทำปุ่มกดที่มีชิ้นส่วนที่บ้าน
บทช่วยสอน Arduino Keypad 4x4: 4 ขั้นตอน (พร้อมรูปภาพ)
บทช่วยสอน Arduino Keypad 4x4: การป้อนข้อมูลด้วยปุ่มกดแสดงบนจอภาพอนุกรมด้วยรหัสเต็มของปุ่มกด Arduino uno และ 4x4
Lego 4x4 Keypad Matrix: 8 ขั้นตอน (พร้อมรูปภาพ)
Lego 4x4 Keypad Matrix: ในขณะที่ฉันติดอยู่ในบ้านในช่วงสองสามสัปดาห์ที่ผ่านมา ในที่สุดฉันก็ได้ทำโปรเจ็กต์ที่วนเวียนอยู่ในหัวจนเสร็จ ฉันใช้ Lego เป็นพื้นฐานสำหรับโครงการส่วนใหญ่ของฉันในช่วงสองสามสัปดาห์ที่ผ่านมา
คู่มือการใช้งาน Sol-EZ Solenoid Driver Kit: 9 ขั้นตอน
คู่มือการใช้งาน Sol-EZ Solenoid Driver Kit: การปฏิเสธความรับผิด: นี่คือคู่มือการใช้ผลิตภัณฑ์: ชุดไดรเวอร์ SOL-EZ SOLENOID นี่ไม่ใช่โครงการ DIY ชุดไดรเวอร์โซลินอยด์ Sol-EZ คืออะไร กล่าวโดยย่อคือ ชุดไดรเวอร์โซลินอยด์ Sol-EZ เป็นชุดที่ช่วยลดความยุ่งยากในการใช้โซลินอยด์โดย
การสาธิตพลังงานจักรยาน (คู่มือการใช้งาน): 4 ขั้นตอน
การสาธิตพลังงานจักรยาน (คู่มือการใช้งาน): คำแนะนำนี้เป็นคำแนะนำการใช้งานสำหรับการสาธิตพลังงานจักรยาน ลิงค์ไปยังบิลด์อยู่ด้านล่าง:https://www.instructables.com/id/Bicycle-Energy-Demo-Build