สารบัญ:

สถิติอัจฉริยะ: 7 ขั้นตอน
สถิติอัจฉริยะ: 7 ขั้นตอน

วีดีโอ: สถิติอัจฉริยะ: 7 ขั้นตอน

วีดีโอ: สถิติอัจฉริยะ: 7 ขั้นตอน
วีดีโอ: ดูว่าจีนกำลังทำอะไร ตัดภูเขา 700 ลูกสำหรับสร้างเมืองใหม่(โคตรเมกะโปรเจ็ค) 2024, พฤศจิกายน
Anonim
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat

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

ขั้นตอนที่ 1: อะไหล่ที่จำเป็น

อะไหล่ที่จำเป็น
อะไหล่ที่จำเป็น
อะไหล่ที่จำเป็น
อะไหล่ที่จำเป็น
อะไหล่ที่จำเป็น
อะไหล่ที่จำเป็น

- Arduino Uno

- เขียงหั่นขนม (4)

- เทอร์มิสเตอร์ (2)

- ตัวต้านทาน 10K (2)

- ปุ่มกด

- Piezo Buzzer

- จอ LCD

- โพเทนชิออมิเตอร์

- สายไฟ (25)

- ขั้วต่อไมโคร USB หรือ USB

ขั้นตอนที่ 2: Wire Breadboard สำหรับเซ็นเซอร์อุณหภูมิ

Wire Breadboard สำหรับเซ็นเซอร์อุณหภูมิ
Wire Breadboard สำหรับเซ็นเซอร์อุณหภูมิ

เทอร์มิสเตอร์เทอร์มิสเตอร์ TMP เป็นเซ็นเซอร์อุณหภูมิชนิดหนึ่งที่วัดแรงดันไฟฟ้าข้ามเซ็นเซอร์เมื่ออุณหภูมิแวดล้อมเปลี่ยนแปลง เซ็นเซอร์เฉพาะนี้มีสามพิน - บวก กราวด์ และสัญญาณ เซ็นเซอร์นี้เป็นเซ็นเซอร์เชิงเส้น และการเปลี่ยนแปลงของอุณหภูมิหนึ่งองศาเซลเซียสจะเท่ากับการเปลี่ยนแปลง 10 มิลลิโวลต์ที่เอาต์พุตเซ็นเซอร์

ขั้นตอน:

1) เชื่อมต่อเซ็นเซอร์อุณหภูมิของคุณดังแสดงในรูปด้านบน สายกลางจะเชื่อมต่อกับ A0

2) เชื่อมต่อเซ็นเซอร์อุณหภูมิตัวที่สองของคุณในลักษณะเดียวกันกับตัวแรก และสายกลางจะเชื่อมต่อกับ A1

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

Piezo Buzzer
Piezo Buzzer

Piezo buzzer เป็นอุปกรณ์ที่ใช้ในการเตือนผู้ใช้เมื่อระบบระบายความร้อนและระบบปรับอากาศไม่ทำงานอย่างมีประสิทธิภาพสูงสุด เสียงเตือนแจ้งผู้ใช้ว่าเป็นปัญหา

ขั้นตอน:

1) เชื่อมต่อออดกับบอร์ดดังแสดงในรูปด้านบน

ขั้นตอนที่ 4: เพิ่มปุ่ม

เพิ่มปุ่ม
เพิ่มปุ่ม

- ปุ่มกดเป็นส่วนประกอบที่เชื่อมต่อจุดสองจุดในวงจรเมื่อคุณกด

- ในผลิตภัณฑ์ของเรา ปุ่มจะวนไปมาระหว่างการแสดงอุณหภูมิและประสิทธิภาพจากข้อมูลที่เซ็นเซอร์อุณหภูมิรวบรวม

ขั้นตอน

1) เชื่อมต่อปุ่มตามที่แสดงในรูปด้านบน

ขั้นตอนที่ 5: เชื่อมต่อ LCD กับ Breadboard แยก & ไปยัง Power

เชื่อมต่อ LCD กับ Breadboard แยก & กับ Power
เชื่อมต่อ LCD กับ Breadboard แยก & กับ Power

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

ไดอะแกรมที่ให้ไว้จะช่วยให้คุณเชื่อมต่อหน้าจอกับบอร์ดได้อย่างถูกต้อง

ขั้นตอนที่ 6: รหัส

a = arduino('com3', 'uno', 'libraries', 'ExampleLCD/LCDAddon'); % สร้างอ็อบเจ็กต์ Arduino ที่ระบุไลบรารี ExampleLCD/LCDAddon

lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % สร้างวัตถุ LCD และระบุพินที่กำหนดค่าบนอุปกรณ์ Arduino

initializeLCD(lcd, 'Rows', 2, 'Columns', 16); % เริ่มต้นหน้าจอ LCD

setpref('อินเทอร์เน็ต', 'SMTP_Server', 'smtp.gmail.com');

setpref('อินเทอร์เน็ต', 'อีเมล', '[email protected]'); % บัญชีอีเมลที่จะส่งจาก

