สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- ขั้นตอนที่ 2: เชื่อมต่อโมดูลกล้อง
- ขั้นตอนที่ 3: การตั้งค่ากล้อง
- ขั้นตอนที่ 4: การทดสอบโมดูลกล้อง
- ขั้นตอนที่ 5: สร้างวงจรด้วยรหัส
วีดีโอ: บูธภาพถ่าย Raspberry Pi: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
วัตถุประสงค์:
- เรียนรู้วิธีเขียนโค้ดและติดตั้ง Pi Camera
- การใช้คำสั่ง define และ if ในการเขียนโค้ด
- เรียนรู้ที่จะใช้เทคโนโลยีใหม่ๆ เช่น RGB LEDs
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- 1 ราสเบอร์รี่ Pi 3
- เขียงหั่นขนม
- จัมเปอร์
- 1 ตัวต้านทานแบบพึ่งพาแสง
- 1 ตัวเก็บประจุ
- 1 ปุ่มกด
- 6 ตัวต้านทาน 220 โอห์ม
- ไฟ LED RGB 2 ดวง
- กล้อง Raspberry Pi 1 ตัว
ขั้นตอนที่ 2: เชื่อมต่อโมดูลกล้อง
ก่อนอื่นเมื่อปิด Pi คุณจะต้องเชื่อมต่อโมดูลกล้องกับพอร์ตกล้องของ Raspberry Pi จากนั้นเปิด Pi และตรวจสอบว่าซอฟต์แวร์เปิดใช้งานอยู่
- ค้นหาพอร์ตกล้องซึ่งอยู่ระหว่างพอร์ต HDMI และ 3.5 มม
- ดึงคลิปกล้องขึ้นที่ขอบพลาสติกจนคลิปเป็นแนวทแยง
- ตอนนี้เสียบสายกล้องโดยให้สีฟ้าหันไปทางพอร์ต 3.5 มม.
ขั้นตอนที่ 3: การตั้งค่ากล้อง
การเปิดเครื่องมือ Raspberry Pi Configuration จากเมนูหลักและปิดการใช้งานและเปิดใช้งานอินเทอร์เฟซทั้งหมดด้านบน
จากเมนูหลักให้เปิด Terminal และพิมพ์รหัสต่อไปนี้:
Sudo Raspi-config
จากที่นี่ ให้ใช้ปุ่มลูกศรเพื่อดำเนินการผ่านระบบ และคลิกที่ตัวเลือกการเชื่อมต่ออุปกรณ์ต่อพ่วง และจากการคลิกที่กล้อง P1 และเปิดใช้งานกล้อง จากนั้นเลือกเสร็จสิ้น กลับไปที่ประเภทเทอร์มินัลในบรรทัดของรหัสต่อไปนี้:
pip ติดตั้ง picamera
หรือ Sudo pip ติดตั้ง Picamera
ขั้นตอนที่ 4: การทดสอบโมดูลกล้อง
จากที่นี่ เราสามารถทดสอบว่ากล้องใช้งานได้หรือไม่ เนื่องจากเราเปิดใช้งานซอฟต์แวร์และฮาร์ดแวร์ทั้งหมดแล้ว
เปิด Python 3 จากเมนู
จากนั้นเปิดไฟล์ใหม่จากเชลล์และบันทึกเป็น cameratest.py
ป้อนรหัสต่อไปนี้:
จาก picamera นำเข้า PiCamera # โมดูลนำเข้าที่สร้างจากคำสั่ง pip ติดตั้ง pi กล้องจากเวลานำเข้า sleep #imported sleep เพื่อให้แน่ใจว่ากล้องของเราอยู่ในกล้อง = PiCamera() # ตั้งค่าสำหรับกล้อง
camera.start_preview()#start up the camera และแสดงให้คุณเห็นว่าเอาต์พุตของกล้องเป็นอย่างไร
นอนหลับ(10)#เปิดการแสดงตัวอย่างเป็นเวลา 10 วินาที
camera.stop_preview()#ในที่สุดก็ออกจากการแสดงตัวอย่าง
เรียกใช้รหัสโดย F5
หากคุณได้รับข้อผิดพลาดนี้เมื่อเรียกใช้รหัส:
(mmal: mmal_vc_component_create: ล้มเหลวในการสร้างส่วนประกอบ 'vc.ril.camera' (1:ENOMEM)
mmal: mmal_component_create_core: ไม่สามารถสร้างคอมโพเนนต์ 'vc.ril.camera' (1) Traceback (การโทรล่าสุดครั้งล่าสุด): ไฟล์ "" บรรทัดที่ 1 ในไฟล์ "/usr/lib/python2.7/dist-packages/picamera /camera.py" บรรทัดที่ 257 ใน _init_ self._init_camera() ไฟล์ "/usr/lib/python2.7/dist-packages/picamera/camera.py" บรรทัดที่ 288 ใน _init_camera prefix="Failed to create camera คอมโพเนนต์") ไฟล์ "/usr/lib/python2.7/dist-packages/picamera/exc.py" บรรทัดที่ 112 ใน mmal_check ยก PiCameraMMALError (สถานะ คำนำหน้า) picamera.exc. PiCameraMMALError: ล้มเหลวในการสร้างส่วนประกอบกล้อง: ออก แห่งความทรงจำ)
โปรดไปที่การกำหนดค่า Raspberry Pi ไปที่คอลัมน์ประสิทธิภาพและเพิ่มหน่วยความจำ GPU ของคุณจนกว่าข้อผิดพลาดจะหายไป (ต้องรีบูต)
ตอนนี้เพื่อสร้างรูปภาพที่จะบันทึกบนเดสก์ท็อป เราจะใช้รหัสต่อไปนี้:
จาก picamera นำเข้า PiCamera #นำเข้าโมดูลที่สร้างขึ้นจากคำสั่ง pip ติดตั้ง pi กล้องจากเวลานำเข้าการนอนหลับ #นำเข้าโหมดสลีป เพื่อให้แน่ใจว่ากล้องของเรายังคงอยู่
กล้อง = PiCamera() #ตั้งค่าสำหรับกล้อง
camera.start_preview() #เริ่มการแสดงตัวอย่างสลีป(5)#เปิดการแสดงตัวอย่างไว้เป็นเวลา 5 วินาที
camera.capture('/home/pi/Desktop/image.jpg')# จาก
camera.stop_preview()#หยุดการแสดงตัวอย่าง
ขั้นตอนที่ 5: สร้างวงจรด้วยรหัส
ดังที่เห็นด้านบนจากแผนภาพวงจร เราจำเป็นต้องตั้งค่าปุ่ม LDR และสุดท้าย RGB LED สองดวง ก่อนอื่นเราจะตั้งค่าปุ่มที่ด้านล่างซ้ายของเขียงหั่นขนม ระหว่างการตั้งค่าปุ่มของคุณ เราจะใช้เส้นทางรถไฟทั่วไป ซึ่งหมายความว่าเราจะเสียบปลั๊ก 3.3V ของเราที่ขั้วบวกและขั้วลบ หลังจากคุณตั้งค่าวงจรสำหรับปุ่มเท่านั้นเสร็จแล้ว
เราจะทดสอบวงจรของเราเพื่อดูว่าเราทำได้หรือไม่ ถ้ากดปุ่มเราจะเปิดไฟ LED โดยใช้รหัสต่อไปนี้:
#นำเข้าโมดูลจากปุ่มนำเข้า gpiozero จาก picamera นำเข้า PiCamera จากเวลานำเข้าโหมดสลีป
#ติดตั้ง
กล้อง = ปุ่ม PiCamera () = ปุ่ม (22)
#ฟังก์ชั่นถ่ายภาพ ผมตัดสินใจใส่ลงในฟังก์ชั่นdefine เพราะช่วยให้เราล้างโค้ดหลัก
def photocap ():
Camera.start_preview()
sleep(5) Camera.capture('/home/pi/Desktop/image.jpg') พิมพ์ ("ถ่ายรูปแล้ว") Camera.stop_preview()
#รหัสหลัก:
ในขณะที่ True: ถ้า Button.is_pressed: พิมพ์ ("ปุ่มถูกกด") photocap()
#เหตุใดจึงใช้งานได้: โค้ดหลักใช้งานได้เหมือนกับที่เราทำคือใช้คำสั่ง if button.is_pressed สักครู่ ข้อความจริงจึงอัปเดตอย่างต่อเนื่องเมื่อกดปุ่มเพื่อถ่ายภาพ
ตอนนี้เรากำลังจะติดตั้งไฟ LED RGB 2 ดวงขึ้นไปที่ด้านบนของวงจรแล้วแยกไว้ที่กึ่งกลางของเขียงหั่นขนมและทำให้สมมาตร หากคุณไม่มีตัวต้านทาน 220 โอห์มสำหรับโปรเจ็กต์นี้ คุณสามารถตั้งค่าแบบขนานได้ ขึ้นอยู่กับความต้านทานของคุณสำหรับตัวต้านทานที่คุณมี พินที่สองของ LED RGB 4 พิน (พินที่ยาวที่สุดควรเชื่อมต่อกับกราวด์ผ่านทางรถไฟ พินอื่น ๆ ควรเชื่อมต่อกับพิน GPIO ของตัวเองทั้งหมด (พินแรก = แดง พินที่สอง = กราวด์ พินที่สาม = สีเขียว, พินที่สี่ = สีน้ำเงิน)
เราจะทดสอบไฟ LED RGB หนึ่งในวงจรปุ่มของเราด้วยรหัสด้านล่าง:
#นำเข้าโมดูลจาก gpiozero ปุ่มนำเข้าจาก picamera นำเข้า PiCamera
จาก gpiozero นำเข้า RGBLED
จากเวลานำเข้าการนอนหลับ
#ติดตั้ง
กล้อง = ปุ่ม PiCamera () = ปุ่ม (22)
TimedLED=RGBLED(แดง=21,เขียว=20,น้ำเงิน=16)
#ฟังก์ชั่นถ่ายภาพด้วย RGB LED เลยตัดสินใจใส่ลงในฟังก์ชั่นdefine เพราะช่วยให้เราล้างโค้ดหลัก
def photocap(): Camera.start_preview() สลีป(4)
หมดเวลา.สี(1, 0, 0)
นอน(2)
หมดเวลา.สี(0, 1, 0)
นอน(1)
Camera.capture('/home/pi/Desktop/image.jpg') พิมพ์ ("ถ่ายภาพแล้ว") Camera.stop_preview()
#รหัสหลัก:
ในขณะที่จริง:
ถ้า Button.is_pressed:
พิมพ์ ("ปุ่มถูกกด") photocap()
#เหตุใดจึงใช้ได้ผล: สาเหตุที่โค้ดนี้ทำงานก็เพราะว่าตอนนี้เราให้ RGBLED ทำงานเป็นตัวจับเวลาเมื่อจะถ่ายภาพ
ตอนนี้ตั้งค่าตัวต้านทาน Light Dependent ที่ด้านล่างขวาของเขียงหั่นขนมโดยใช้ไดอะแกรมไปจนสุดที่ด้านบนและทางรถไฟทั่วไปที่กล่าวถึงก่อนหน้านี้ โปรดจำไว้ว่าขายาวทั้งสองข้างของ LDR และตัวเก็บประจุต้องเชื่อมต่อกับพิน GPIO
หลังจากที่เราเชื่อมต่อ LDR เราจะใช้รหัสต่อไปนี้:
#โมดูลนำเข้า
จากปุ่มนำเข้า gpiozero
จาก picamera นำเข้า PiCamera จาก gpiozero นำเข้า RGBLED
จาก gpiozero นำเข้า LightSensor
จากเวลานำเข้าการนอนหลับ
#ติดตั้ง
กล้อง = ปุ่ม PiCamera () = ปุ่ม (22) TimedLED = RGBLED (สีแดง = 21, สีเขียว = 20, สีน้ำเงิน = 16)
LightSensor=LightSensor(23)
#ฟังก์ชั่นถ่ายภาพด้วย RGB LED เลยตัดสินใจใส่ลงในฟังก์ชั่นdefine เพราะช่วยให้เราล้างโค้ดหลัก
def photocap(): Camera.start_preview() sleep(4) timedled.color(1, 0, 0) sleep(2) timedled.color(0, 1, 0) sleep(1) Camera.capture('/home/) กล้องถ่ายภาพนิ่ง pi/Desktop/image.jpg') พิมพ์ ("ถ่ายภาพแล้ว") Camera.stop_preview()
#รหัสหลัก:
ในขณะที่จริง:
ถ้า Button.is_pressed: พิมพ์ ("ปุ่มถูกกด") photocap()
ถ้า Button.is_pressed และ Lightsensor.when_dark:
พิมพ์ ("ปุ่มถูกกด")
print("มันมืด")
โฟโต้แคป()
#เหตุใดจึงใช้งานได้: วิธีที่ฉันได้เพิ่มเซ็นเซอร์วัดแสงลงในโค้ดของฉันคือการใช้คำสั่ง if อื่นที่มีฟังก์ชันนำเข้าของเซ็นเซอร์วัดแสง เมื่อความมืดทำให้เราพร้อมสำหรับขั้นตอนต่อไป
ตอนนี้ขั้นตอนสุดท้ายในโปรเจ็กต์นี้คือการเปิดใช้งาน RGBLED อื่นที่สมมาตรกับอีกอันหนึ่งเพื่อทำงานเป็นแสงแฟลช
รหัสสุดท้าย:
จากปุ่มนำเข้า gpiozero
จาก picamera นำเข้า PiCamera
จาก gpiozero นำเข้า RGBLED
จาก gpiozero นำเข้า LightSensor
จากเวลานำเข้าการนอนหลับ
#ติดตั้ง
กล้อง = PiCamera()
ปุ่ม = ปุ่ม(22)
TimedLED=RGBLED(แดง=21,เขียว=20,น้ำเงิน=16)
FlashLED=RGBLED(แดง=19,เขียว=13,น้ำเงิน=6)
LightSensor=LightSensor(23)
#ฟังก์ชั่นการถ่ายภาพด้วย RGB LED ฉันได้ตัดสินใจที่จะใส่มันลงในฟังก์ชั่นกำหนดเพราะมันช่วยให้เราล้างรหัสหลัก def photocap(): Camera.start_preview() sleep(4) timedled.color(1, 0, 0) sleep(2) timedled.color(0, 1, 0) sleep(1) Camera.capture('/home/pi/Desktop/image.jpg') พิมพ์ ("ถ่ายภาพแล้ว") Camera.stop_preview() # รหัสหลัก: ในขณะที่ True: ถ้า Button.is_pressed:
พิมพ์ ("ปุ่มถูกกด")
โฟโต้แคป()
ถ้า Button.is_pressed และ Lightsensor.when_dark:
พิมพ์ ("ปุ่มถูกกด") พิมพ์ ("มันมืด")
FlashLED.color(1, 1, 1)
โฟโต้แคป()
#เหตุใดจึงใช้งานได้: วิธีที่ฉันได้เพิ่มไฟฉายของฉันคือการใช้ RGB ที่นำไปสู่เอาต์พุตสีขาวซึ่งก็คือ 1, 1, 1 และจะทำได้ก็ต่อเมื่อคำสั่ง if เป็นจริงเท่านั้น
แนะนำ:
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
LED กะพริบด้วย Raspberry Pi - วิธีใช้พิน GPIO บน Raspberry Pi: 4 ขั้นตอน
LED กะพริบด้วย Raspberry Pi | วิธีใช้ GPIO Pins บน Raspberry Pi: สวัสดีทุกคนในคำแนะนำนี้เราจะเรียนรู้วิธีใช้ GPIO ของ Raspberry pi หากคุณเคยใช้ Arduino คุณอาจรู้ว่าเราสามารถเชื่อมต่อสวิตช์ LED ฯลฯ เข้ากับหมุดของมันและทำให้มันทำงานได้ ทำให้ไฟ LED กะพริบหรือรับอินพุตจากสวิตช์ดังนั้น
อินเทอร์เฟซ ADXL335 Sensor บน Raspberry Pi 4B ใน 4 ขั้นตอน: 4 ขั้นตอน
อินเทอร์เฟซ ADXL335 Sensor บน Raspberry Pi 4B ใน 4 ขั้นตอน: ในคำแนะนำนี้ เราจะเชื่อมต่อเซ็นเซอร์ ADXL335 (accelerometer) บน Raspberry Pi 4 กับ Shunya O/S
การติดตั้ง Raspbian Buster บน Raspberry Pi 3 - เริ่มต้นใช้งาน Raspbian Buster ด้วย Raspberry Pi 3b / 3b+: 4 ขั้นตอน
การติดตั้ง Raspbian Buster บน Raspberry Pi 3 | เริ่มต้นใช้งาน Raspbian Buster ด้วย Raspberry Pi 3b / 3b+: สวัสดี องค์กร Raspberry pi ที่เพิ่งเปิดตัว Raspbian OS ใหม่ที่เรียกว่า Raspbian Buster เป็นเวอร์ชันใหม่ของ Raspbian สำหรับ Raspberry pi ดังนั้นวันนี้ในคำแนะนำนี้ เราจะได้เรียนรู้วิธีติดตั้ง Raspbian Buster OS บน Raspberry pi 3 ของคุณ
การติดตั้ง Raspbian ใน Raspberry Pi 3 B โดยไม่ต้องใช้ HDMI - เริ่มต้นใช้งาน Raspberry Pi 3B - การตั้งค่า Raspberry Pi ของคุณ 3: 6 ขั้นตอน
การติดตั้ง Raspbian ใน Raspberry Pi 3 B โดยไม่ต้องใช้ HDMI | เริ่มต้นใช้งาน Raspberry Pi 3B | การตั้งค่า Raspberry Pi ของคุณ 3: อย่างที่พวกคุณบางคนรู้ว่าคอมพิวเตอร์ Raspberry Pi นั้นยอดเยี่ยมมากและคุณสามารถรับคอมพิวเตอร์ทั้งหมดได้บนบอร์ดเล็ก ๆ ตัวเดียว Raspberry Pi 3 Model B มี ARM Cortex A53 แบบ 64 บิตแบบ quad-core โอเวอร์คล็อกที่ 1.2 GHz ทำให้ Pi 3 ประมาณ 50