
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

เครื่องบันทึกข้อมูลอย่างง่ายนี้ใช้การวัดแสงเป็นประจำด้วย LDR แบบอะนาล็อก (Photoresistor) และจัดเก็บไว้ในไฟล์ข้อความบน Raspberry Pi ของคุณ เครื่องบันทึกข้อมูลนี้จะวัดและบันทึกระดับแสงทุกๆ 60 วินาที ทำให้คุณสามารถติดตามดูว่าความสว่างเปลี่ยนแปลงไปอย่างไรในช่วงระยะเวลาหนึ่ง
หากเราต้องการใช้เซ็นเซอร์อะนาล็อกกับ 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 เพื่ออ่านและบันทึกข้อมูลของคุณ

เปิด IDLE บน Raspberry Pi ของคุณ (เมนู > การเขียนโปรแกรม > Python 2 (IDLE)) และเปิดโครงการใหม่ (ไฟล์ > ไฟล์ใหม่) จากนั้นพิมพ์ดังต่อไปนี้:
นำเข้า RPi. GPIO เป็น GPIO
เวลานำเข้า นำเข้าวันที่เวลา loginterval=60 #log ช่วงเวลาในไม่กี่วินาที savefilename="lightlevels.txt" SensorPin=17 TriggerPin=27
GPIO.setmode(GPIO. BCM)
cap=0.000001 #1uf adj=2.130620985
def การวัดความต้านทาน (mpin, tpin):
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 () return endtime-starttime def writeline(txt, fn): f = open(fn, 'a') f.write(txt+'\n') f.close() i=0 t=0 while True: stime= time.time() สำหรับ a ในช่วง (1, 11): res=(measureresistance(SensorPin, TriggerPin)/cap)*adj i=i+1 t=t+res if a==10: t=t/i print(t) writeline(str(datetime.datetime.now())+", "+str(t), savefilename) i=0 t=0 while stime+loginterval>time.time(): #รอจนกว่าเวลาบันทึกจะมี ผ่าน time.sleep(0.0001)
บันทึกโครงการของคุณเป็น datalogger.py (ไฟล์ > บันทึกเป็น) ในโฟลเดอร์เอกสารของคุณ
ตอนนี้เปิด Terminal (เมนู > อุปกรณ์เสริม > Terminal) แล้วพิมพ์คำสั่งต่อไปนี้:
หลาม datalogger.py
สคริปต์จะสร้างไฟล์ข้อความชื่อ "lightlevels.txt" และอัปเดตทุกๆ 60 วินาที คุณสามารถเปลี่ยนชื่อไฟล์นี้ในบรรทัดที่ 6 คุณยังสามารถปรับความถี่ที่ datalogger อัปเดตโดยเปลี่ยนบรรทัดที่ 5
แนะนำ:
การสร้าง Arduino MIDI Controller: 9 ขั้นตอน (พร้อมรูปภาพ)

การสร้าง Arduino MIDI Controller: คำแนะนำนี้เผยแพร่ครั้งแรกในบล็อกของฉันเมื่อวันที่ 28 มิถุนายน 2020 ฉันสนุกกับการสร้างสิ่งต่าง ๆ ที่มีอุปกรณ์อิเล็กทรอนิกส์และฉันต้องการสร้างบางสิ่งโดยใช้ Arduino เสมอ หนึ่งในงานสร้างทั่วไปสำหรับผู้เริ่มต้นที่ฉันพบคือ ตัวควบคุม MIDI
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: 8 ขั้นตอน

วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: บางครั้งฉันพูดภาษาอังกฤษได้ดีมาก บางครั้งก็ไม่มี… สิ่งแรกเลย นี่เป็นการสอนครั้งแรกของฉันและภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน ดังนั้นโปรดอย่ากดดันฉันมากเกินไป นี่จะไม่เกี่ยวกับวิธีการสร้างเฟรมที่ง่าย มันเกี่ยวกับการติดตั้ง
การสร้าง Universal Remote ด้วย NodeMCU: 7 ขั้นตอน

การสร้าง Universal Remote ด้วย NodeMCU: ในโครงการนี้ เราจะสร้างรีโมทคอนโทรลสากลที่สามารถโคลนและส่งสัญญาณอินฟราเรดได้ เว็บอินเตอร์เฟสจะถูกใช้เพื่อควบคุมกระบวนการทั้งหมดนี้ NodeMCU ร่วมกับตัวรับแสงอินฟราเรดจะรับผิดชอบในการโคลน
การสร้าง Cubesat ด้วย Arduino และเซ็นเซอร์ก๊าซธรรมชาติ (MQ-2): 5 ขั้นตอน

การสร้าง Cubesat ด้วย Arduino และเซ็นเซอร์ก๊าซธรรมชาติ (MQ-2): เป้าหมายของเราคือการสร้าง cubesat ที่ประสบความสำเร็จซึ่งสามารถตรวจจับก๊าซในบรรยากาศได้
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: 9 ขั้นตอน

วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: ในรูปแรก เรามี Arduino และเรียกว่า "Arduino Uno"ในรูปที่สอง เรามี Arducam และเรียกว่า "Arducam OV2640 มินิ 2MP"พร้อมกับภาพที่สอง มีวัสดุที่คุณต้อง