สารบัญ:

วงจร Raspberry Pi GPIO: การใช้เซ็นเซอร์อะนาล็อก LDR โดยไม่มี ADC (ตัวแปลงอนาล็อกเป็นดิจิตอล): 4 ขั้นตอน
วงจร Raspberry Pi GPIO: การใช้เซ็นเซอร์อะนาล็อก LDR โดยไม่มี ADC (ตัวแปลงอนาล็อกเป็นดิจิตอล): 4 ขั้นตอน

วีดีโอ: วงจร Raspberry Pi GPIO: การใช้เซ็นเซอร์อะนาล็อก LDR โดยไม่มี ADC (ตัวแปลงอนาล็อกเป็นดิจิตอล): 4 ขั้นตอน

วีดีโอ: วงจร Raspberry Pi GPIO: การใช้เซ็นเซอร์อะนาล็อก LDR โดยไม่มี ADC (ตัวแปลงอนาล็อกเป็นดิจิตอล): 4 ขั้นตอน
วีดีโอ: Raspberry Pi EP.23 Analog to Digital Converter by MCP-3008 2024, พฤศจิกายน
Anonim
วงจร Raspberry Pi GPIO: การใช้เซ็นเซอร์อะนาล็อก LDR โดยไม่มี ADC (ตัวแปลงอนาล็อกเป็นดิจิตอล)
วงจร Raspberry Pi GPIO: การใช้เซ็นเซอร์อะนาล็อก LDR โดยไม่มี ADC (ตัวแปลงอนาล็อกเป็นดิจิตอล)

ในคำแนะนำก่อนหน้านี้ เราได้แสดงให้คุณเห็นว่าคุณสามารถเชื่อมโยงพิน GPIO ของ Raspberry Pi กับไฟ LED และสวิตช์ได้อย่างไร และวิธีที่พิน GPIO สามารถสูงหรือต่ำได้ แต่ถ้าคุณต้องการใช้ Raspberry Pi กับเซ็นเซอร์อะนาล็อกล่ะ

หากเราต้องการใช้เซ็นเซอร์อะนาล็อกกับ Raspberry Pi เราจะต้องสามารถวัดความต้านทานของเซ็นเซอร์ได้ พิน GPIO ของ Raspberry Pi ต่างจาก Arduino ตรงที่ไม่สามารถวัดความต้านทานได้และสามารถรับรู้ได้ก็ต่อเมื่อแรงดันไฟฟ้าที่จ่ายไปนั้นสูงกว่าแรงดันไฟฟ้าที่แน่นอน (ประมาณ 2 โวลต์) เพื่อแก้ปัญหานี้ คุณสามารถใช้ Analogue to Digital Converter (ADC) หรือคุณสามารถใช้ตัวเก็บประจุที่มีราคาถูกแทน

คำแนะนำนี้จะแสดงให้คุณเห็นว่าสามารถทำได้อย่างไร

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

- RaspberryPi ที่มี Raspbian ติดตั้งไว้แล้ว คุณจะต้องสามารถเข้าถึง Pi ได้โดยใช้จอภาพ เมาส์ และคีย์บอร์ด หรือผ่านทางเดสก์ท็อประยะไกล คุณสามารถใช้ Raspberry Pi ได้ทุกรุ่น หากคุณมีรุ่น Pi Zero คุณอาจต้องการบัดกรีหมุดส่วนหัวบางตัวเข้ากับพอร์ต GPIO

- ตัวต้านทานแบบพึ่งพาแสง (หรือที่เรียกว่า LDR หรือ Photoresistor)

- ตัวเก็บประจุแบบเซรามิก 1 ยูเอฟ

- เขียงหั่นขนมต้นแบบ Solderless

- สายจัมเปอร์ชายกับหญิง

ขั้นตอนที่ 2: สร้างวงจรของคุณ

สร้างวงจรของคุณ
สร้างวงจรของคุณ
สร้างวงจรของคุณ
สร้างวงจรของคุณ

