สารบัญ:
- ขั้นตอนที่ 1: อะไหล่ที่ใช้
- ขั้นตอนที่ 2: คำชี้แจงปัญหา
- ขั้นตอนที่ 3: ตั้งค่า
- ขั้นตอนที่ 4: รหัส MATLAB สำหรับควบคุมโฟโตเซลล์
- ขั้นตอนที่ 5: รหัส MATLAB สำหรับปิดไฟ
- ขั้นตอนที่ 6: รหัส MATLAB สำหรับเปิดไฟ
- ขั้นตอนที่ 7: รหัส MATLAB สำหรับ GUI
วีดีโอ: ประหยัดพลังงาน 3000: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
Adrien Green, Huy Tran, Jody Walker
การใช้คอมพิวเตอร์ Raspberry Pi และ Matlab เป็นวิธีที่ง่ายและมีประสิทธิภาพในการช่วยให้เจ้าของบ้านลดการใช้พลังงานลง ส่วนที่ดีที่สุดเกี่ยวกับ Energy Saver 3000 คือการตั้งค่าและใช้งานง่ายมาก จุดประสงค์หลักของ Energy Saver 3000 คือเพื่อให้เจ้าของบ้านสามารถติดตามค่าพลังงานของพวกเขาเพื่อดูว่าพวกเขาใช้จ่ายไปเท่าใด และเพื่อให้เจ้าของบ้านสามารถปิดไฟในบ้านจากระยะไกลได้ด้วยการกดปุ่มเพียงปุ่มเดียว
ขั้นตอนที่ 1: อะไหล่ที่ใช้
1: คอมพิวเตอร์ Raspberry Pi
2: เขียงหั่นขนม
3: สายจัมเปอร์
4: ปุ่มกด
5: ไฟ LED ขนาดเล็ก
6: 330 โอห์ม 10 Kohm และตัวต้านทาน 300 โอห์ม
7: สายเคเบิลอีเธอร์เน็ต
8: ตาแมวแสง
ขั้นตอนที่ 2: คำชี้แจงปัญหา
โครงการของเราคือการออกแบบเครื่องประหยัดพลังงานที่บ้านโดยใช้คอมพิวเตอร์ Raspberry Pi และ MATLAB เป้าหมายของเราคือการสร้างระบบที่อนุญาตให้ผู้ใช้ติดตามค่าพลังงานเพื่อดูว่าสามารถลดการใช้พลังงานได้หรือไม่ นอกจากนี้เรายังต้องการให้ผู้ใช้สามารถปิดไฟในขณะที่ไม่อยู่ได้ด้วยการกดปุ่ม ในการทำเช่นนี้ เราได้ต่อโฟโตเซลล์เพื่อตรวจจับเมื่อเปิดไฟ หากไฟสว่าง โปรแกรม MATLAB จะคำนวณว่าเปิดไฟมานานแค่ไหน และใช้พลังงานและเงินไปเท่าใดตั้งแต่เปิดเครื่อง
ขั้นตอนที่ 3: ตั้งค่า
ต่อสายเขียงหั่นขนมตามที่แสดงในภาพด้านบน
ขั้นตอนที่ 4: รหัส MATLAB สำหรับควบคุมโฟโตเซลล์
ฟังก์ชั่น control_light()rpi = raspi();
เขียนDigitalPin(rpi, 12, 1)
เวลา = 0
ผลรวม = 0
เวลา = 0
ราคา = 0
หลอดไฟ = 100/1000;% กิโลวัตต์
สำหรับผม = 1:2
tic
ในขณะที่จริง
x = readDigitalPin(rpi, 13)
ถ้า x == 1
เขียนDigitalPin(rpi, 19, 1)
elseif x == 0
เขียนDigitalPin(rpi, 19, 0)
ทอค;
เวลา = เวลา + toc
kWh = toc * bulb
ดอลลาร์ = 0.101
ราคา = kWh * ดอลลาร์
ต้นทุนรวม = ต้นทุนรวม + ต้นทุน
X = linspace(เวลา, เวลา, 10)
Y = linspace(ต้นทุน ผลรวม 10)
เวลา = เวลา
ต้นทุน = ผลรวม
disp(['เปิดไฟสำหรับ ', num2str(toc), ' ชั่วโมง ค่าใช้จ่าย = $', num2str(cost)])
พล็อต (X, Y, 'b') ชื่อ ('ค่าใช้จ่ายเมื่อเวลาผ่านไป')
xlabel('เวลา (ชั่วโมง)')
ylabel('ต้นทุน ($Dollars)')
เดี๋ยว
หยุดพัก
จบ
จบ
หยุดชั่วคราว(5)
tic
ในขณะที่จริง
x = readDigitalPin(rpi, 13)
ถ้า x == 1
เขียนDigitalPin(rpi, 19, 1)
elseif x == 0
เขียนDigitalPin(rpi, 19, 0)
ทอค;
เวลา = เวลา + toc
kWh = toc * bulb
ดอลลาร์ = 0.101
ราคา = kWh * ดอลลาร์
sumcost = ต้นทุน + ต้นทุน
X = linspace(เวลา, เวลา, 10)
Y = linspace(ต้นทุน ผลรวม 10)
เวลา = เวลา
ต้นทุน = ผลรวม
disp(['เปิดไฟสำหรับ ', num2str(toc), ' ชั่วโมง ค่าใช้จ่าย = $', num2str(cost)])
พล็อต (X, Y, 'g')
title('ต้นทุนเมื่อเวลาผ่านไป')
xlabel('เวลา (ชั่วโมง)')
ylabel('ต้นทุน ($Dollars)')
เดี๋ยว
หยุดพัก
จบ
จบ
หยุดชั่วคราว(5)
จบ
ขั้นตอนที่ 5: รหัส MATLAB สำหรับปิดไฟ
ฟังก์ชั่น button_controlv1()
rpi = raspi();
คอนดิ = 1;
ในขณะที่ % จริงจะสร้างลูปไม่สิ้นสุดเพื่อให้โค้ดทำงานต่อไป
ปุ่ม = readDigitalPin(rpi, 6); % อ่านค่าการกดปุ่มบนพิน 6
ถ้าปุ่ม == 0
condi = condi + 1
จบ
ถ้า mod(condi, 2) == 0
เขียนDigitalPin(rpi, 17, 0)
h = msgbox('คุณปิดไฟ:)') waitfor(h);
หยุดพัก
จบ
ถ้า mod(condi, 2) == 1
เขียนDigitalPin(rpi, 17, 1)
จบ
จบ
ขั้นตอนที่ 6: รหัส MATLAB สำหรับเปิดไฟ
ฟังก์ชั่น button_controlv2()
rpi = raspi();
คอนดิ = 2;
ในขณะที่ % จริงจะสร้างลูปไม่สิ้นสุดเพื่อให้โค้ดทำงานต่อไป
ปุ่ม = readDigitalPin(rpi, 6); % อ่านค่าการกดปุ่มบนพิน 6
ถ้าปุ่ม == 0
condi = condi + 1
จบ
ถ้า mod(condi, 2) == 0
เขียนDigitalPin(rpi, 17, 0)
จบ
ถ้า mod(condi, 2) == 1
เขียนDigitalPin(rpi, 17, 1)
h = msgbox('คุณเปิดไฟแล้ว:(')
รอ (h);
หยุดชั่วคราว(10)
หยุดพัก
จบ
จบ
ขั้นตอนที่ 7: รหัส MATLAB สำหรับ GUI
ฟังก์ชัน EnergySaver3000()
imgurl='https://clipart-library.com/images/pc585dj9i.jpg';
imgfile='Lightbulb.jpg'; urlwrite (imgurl, imgfile);
imgdata= imread (imgfile);
h=msgbox('ยินดีต้อนรับสู่ Energy Saver 3000!', '', 'กำหนดเอง', imgdata);
รอ (h);
ล้าง h;
ในขณะที่จริง
iprogram=menu('คุณต้องการเรียกใช้โปรแกรมใด', 'เครื่องคิดเลขบิล', 'การควบคุมแสง');
ถ้า iprogram==1
control_light() h=msgbox('เสร็จสิ้น!!!')
ปิดทั้งหมด
Elseif
iprogram==2
จบ
ล้าง h;
ichoice=menu('การควบคุมแสง', 'เปิด', 'ปิด', 'ไม่เป็นไร');
ถ้า ichoice == 1
button_controlv2()
h=msgbox('เสร็จแล้ว!!!')
elseif ichoice ==2
button_controlv1()
h=msgbox('เสร็จแล้ว!!!')
elseif ichoice==3
h=msgbox('คุณไม่ได้ทำอะไรเลย:(') waitfor(h);
h=msgbox('เสร็จแล้ว!!!')
จบ
รอ (h);
จบ
จบ
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
วิธีเข้าถึงฮาร์ดไดรฟ์ Dell Inspiron 15 3000 Series: 10 ขั้นตอน
วิธีเข้าถึงฮาร์ดไดรฟ์ Dell Inspiron 15 3000 Series: สวัสดีผู้อ่านผู้สอน วันนี้ฉันจะแสดงวิธีเข้าถึงฮาร์ดไดรฟ์ในแล็ปท็อป Dell Inspiron 15 3000 series เป็นไปได้มากว่าถ้าคุณกำลังอ่านข้อความนี้ แสดงว่าคุณกำลังมีปัญหาในการยิงคอมพิวเตอร์และต้องการติดตั้งฮาร์ดไดรฟ์ใหม่ หรือคุณ
Smash Dash 3000: 7 ขั้นตอน
Smash Dash 3000: นี่คือการคัดลอกวาง ณ วันที่ 13/4/2562 จาก GitHub เพื่อเข้าร่วมการแข่งขัน Instructables LED! หากใครมีปัญหาสามารถแจ้งปัญหาได้ที่ GitHub! ไฟล์โครงการเต็มๆ ได้ที่ https://github.com/naclyellipsis/Smash-Dash-30
EF 230: Home System 3000 สอนได้: 4 ขั้นตอน
EF 230: Home System 3000 สอนได้: Home System 3000 เป็นอุปกรณ์ที่ใช้ Arduino, เซ็นเซอร์อุณหภูมิ, piezo buzzer, เครื่องตรวจจับแสง/โฟโตทรานซิสเตอร์ และเซอร์โวเพื่อแสดงวิธีปรับปรุงประสิทธิภาพการใช้พลังงานในบ้าน
WeatherBot 3000: 6 ขั้นตอน (พร้อมรูปภาพ)
WeatherBot 3000: ภาพรวม โปรเจ็กต์นี้ใช้ Arduino MKR1000 เพื่อเชื่อมต่ออินเทอร์เน็ตและรับเวลาและสภาพอากาศ คุณจะต้องใช้ WiFi แสดงเวลาและสภาพอากาศบนจอแสดงผล LED 8x8 เราใช้ไอคอนเพื่อแสดงสภาพอากาศทั่วไป เช่น แดดจ้า เมฆมาก ฝนตก กลางคืน