setpref('อินเทอร์เน็ต', 'SMTP_Username', 'bwnanney'); % ชื่อผู้ใช้ผู้ส่ง

setpref('อินเทอร์เน็ต', 'SMTP_Password', 'Morill1204'); % ผู้ส่งรหัสผ่าน

อุปกรณ์ประกอบฉาก = java.lang. System.getProperties;

props.setProperty('mail.smtp.auth', 'true');

props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');

props.setProperty('mail.smtp.socketFactory.port', '465');

b=readDigitalPin(a, 'D9'); % อ่านพินดิจิตอล (เซ็นเซอร์ดิจิตอล)

การอ่าน = readVoltage (a, 'A0'); % อ่านแรงดันไฟฟ้าบนเทอร์มิสเตอร์อนาล็อกที่เชื่อมต่อกับพิน A0

Reading2= readVoltage(a, 'A2'); % อ่านแรงดันไฟฟ้าบนเทอร์มิสเตอร์อะนาล็อกที่เชื่อมต่อกับพิน A2

ในขณะที่ % จริงวนซ้ำผ่านคำสั่งที่มีอยู่ตราบใดที่ true

b=readDigitalPin(a, 'D9'); % อ่านพินดิจิตอล (เซ็นเซอร์ดิจิตอล)

การอ่าน = readVoltage (a, 'A0'); % อ่านแรงดันไฟฟ้าบนเทอร์มิสเตอร์อนาล็อกที่เชื่อมต่อกับพิน A0

ถ้าการอ่าน>= 0.6 && การอ่าน< 0.68% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'Temp 64 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>= 0.68 && reading<0.69 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'Temp 66 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>= 0.69 && reading<0.7% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'อุณหภูมิ 68 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>=0.7 && reading<0.71% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'Temp 70 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>=0.71 && reading<0.72% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'Temp 72 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>=0.72 && กำลังอ่าน<0.73 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'Temp 74 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>= 0.73 && reading<0.74% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'Temp 76 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>= 0.74 && reading<0.75% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'อุณหภูมิ 78 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>= 0.75 && reading<0.76% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'Temp 80 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>= 0.76 && reading<0.77% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'อุณหภูมิ 82 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>= 0.77 && reading<0.8% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'Temp 84 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

playTone(a, 'D10', 880, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)

หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้

playTone(a, 'D10', 880, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)

หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้

playTone(a, 'D10', 880, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)

หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้

playTone(a, 'D10', 880, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)

หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้

playTone(a, 'D10', 987, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)

หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้

playTone(a, 'D10', 987, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)

หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้

playTone(a, 'D10', 880, 0.12) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)

หยุดชั่วคราว (0.1) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้

playTone(a, 'D10', 740, 0.12) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)

หยุดชั่วคราว (0.1) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้

playTone(a, 'D10', 587, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)

หยุดชั่วคราว(0.3)

sendmail('[email protected]', 'เครื่องทำความร้อนและความเย็นที่ต้องการบริการ!!!', …

'ระบบทำความร้อนและความเย็นทำงานไม่มีประสิทธิภาพ โปรดให้ช่างซ่อมบำรุงเครื่องโดยเร็วที่สุด') % ส่งอีเมลไปยังบัญชีอีเมลที่ระบุ

elseif reading>= 0.8 && reading<0.85% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'Temp 86 F'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading>= 0.85 && reading<2 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'HOT HOT BABY!!!'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

end % สิ้นสุดลง if statement

ในขณะที่ b==0 % วนซ้ำผ่านคำสั่งที่มีอยู่ตราบใดที่ false

b=readDigitalPin(a, 'D9'); % อ่านพินดิจิตอล (เซ็นเซอร์ดิจิตอล)

Reading2= readVoltage(a, 'A2'); % อ่านแรงดันไฟฟ้าบนเทอร์มิสเตอร์อนาล็อกที่เชื่อมต่อกับพิน A2

ถ้า read2>= 0.6 && reading2< 0.68% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 80%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>= 0.68 && reading2<0.69 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 90%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>= 0.69 && reading2<0.7 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 95%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>=0.7 && reading2<0.71% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 97%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>=0.71 && reading2<0.72% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 100%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>=0.72 && reading2<0.73 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 95%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>= 0.73 && reading2<0.74% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 90%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>= 0.74 && reading2<0.75% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 85%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>= 0.75 && reading2<0.76% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 80%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>= 0.76 && reading2<0.77% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 75%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>= 0.77 && reading2<0.8% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 70%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>= 0.8 && reading2<0.85% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ประสิทธิภาพ 65%'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

elseif reading2>= 0.85 && reading2<2 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)

clearLCD(lcd) % ล้างหน้าจอ LCD

printLCD(lcd, 'ON FIRE!!!'); % พิมพ์สตริงไปยัง LCD

หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป

end % end if คำสั่ง

สิ้นสุด% สิ้นสุดในขณะที่วนรอบ

สิ้นสุด% สิ้นสุดในขณะที่วนรอบ

ขั้นตอนที่ 7: แผนภาพ

แผนภาพ
แผนภาพ

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

แนะนำ: