สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
คุณมี Raspberry Pi และไอเดียเจ๋งๆ แต่คุณจะทำให้ผู้ใช้โต้ตอบด้วยได้ง่ายเหมือนสมาร์ทโฟนได้อย่างไร
การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) นั้นค่อนข้างง่าย และด้วยความอดทน คุณสามารถสร้างโครงการที่น่าทึ่งได้
ขั้นตอนที่ 1: ภาพรวมแบบกว้าง
หนึ่งในเครื่องมือที่ทรงพลังที่สุดที่ Raspberry Pi มีให้เหนือไมโครอื่น ๆ คืออัตราที่รวดเร็วและความสะดวกที่คุณสามารถสร้าง Graphical User Interface (GUI) สำหรับโครงการของคุณ
วิธีหนึ่งที่จะบรรลุสิ่งนี้ พิเศษถ้าคุณมีหน้าจอสัมผัสเต็มรูปแบบ (หรือหน้าจอมาตรฐานและอุปกรณ์อินพุตเช่นเมาส์) มันช่างน่าทึ่ง!
สำหรับวัตถุประสงค์ของบทความนี้ เราจะใช้ Python 3 กับ Tkinter:
ไลบรารี่อันทรงพลังสำหรับการพัฒนาแอปพลิเคชันส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) บน Raspberry Pi ที่ผู้ผลิตกังวล
Tkinter น่าจะใช้กับ Python มากที่สุดและมีแหล่งข้อมูลมากมายบนอินเทอร์เน็ต
ขั้นตอนที่ 2: "สวัสดีชาวโลก" ใน Tkinter
เรากำลังใช้ aRaspberry Pi ที่โหลดด้วย Raspbian Stretch OS
เพื่อเรียกใช้แอปพลิเคชัน Tkinter GUI ของเรา เรายังสามารถใช้ระบบปฏิบัติการอื่นที่ติดตั้ง python ไว้ได้
Raspbian มาพร้อมกับ Python 2, Python 3 และไลบรารี Tkinter ที่ติดตั้งไว้
วิธีตรวจสอบว่าคุณได้ติดตั้งเวอร์ชันใด จากการรันเทอร์มินัล:
python3 --version
สร้างไฟล์ใหม่ชื่อ app.py และป้อนรหัสฐานที่แสดงด้านล่าง:
#!/usr/bin/python
จากการนำเข้า tkinter * # นำเข้าราก Tkinter lib = Tk() # สร้างวัตถุราก root.wm_title ("สวัสดีชาวโลก") # ตั้งชื่อของหน้าต่าง root.mainloop () # เริ่มวนรอบ GUI
หากคุณไม่ได้ใช้ IDE ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลจากไดเร็กทอรีที่มีโค้ด Python ของคุณเพื่อรันโปรแกรม
python3 app.py
ขั้นตอนที่ 3: การปรับแต่งหน้าต่าง
ตอนนี้เรามาดูวิธีปรับแต่งหน้าต่างนี้กัน
สีพื้นหลัง
root.configure(bg="black") # เปลี่ยนสีพื้นหลังเป็น "black"
หรือ
root.configure(bg="#F9273E") # ใช้รหัสสีฐานสิบหก
ขนาดหน้าต่าง
root.geometry("800x480") # ระบุขนาดหน้าต่าง
หรือ
root.attributes("-fullscreen", True) # set to fullscreen
โปรดทราบว่าคุณจะติดอยู่ในโหมดเต็มหน้าจอหากคุณไม่ได้สร้างวิธีการออก
#ออกได้เมื่อกดแป้น Escape
def end_fullscreen(เหตุการณ์): root.attributes("-fullscreen", False) root.bind("", end_fullscreen)
ขั้นตอนที่ 4: วิดเจ็ตใน Tkinter
Tkinter มีวิดเจ็ตต่างๆ มากมายเพื่อช่วยคุณสร้างอินเทอร์เฟซผู้ใช้ที่เหมาะสมที่สุด วิดเจ็ตที่คุณสามารถใช้ได้ได้แก่:• กล่องข้อความ
• ปุ่ม
• ตรวจสอบปุ่ม
• ตัวเลื่อน
• กล่องรายการ
• ปุ่มตัวเลือก
•เป็นต้น..
ตอนนี้ เราสามารถเพิ่มวิดเจ็ตบางอย่างได้ เช่น ข้อความ ปุ่ม และอินพุต
การเพิ่มวิดเจ็ต
ป้าย
label_1 = ป้ายกำกับ (root, text="Hello, World!")
ก่อนที่มันจะปรากฏในหน้าต่าง เราต้องตั้งค่าตำแหน่ง เราจะใช้การวางตำแหน่งกริด
label_1.grid(row=0, column=0) # กำหนดตำแหน่ง
ป้อนข้อมูลเข้า
label_1 = Label(root, text="Hello, World!", font="Verdana 26 bold, fg="#000", bg="#99B898")
label_2 = Label(root, text="What is your name?", fg="#000", bg="#99B898") entry_1 = Entry(root) #input entry label_1.grid(row=0), คอลัมน์=0) label_2.grid(แถว=1, คอลัมน์=0) entry_1.grid(แถว=1, คอลัมน์=1)
ปุ่ม
#เพิ่มปุ่มในหน้าต่าง
ปุ่ม = ปุ่ม (ราก, ข้อความ = "ส่ง") Button.grid(แถว=2, คอลัมน์=1)
ขั้นตอนที่ 5: การเพิ่มลอจิก
ตอนนี้เรามีแบบฟอร์มง่ายๆ แต่การคลิกที่ปุ่มไม่ทำอะไรเลย !!
เราจะสำรวจวิธีตั้งค่าเหตุการณ์บนวิดเจ็ตปุ่มและผูกเข้ากับฟังก์ชันที่ดำเนินการเมื่อคลิก
เพื่อจุดประสงค์นี้ เราจะอัปเดต label_1 เพื่อแสดง "สวัสดี + ข้อความที่ป้อนในอินพุต" เมื่อคุณเลือกปุ่มส่ง
ดาวน์โหลดรหัสด้านล่างแล้วเรียกใช้
ขั้นตอนที่ 6: การควบคุม LED
จนถึงตอนนี้ เราเห็นวิธีเพิ่มปุ่มในหน้าต่างและเพิ่มตรรกะเพื่อดำเนินการ
ตอนนี้เราจะเปลี่ยนรหัสเล็กน้อย ดังนั้นเราจะสร้างฟอร์มและเพิ่มปุ่มสองปุ่มเข้าไป หนึ่งสำหรับเปิด/ปิด LED และอีกอันเพื่อออกจากโปรแกรม
หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณได้อัปเดต Raspberry ของคุณก่อนที่จะเริ่ม และคุณได้ติดตั้งไลบรารี GPIO แล้ว เปิดหน้าต่างคำสั่งและป้อนสิ่งต่อไปนี้ การติดตั้งไลบรารี GPIO เปิดหน้าต่างคำสั่งและป้อนข้อมูลต่อไปนี้:
$ sudo apt-get update
$ sudo apt-get ติดตั้ง python-rpi.gpio python3-rpi.gpio
การสร้าง:
อะไหล่ที่ต้องการ:
1 x ราสเบอร์รี่ Pi 3
1 x LED
ตัวต้านทาน 1 x 330Ω
การสร้างวงจร:
ติดตามรูปภาพด้านบน
ให้ความสนใจกับการวางแนว LED และพินที่เชื่อมต่อ (GPIO23)
ขั้นตอนที่ 7: การเพิ่มตัวควบคุมเซอร์โวมอเตอร์
เราจะย้ายไปยังอย่างอื่นที่ไม่ใช่ปุ่มที่เราสามารถใช้อินพุตต่างๆ เพื่อควบคุมเอาต์พุต PWM (Pulse Width Modulation) จาก Raspberry Pi
เซอร์โวมอเตอร์เป็นทางเลือกที่ดีที่จะแปลงสัญญาณ PWM เป็นมุม
การสร้าง:
อะไหล่ที่ต้องการ:
1 x ราสเบอร์รี่ Pi 3
1 x LED
ตัวต้านทาน 1 x 330Ω
1 x เซอร์โวมอเตอร์
การสร้างวงจร:
ทำตามไดอะแกรมที่แสดงด้านบน (LED เชื่อมต่อกับ GPIO 23, Servo Motor เชื่อมต่อกับ GPIO 18)
ตรวจสอบวิดีโอหากคุณติดขัด
ขั้นตอนที่ 8: สรุป
ที่นั่นคุณมีมัน! ออกไปและพิชิตแนวคิด UI ที่น่าทึ่ง!
หากคุณมีคำถามใด ๆ แน่นอนคุณสามารถแสดงความคิดเห็น
ดูผลงานเพิ่มเติมได้ที่ช่อง
myYouTube
myTwitter
myLinkedin
ขอบคุณที่อ่านคำแนะนำนี้ ^^ และมีวันที่ดี แล้วเจอกัน. อาเหม็ด นูอิรา.