สร้างวงจรด้านบนบนเขียงหั่นขนมของคุณเพื่อให้แน่ใจว่าไม่มีส่วนประกอบใดที่นำไปสู่สัมผัส ตัวต้านทานแบบพึ่งพาแสงและตัวเก็บประจุแบบเซรามิกไม่มีขั้ว ซึ่งหมายความว่าสามารถเชื่อมต่อกระแสลบและกระแสบวกกับตะกั่วทั้งสองได้ ดังนั้นคุณจึงไม่ต้องกังวลว่าจะเชื่อมต่อส่วนประกอบเหล่านี้อย่างไรในวงจรของคุณ

เมื่อคุณตรวจสอบวงจรแล้ว ให้เชื่อมต่อสายจัมเปอร์กับพิน GPIO ของ Raspberry Pi โดยทำตามแผนภาพด้านบน

ขั้นตอนที่ 3: สร้างสคริปต์ Python เพื่ออ่านตัวต้านทานแบบพึ่งพาแสง

สร้างสคริปต์ Python เพื่ออ่านตัวต้านทานแบบพึ่งพาแสง
สร้างสคริปต์ Python เพื่ออ่านตัวต้านทานแบบพึ่งพาแสง

ตอนนี้เราจะเขียนสคริปต์สั้นๆ ที่จะอ่านและแสดงความต้านทานของ LDR โดยใช้ Python

บน Raspberry Pi ของคุณ ให้เปิด IDLE (เมนู > การเขียนโปรแกรม > Python 2 (IDLE)) เปิดโครงการใหม่ไปที่ ไฟล์ > ไฟล์ใหม่ จากนั้นพิมพ์ (หรือคัดลอกและวาง) รหัสต่อไปนี้:

นำเข้า RPi. GPIO เป็น GPIOimport timempin=17 tpin=27 GPIO.setmode(GPIO. BCM) cap=0.000001 adj=2.13062985i=0 t=0 while True: GPIO.setup(mpin, GPIO. OUT) GPIO.setup(tpin, GPIO. OUT) GPIO.output(mpin, False) GPIO.output(tpin, False) time.sleep(0.2) GPIO.setup(mpin, GPIO. IN) time.sleep(0.2) GPIO.output(tpin, True) starttime=time.time() endtime=time.time() while (GPIO.input(mpin) == GPIO. LOW): endtime=time.time() measureresistance=endtime-starttime res=(measureresistance/cap)* adj i=i+1 t=t+res ถ้า i==10: t=t/i พิมพ์ (t) i=0 t=0

บันทึกโครงการของคุณเป็น lightsensor.py (ไฟล์ > บันทึกเป็น) ในโฟลเดอร์เอกสารของคุณ

ตอนนี้เปิด Terminal (เมนู > อุปกรณ์เสริม > Terminal) แล้วพิมพ์คำสั่งต่อไปนี้:

python lightsensor.py

Raspberry Pi จะแสดงความต้านทานของโฟโตรีซีสเตอร์ซ้ำๆ หากคุณวางนิ้วบนโฟโตรีซีสเตอร์ ความต้านทานจะเพิ่มขึ้น หากคุณฉายแสงที่สว่างบนโฟโตรีซีสเตอร์ ความต้านทานจะลดลง คุณสามารถหยุดโปรแกรมนี้ไม่ให้ทำงานโดยกด CTRL+Z

ขั้นตอนที่ 4: มันทำงานอย่างไร

เมื่อตัวเก็บประจุค่อยๆ ชาร์จ แรงดันไฟฟ้าที่ผ่านวงจรและไปยังพิน GPIO จะเพิ่มขึ้น เมื่อตัวเก็บประจุถูกชาร์จไปยังจุดหนึ่ง แรงดันไฟฟ้าจะเพิ่มขึ้นเหนือ 2 โวลต์ และ Raspberry Pi จะรู้สึกว่า GPIO pin 13 นั้นสูง

หากความต้านทานของเซ็นเซอร์เพิ่มขึ้น ตัวเก็บประจุจะชาร์จช้าลงและวงจรจะใช้เวลามากขึ้นในการเข้าถึง 2 โวลต์

สคริปต์ด้านบนจะคำนวณตามเวลาที่พิน 13 เปลี่ยนเป็น High จากนั้นจึงใช้การวัดนี้เพื่อคำนวณความต้านทานของโฟโตรีซีสเตอร์

แนะนำ: