สารบัญ:

หอดูดาวในร่มที่เรียบง่าย: 9 ขั้นตอน (พร้อมรูปภาพ)
หอดูดาวในร่มที่เรียบง่าย: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: หอดูดาวในร่มที่เรียบง่าย: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: หอดูดาวในร่มที่เรียบง่าย: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: บั้งไฟบ้านพี่เมืองน้อง #บุญบั้งไฟ สปป.ลาว 2024, กรกฎาคม
Anonim
หอดูดาวในร่มที่เรียบง่าย
หอดูดาวในร่มที่เรียบง่าย

โครงงานนี้จะแสดงให้คุณเห็นถึงวิธีการสร้างหอดูดาวอย่างง่ายด้วยเซ็นเซอร์ที่มีอยู่และได้มาซึ่งง่ายบางตัว อันที่จริง ฉันสร้างสิ่งนี้ให้กับนักเรียนคนหนึ่งของฉัน นักเรียนอยากทราบว่าแสงแดดมีผลต่ออุณหภูมิและความชื้นในห้องอย่างไร ปริมาณทางกายภาพที่น่าสนใจในโครงการนี้คือ (1) ความเข้มของแสง (2) ความชื้น (3) อุณหภูมิและ (4) ความกดอากาศ ด้วยข้อมูลเหล่านี้ คุณจะสามารถสร้างระบบหรืออุปกรณ์อื่นๆ เพื่อควบคุมเครื่องปรับอากาศ เครื่องเพิ่มความชื้นในอากาศ หรือเครื่องทำความร้อนเพื่อสร้างสภาพแวดล้อมในห้องที่สะดวกสบาย

ขั้นตอนที่ 1: การเตรียมเซ็นเซอร์

การเตรียมเซ็นเซอร์
การเตรียมเซ็นเซอร์

คุณสามารถสร้างวงจรด้วยเซ็นเซอร์ต่อไปนี้ หรือเพียงซื้อแผงโมดูลของเซ็นเซอร์หรือแผงโมดูลเหล่านั้น

1. Ambient Light Sensor TEMT6000 (เอกสารข้อมูล PDF)

2. ความดันและอุณหภูมิ BMP085 หรือ BMP180 (*เป็นสินค้าเก่า อาจต้องหาทางเลือกอื่น) (เอกสารการเรียนรู้จากอดาฟรุต)

3. Temperature and Humidity Sensor DHT11 (เอกสารการเรียนรู้จากอดาฟรุต)

4. เซ็นเซอร์วัดแสงยูวี GUVA-S12SD (เอกสารข้อมูล PDF)

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

ขั้นตอนที่ 2: การเตรียมตัวประมวลผลหลัก

การเตรียมตัวประมวลผลหลัก
การเตรียมตัวประมวลผลหลัก

ฉันเลือกบอร์ด Arduino Uno เพื่อทดสอบระบบและการเข้ารหัส อย่างไรก็ตาม ฉันพบว่า atmega328P มีหน่วยความจำไม่เพียงพอที่จะจัดเก็บและเรียกใช้โค้ด หากมีการเพิ่มเซ็นเซอร์เพิ่มเติม ดังนั้น ผมขอแนะนำให้คุณใช้บอร์ด atmega2560 Arduino เมื่อคุณต้องการเซนเซอร์มากกว่า 4 ตัว

ไมโครคอนโทรลเลอร์ (MCU):

· บอร์ด Atmega328P สำหรับ Arduino

· หรือบอร์ด Atmega2560 สำหรับ Arduino

ขั้นตอนที่ 3: การเตรียมระบบ

การเตรียมระบบ
การเตรียมระบบ
การเตรียมระบบ
การเตรียมระบบ

ฉันต้องการวัดลักษณะทางกายภาพบางอย่างที่กลางแจ้งและในร่ม ในที่สุด ฉันเชื่อมต่อเซ็นเซอร์ต่อไปนี้กับบอร์ด Atmega2560

สภาพแวดล้อมในร่ม:

1. แรงดันและอุณหภูมิ BMP180 x 1 ชิ้น

2. เซนเซอร์วัดอุณหภูมิและความชื้น DHT11 x 1 ชิ้น

สภาพแวดล้อมกลางแจ้ง:

1. Ambient Light Sensor TEMT6000 x 1 ชิ้น

2. แรงดันและอุณหภูมิ BMP085 x 1 ชิ้น

3. อุณหภูมิและความชื้นเซนเซอร์ DHT11 x 1 ชิ้น

4. เซ็นเซอร์วัดแสงยูวี GUVA-S12SD x 1 ชิ้น

คุณอาจพบว่าฉันใช้เซ็นเซอร์ต่างๆ ในการวัดความดัน เพียงเพราะฉันไม่มีบอร์ดโมดูล BMP180 เมื่อฉันสร้างวงจร ฉันแนะนำว่าคุณควรใช้เซ็นเซอร์ตัวเดียวกัน หากคุณต้องการมีการวัดที่แม่นยำและการเปรียบเทียบที่ยุติธรรม

ขั้นตอนที่ 4: การเตรียมการบันทึกข้อมูล

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

·การ์ด SD

· แบตเตอรี่แบบเหรียญ CR1220

· โมดูลบันทึกข้อมูลสำหรับ Arduino (เอกสารการเรียนรู้จาก Adafruit)

ขั้นตอนที่ 5: การเตรียมเครื่องมือ

ต่อไปนี้เป็นเครื่องมือหรืออุปกรณ์บางอย่างที่จำเป็นสำหรับการสร้างวงจร

  • เครื่องมือห่อ 30AWG
  • หัวแร้ง
  • ลวดบัดกรี (ไม่มีตะกั่ว)
  • เขียงหั่นขนม
  • ส่วนหัว 2.54 มม.
  • สายจัมเปอร์
  • ลวดพันสายไฟ (30AWG)
  • กาวร้อน
  • การพิมพ์ 3 มิติ (หากคุณต้องการเคสสำหรับอุปกรณ์ของคุณ)
  • Arduino IDE (เราต้องการสิ่งนี้เพื่อตั้งโปรแกรมบอร์ดไมโครคอนโทรลเลอร์)

ขั้นตอนที่ 6: รีเซ็ต DS1307 Real Time Clock (RTC) บน Data Logging Module

รีเซ็ต DS1307 Real Time Clock (RTC) บน Data Logging Module
รีเซ็ต DS1307 Real Time Clock (RTC) บน Data Logging Module
รีเซ็ต DS1307 Real Time Clock (RTC) บน Data Logging Module
รีเซ็ต DS1307 Real Time Clock (RTC) บน Data Logging Module

ฉันต้องการใช้ข้อมูลสำหรับการทดลองทางวิทยาศาสตร์ ดังนั้น เวลาในการวัดที่ถูกต้องจึงเป็นสิ่งสำคัญสำหรับการวิเคราะห์ข้อมูล การใช้ฟังก์ชัน delay() ในการเขียนโปรแกรมจะทำให้เกิดข้อผิดพลาดในการวัดในเวลาที่เปลี่ยนไป ในทางตรงกันข้าม ฉันไม่รู้วิธีการวัดแบบเรียลไทม์ที่แม่นยำบนแพลตฟอร์ม Arduino เท่านั้น เพื่อหลีกเลี่ยงข้อผิดพลาดของเวลาในการสุ่มตัวอย่างหรือลดข้อผิดพลาดในการวัดให้เหลือน้อยที่สุด ฉันต้องการเก็บตัวอย่างการวัดทั้งหมดพร้อมบันทึกเวลา โชคดีที่โมดูลการบันทึกข้อมูลมีนาฬิกาตามเวลาจริง (RTC) เราสามารถใช้เพื่อส่งออกเวลาสำหรับการสุ่มตัวอย่างข้อมูล

หากต้องการใช้ RTC ฉันทำตามคำแนะนำ (ลิงก์) เพื่อรีเซ็ต RTC ฉันแนะนำให้ทำเช่นนี้กับบอร์ด Arduino Uno ก่อน เนื่องจากต้องปรับเปลี่ยนวงจรเมื่อใช้บอร์ด Atmega2560 (การเชื่อมต่อ I2C ต่างกัน) หลังจากที่คุณตั้งค่า RTC แล้ว คุณไม่ควรถอดแบตเตอรี่ cr1220 โปรดตรวจสอบสภาพของแบตเตอรี่ก่อนทำการบันทึกข้อมูล

ขั้นตอนที่ 7: การเชื่อมต่อ

การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ

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

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

ตาราง. โมดูลเซ็นเซอร์และแรงดันใช้งาน

ขั้นตอนที่ 8: การเขียนโปรแกรม MCU

การเขียนโปรแกรม MCU
การเขียนโปรแกรม MCU

โชคดีที่ฉันสามารถหาตัวอย่างการใช้งานสำหรับเซ็นเซอร์ทั้งหมดได้ หากคุณเพิ่งเริ่มใช้งาน คุณสามารถดาวน์โหลดบนอินเทอร์เน็ตหรือติดตั้งโดยใช้ตัวจัดการไลบรารีใน Arduino IDE

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

(คุณสามารถดาวน์โหลดซอร์สโค้ดได้ในไฟล์แนบ)

ขั้นตอนที่ 9: ทดสอบและใช้งาน

ทดสอบแล้วใช้งานได้เลย!
ทดสอบแล้วใช้งานได้เลย!
ทดสอบแล้วใช้งานได้เลย!
ทดสอบแล้วใช้งานได้เลย!
ทดสอบแล้วใช้งานได้เลย!
ทดสอบแล้วใช้งานได้เลย!

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

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

ขอบคุณสำหรับการอ่านนี้!

แนะนำ: