สารบัญ:

วิธีบันทึกข้อมูลสถานีอากาศ - Liono Maker: 5 ขั้นตอน
วิธีบันทึกข้อมูลสถานีอากาศ - Liono Maker: 5 ขั้นตอน

วีดีโอ: วิธีบันทึกข้อมูลสถานีอากาศ - Liono Maker: 5 ขั้นตอน

วีดีโอ: วิธีบันทึกข้อมูลสถานีอากาศ - Liono Maker: 5 ขั้นตอน
วีดีโอ: CS50 2015 - Week 7, continued 2024, พฤศจิกายน
Anonim
วิธีบันทึกข้อมูลสถานีอากาศ | Liono Maker
วิธีบันทึกข้อมูลสถานีอากาศ | Liono Maker

บทนำ:

สวัสดี นี่คือ #LionoMaker นี่คือโอเพ่นซอร์สและช่อง YouTube อย่างเป็นทางการของฉัน

นี่คือลิงค์: Liono Maker / YOUTUBE CHANNEL

ในโครงการนี้ เราจะเรียนรู้วิธีสร้าง "การบันทึกข้อมูลสถานีตรวจอากาศ" นี่เป็นโครงการที่น่าสนใจมาก ในโครงการนี้ ฉันใช้ Micro SD Card, โมดูล DS3231, DHT 11, โมดูล GPS, LDR และ Arduino UNO ข้อมูลสถานีอากาศหมายความว่าจะตรวจจับความชื้น อุณหภูมิ แสง วันที่และเวลา ลองจิจูด และละติจูด

บันทึก:

1) ใน Fritzing Schematics ฉันใช้ pin6 & pin7 เพื่อสื่อสารโมดูล GPS และพิน 4 เพื่อสื่อสาร DHT11 2) ใน Proteus Schematics ฉันใช้ pin3 & pin 4 เพื่อสื่อสารโมดูล GPS และ pin6 เพื่อสื่อสาร DHT11 3) มิฉะนั้น การเชื่อมต่อทั้งสองถูกต้อง เพียงแค่เราต้องกำหนดพิน # ในการเข้ารหัส Arduino ตามแผนงาน

//*******************************************************

ขั้นตอนที่ 1:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

1_SD-การ์ด:-

การ์ด SD (Secure Digital) สามารถใช้สำหรับการจัดเก็บข้อมูลและการบันทึกข้อมูล ตัวอย่างรวมถึงการจัดเก็บข้อมูลบนกล้องดิจิตอลหรือโทรศัพท์มือถือและการบันทึกข้อมูลเพื่อบันทึกข้อมูลจากเซ็นเซอร์ การ์ด Micro SD สามารถเก็บข้อมูลได้ 2GB และควรจัดรูปแบบเป็นรูปแบบ FAT32 (File Allocation Table) การ์ด micro SD ทำงานที่ 3.3V ดังนั้นเฉพาะโมดูลการ์ด micro SD ที่มีชิปตัวเปลี่ยนระดับแรงดันไฟฟ้า 5V ถึง 3.3V และตัวควบคุมแรงดันไฟฟ้า 3.3V เท่านั้นที่สามารถเชื่อมต่อกับแหล่งจ่ายไฟ Arduino 5V ได้ โมดูล micro SD สื่อสารกับ Arduino โดยใช้ Serial Peripheral Interface (SPI) หมุดเชื่อมต่อ SPI บนโมดูล micro SD ประกอบด้วยหมุด MOSI, MISO, SCK และหมุด SS ที่แสดงถึงชิป (CS) ซึ่งเชื่อมต่อกับหมุด Arduino 11, 12, 13 และ 10 ตามลำดับ

SD-Card เชื่อมต่อกับ Arduino UNO:

GND ------GND

5volt -------- VCC

Pin12 -------- มิโซะ

Pin11 -------- MOSI

Pin13-------SCK

Pin10 -------- SCS

ข้อมูลจะถูกเขียนลงในไฟล์ในการ์ด SD เท่านั้นตามคำสั่ง file.close() ดังนั้นทุกคำสั่ง file.println(data) จะต้องตามด้วยคำสั่ง file.close() และนำหน้าด้วยคำสั่ง SD.open("filename", FILE_WRITE) ฟังก์ชัน SD.open() มีการตั้งค่าเริ่มต้นเป็น FILE_READ ดังนั้นตัวเลือก FILE_WRITE จึงจำเป็นต้องเขียนลงในไฟล์ ลำดับของคำสั่งที่จำเป็นในการเขียนลงในการ์ด SD ทุกครั้งคือ SD.open("filename", FILE_WRITE); file.println (ข้อมูล); ไฟล์.close();

2)แอลดีอาร์:-

ตัวต้านทานภาพถ่าย (ตัวย่อ LDR สำหรับความต้านทานการลดแสง หรือตัวต้านทานที่ขึ้นกับแสง หรือเซลล์นำแสง) เป็นส่วนประกอบแบบพาสซีฟที่ลดความต้านทานตามการรับแสง (แสง) บนพื้นผิวที่ละเอียดอ่อนของส่วนประกอบ ความต้านทานของตัวต้านทานภาพถ่ายจะลดลงเมื่อความเข้มของแสงตกกระทบเพิ่มขึ้น กล่าวอีกนัยหนึ่ง มันแสดง photoconductivity

LDR การเชื่อมต่อกับ Arduino UNO:

เทอร์มินัลหนึ่งเชื่อมต่อกับ 5 โวลต์และเทอร์มินัลที่สองเชื่อมต่อกับตัวต้านทาน 1k ปลายที่สองของตัวต้านทาน 1k ต่อสายดิน LDR เป็นตัวต้านทานในตัวมันเอง และการกำหนดค่าประเภทนี้ใช้สำหรับวัด & แรงดัน นี่คือเทคนิคการแบ่งแรงดัน เทอร์มินัลทั่วไปเชื่อมต่อกับพินอะนาล็อก # A3 ของ Arduino UNO

3)DS3231:-

สามารถรวมวันที่และเวลาของการวัดเซ็นเซอร์หรือบันทึกข้อมูลเมื่อเขียนข้อมูลไปยังการ์ด SD โดยใช้โมดูลนาฬิกาแบบเรียลไทม์ (RTC) เช่น DS3231 นาฬิกาแบบเรียลไทม์สามารถให้ข้อมูลวินาที นาที ชั่วโมง วัน วันที่ เดือน และปีได้ DS3231 สามารถขับเคลื่อนด้วย 3.3V หรือ 5V และแบตเตอรี่ลิเธียมเซลล์ปุ่ม CR2032 ให้พลังงานแก่ RTC เมื่อไม่ได้เชื่อมต่อกับ Arduino DS3231 ยังมีเซ็นเซอร์อุณหภูมิในตัว DS3231 ใช้การสื่อสาร I2C กับสายสองทิศทางสองสาย:

1) นาฬิกาอนุกรม (SCL)

&

2) ข้อมูลอนุกรม (SDA)

หมายเหตุ: >>> DS3231 เชื่อมต่อกับ Arduino UNO เช่นนี้

DS3231: Arduino UNO:

Gnd----------------------- Gnd

VCC--------------5volt

SDA -------------- ปักหมุด # A4

SCL-------------------------- พิน#A5

4) DHT11:-

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

การเชื่อมต่อเซ็นเซอร์ DHT 11 กับ Arduino UNO:

DHT11 Arduino UNO

GND ------------------------------ GND

VCC ------------------------------------ 5 โวลต์

ข้อมูล (สัญญาณ)-------------------pin#6

5) โมดูล GPS: -

โมดูล GPS (Global Positioning System) และใช้สำหรับการนำทาง โมดูลจะตรวจสอบตำแหน่งบนพื้นโลกและให้ข้อมูลเอาต์พุตซึ่งเป็นลองจิจูดและละติจูดของตำแหน่ง

มีโมดูล GPS ประเภทต่างๆ และใช้เพื่อค้นหาค่าของตัวแปรต่างๆ เช่น;

//**********************************************************************************************************************

หมายเหตุ:- สำหรับรายละเอียดเพิ่มเติม คุณสามารถเรียกใช้ฟังก์ชันนี้

gps.getDataGPRMC (เวลา, สถานะ, ละติจูด, ละติจูดซีกโลก, ลองติจูด, ลองจิจูดเมอริเดียโน, สปีดน็อต, trackAngle, วันที่, magneticVariation, magneticVariationOrientation);

Serial.println(เวลา); Serial.println (สถานะ);

Serial.println(ละติจูด);

Serial.println(ละติจูดซีกโลก);

Serial.println(ลองจิจูด);

Serial.println(longitudเมริเดียโน);

Serial.println (speedKnots);

Serial.println (trackAngle);

Serial.println (วันที่);

Serial.println (รูปแบบแม่เหล็ก);

Serial.println (การแปรผันของสนามแม่เหล็ก);

//******************************************************************************************************************

อีกตัวอย่างหนึ่งใช้สร้างลิงค์สำหรับโมดูล GPS เช่น;

gps. Google (ลิงค์);

//*******************************************************************************************************************

&&&

หมายเหตุ:- หากคุณไม่ได้รับรายละเอียดเพิ่มเติม คุณสามารถเรียกใช้ฟังก์ชันนี้

gps.getDataGPRMC

ละติจูด ละติจูด ซีกโลก แนวยาว แนวยาว เมริเดียโน

; Serial.println(ละติจูด);

Serial.println(ละติจูดซีกโลก);

Serial.println(ลองจิจูด);

Serial.println(longitudเมริเดียโน);

//******************************************************************************************************************

ฉันใช้บรรทัดเหล่านี้เพื่อรับ LONGITUDEE & LATITUDE

Longi=(gps.location.lng(), 54.01125);Lati= (gps.location.lat(), 1.95949);

//******************************************************************************************************************

บันทึก:

คุณสามารถใช้การเข้ารหัสด้านบนเพื่อรับข้อมูลเพิ่มเติมจากโมดูล GPS ของคุณ ฉันเพิ่งเคยได้รับลองจิจูดและละติจูด

//******************************************************************************************************************

ต่อไปนี้คือวิธีเชื่อมต่อโมดูล GPS กับ ARDUINO UNO:

โมดูล GPS: Arduino UNO:

Gnd ------------------------------------ Gnd

Vcc -------------------------------------5volt

RX ------------------------------ พิน#3

TX ------------------------------ ปักหมุด#4

//********************************************************************************************************************

ขั้นตอนที่ 2:

ภาพ
ภาพ
ภาพ
ภาพ

วิธีรับไฟล์ "DATA. CSV" ในขณะที่มีการจำลอง PROTEUS:-

บันทึก:

>ประการแรก ตรวจสอบให้แน่ใจว่าวงจรของคุณถูกต้องและไม่มีข้อผิดพลาด

> คุณได้อัปโหลดไฟล์ hex ใน Arduino UNO

>คุณได้อัปโหลดไฟล์การ์ด SD บนการ์ด SD

> เริ่มการจำลองของคุณหลังจากกดปุ่มเล่นที่มุมล่างซ้ายของ Proteus

>เทอร์มินัลเสมือนของคุณเปิดอยู่ และข้อมูลของคุณจะถูกบันทึกหลังจากล่าช้า (1000);

>>>>>>>>>กด Esc >>>>>>>>>>>>>>>>>>>

คุณจะเห็นหน้าต่างเนื้อหาในการ์ดหน่วยความจำ นี่คือไฟล์ data.csv ที่พร้อมใช้งาน ส่งออกในคอมพิวเตอร์ของคุณ

ขั้นตอนที่ 3:

ภาพ
ภาพ

การทำงานของ EXCEL:-

เปิด Excel แล้วใส่ไฟล์ data.csv ของคุณลงไป ข้อมูลจะแสดงเป็นคอลัมน์ที่มีชื่อและนำมาเป็นกราฟเส้น

ขั้นตอนที่ 4:

แนะนำ: