สารบัญ:
- ขั้นตอนที่ 1: วงจร…
- ขั้นตอนที่ 2: Nexardu พร้อมเว็บเซิร์ฟเวอร์ภายใน (มี NTP)
- ขั้นตอนที่ 3: Nexardu พร้อมเซิร์ฟเวอร์ภายนอก
- ขั้นตอนที่ 4: ข้อมูลที่มีค่า
- ขั้นตอนที่ 5: เสร็จแล้ว
วีดีโอ: NexArdu: การควบคุมอัจฉริยะของการส่องสว่าง: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
อัปเดต
หากได้พัฒนาฟังก์ชันการทำงานแบบเดียวกันโดยใช้ Home Assistant Home Assistant นำเสนอความเป็นไปได้มากมาย คุณสามารถค้นหาการพัฒนาได้ที่นี่
ภาพร่างเพื่อควบคุมไฟส่องสว่างภายในบ้านอย่างชาญฉลาดผ่านอุปกรณ์ที่คล้าย X10 ไร้สาย 433.92MHz (หรือ 433MHz) เช่น เน็กซ่า
พื้นหลัง
เมื่อพูดถึงไฟประดับ ฉันรู้สึกเหนื่อยมากที่ทุก ๆ สัปดาห์ที่สองหรือสามฉันต้องปรับตัวจับเวลาที่เปิดไฟใหม่เนื่องจากการขยับของชั่วโมงสุริยะตาม CET ในเวลาเดียวกัน บางคืนเราเข้านอนเร็วกว่าที่อื่น ด้วยเหตุนี้ บางครั้งไฟจึงปิด "สายเกินไป" หรือ "เร็วเกินไป" ข้างต้นท้าทายให้ฉันคิด: ฉันต้องการให้ไฟประดับตกแต่งเปิดตลอดเวลาที่ระดับแสงโดยรอบเท่ากัน จากนั้นจึงปิดลงในบางช่วงเวลาขึ้นอยู่กับว่าเราตื่นอยู่หรือไม่
วัตถุประสงค์
คำแนะนำนี้ใช้ประโยชน์จากความเป็นไปได้ของอุปกรณ์ควบคุมแบบไร้สายเช่น System Nexa ที่ทำงานบนความถี่ 433.92MHz ในที่นี้เราจะนำเสนอ:
- ระบบควบคุมแสงสว่างอัตโนมัติ
- การควบคุมเว็บ
การควบคุมเว็บ เว็บเซิร์ฟเวอร์ภายในและภายนอก
เซิร์ฟเวอร์ภายในใช้ประโยชน์จากความเป็นไปได้ของ Arduino Ethernet shield เพื่อจัดหาเว็บเซิร์ฟเวอร์ เว็บเซิร์ฟเวอร์จะเข้าร่วมการโทรของเว็บไคลเอ็นต์เพื่อตรวจสอบและโต้ตอบกับ Arduino นี่เป็นโซลูชันที่ตรงไปตรงมาพร้อมฟังก์ชันการทำงานที่จำกัด ความเป็นไปได้ในการปรับปรุงโค้ดเว็บเซิร์ฟเวอร์นั้นถูกจำกัดโดยหน่วยความจำของ Arduino เซิร์ฟเวอร์ภายนอกต้องการการตั้งค่าเว็บเซิร์ฟเวอร์ PHP ภายนอก การตั้งค่านี้ซับซ้อนกว่าและไม่รองรับในบทช่วยสอนนี้ อย่างไรก็ตาม โค้ด/หน้า PHP สำหรับตรวจสอบและควบคุม Arduino มีฟังก์ชันพื้นฐานมาให้ ความเป็นไปได้ในการปรับปรุงเว็บเซิร์ฟเวอร์ ในกรณีนี้ ถูกจำกัดโดยเว็บเซิร์ฟเวอร์ภายนอก
บิลวัสดุ
เพื่อใช้ประโยชน์อย่างเต็มที่จากความเป็นไปได้ที่ร่างนี้มอบให้ คุณต้อง:
- Arduino Uno (ทดสอบบน R3)
- ชิลด์อีเธอร์เน็ต Arduino
- ชุด Nexa หรือการทำงานที่คล้ายกันที่ 433.92MHz
- เซ็นเซอร์ PIR (Passive InfraRed) ทำงานที่ 433.92MHz
- ตัวต้านทาน 10KOhms
- LDR
- RTC DS3231 (รุ่นเซิร์ฟเวอร์ภายนอกเท่านั้น)
- เครื่องส่งสัญญาณ 433.92MHz: XY-FST
- เครื่องรับ 433.92MHz: MX-JS-05V
ขั้นต่ำที่แนะนำคือ:
- Arduino Uno (ทดสอบบน R3)
- ชุด Nexa หรือการทำงานที่คล้ายกันที่ 433.92MHz
- ตัวต้านทาน 10KOhms
- LDR
- เครื่องส่งสัญญาณ 433.92MHz: XY-FST
(การละเว้นอีเธอร์เน็ตชิลด์ต้องมีการดัดแปลงร่างที่ไม่ได้ระบุไว้ในคำแนะนำนี้)
เน็กซ่า ลอจิก คำอธิบายสั้น ๆ
เครื่องรับ Nexa จะเรียนรู้รหัสการควบคุมระยะไกลและรหัสปุ่ม กล่าวอีกนัยหนึ่ง รีโมททุกตัวมีหมายเลขผู้ส่ง และปุ่มเปิด/ปิดแต่ละคู่มีรหัสปุ่ม ผู้รับต้องเรียนรู้รหัสเหล่านั้น เอกสาร Nexa บางฉบับระบุว่าเครื่องรับสามารถจับคู่กับรีโมทได้ถึงหกตัว พารามิเตอร์ Nexa:
- SenderID: ID ของรีโมทคอนโทรล
- ButtonID: หมายเลขคู่ปุ่ม (เปิด/ปิด) ขึ้นต้นด้วยเลข0
- กลุ่ม: ใช่/ไม่ใช่ (หรือที่เรียกว่าปุ่ม "ปิด/เปิดทั้งหมด")
- คำสั่ง: เปิด/ปิด
ขั้นตอนที่แนะนำได้ บันทึก
ขั้นตอนต่างๆ ที่อธิบายไว้ในที่นี้คือการนำเสนอสองรสชาติที่แตกต่างกันในการบรรลุวัตถุประสงค์ รู้สึกอิสระที่จะเลือกสิ่งที่คุณต้องการ นี่คือดัชนี:
ขั้นตอนที่ #1: วงจร
ขั้นตอนที่ #2: Nexardu พร้อมเว็บเซิร์ฟเวอร์ภายใน (มี NTP)
ขั้นตอนที่ #3: Nexardu พร้อมเซิร์ฟเวอร์ภายนอก
ขั้นตอนที่ #4: ข้อมูลที่มีค่า
ขั้นตอนที่ 1: วงจร…
ลวดส่วนประกอบที่หลากหลายตามที่แสดงในภาพ
Arduino pin #8 ถึง Data pin บน RX (receiver) moduleArduino pin #2 ไปยัง Data pin บน RX (receiver) moduleArduino pin #7 ไปยัง Data pin บน TX (ผู้ส่ง) moduleArduino pin A0 ถึง LDR
การกำหนดค่า RTC จำเป็นเฉพาะในการกำหนดค่าเซิร์ฟเวอร์ภายนอกเท่านั้น พิน Arduino A4 ถึงพิน SDA บนโมดูล RTCArduino พิน A5 ถึงพิน SCL บนโมดูล RTC
ขั้นตอนที่ 2: Nexardu พร้อมเว็บเซิร์ฟเวอร์ภายใน (มี NTP)
ห้องสมุด
รหัสนี้ใช้ไลบรารีจำนวนมาก ส่วนใหญ่สามารถพบได้ผ่าน "Library Manager" ของ Arduino IDE คุณไม่ควรหาห้องสมุดที่อยู่ในรายการ กรุณา google
Wire.hSPI.h - ต้องใช้โดย Ethernet shieldNexaCtrl.h - ตัวควบคุมอุปกรณ์ Nexa Ethernet.h - เพื่อเปิดใช้งานและนำเสนอ Ethernet shieldRCSwitch.h - จำเป็นสำหรับ PIRTime.h - จำเป็นสำหรับ RTCTimeAlarms.h - การจัดการการแจ้งเตือนเวลาEthernetUdp.h - จำเป็นสำหรับ ลูกค้า NTP
The Sketch
โค้ดด้านล่างใช้ประโยชน์จากความเป็นไปได้ของการใช้บอร์ด Arduino UNO ไม่เพียงแต่เป็นสื่อกลางในการควบคุมอุปกรณ์ Nexa แต่ยังมีเว็บเซิร์ฟเวอร์ภายในอีกด้วย ข้อสังเกตเพิ่มเติมคือ โมดูล RTC (Real Time Clock) จะได้รับการปรับโดยอัตโนมัติผ่าน NTP (Network Time Protocol)
ก่อนที่คุณจะอัปโหลดโค้ดไปยัง Arduino คุณอาจต้องกำหนดค่าต่อไปนี้:
- SenderId: คุณต้องดมกลิ่น SenderId ก่อน ดูด้านล่าง
- PIR_id: คุณต้องดมกลิ่น SenderId ก่อน ดูด้านล่าง
- ที่อยู่ IP ของ LAN: ตั้งค่า IP ของ LAN ของคุณเป็นอีเธอร์เน็ต Arduino shield ของคุณ ค่าเริ่มต้น: 192.168.1.99
- เซิร์ฟเวอร์ NTP: ไม่จำเป็นอย่างยิ่ง แต่อาจเป็นการดีสำหรับ Google สำหรับเซิร์ฟเวอร์ NTP ในบริเวณใกล้เคียงของคุณ ค่าเริ่มต้น: 79.136.86.176
- รหัสถูกปรับสำหรับเขตเวลา CET ปรับค่านี้ - หากจำเป็น ในเขตเวลาของคุณเพื่อแสดงเวลาที่ถูกต้อง (NTP)
ดมกลิ่นรหัส Nexa
สำหรับสิ่งนี้คุณต้องต่อสาย -อย่างน้อยส่วนประกอบ RX กับ Arduino ตามที่แสดงในวงจร
ค้นหาด้านล่างของภาพร่าง Nexa_OK_3_RX.ino ที่เข้ากันได้กับอุปกรณ์ Nexa NEYCT-705 และ PET-910 ในขณะที่เขียน
ขั้นตอนที่ต้องปฏิบัติตามคือ:
- จับคู่เครื่องรับ Nexa กับรีโมทคอนโทรล
- โหลด Nexa_OK_3_RX.ino ลงใน Arduino แล้วเปิด "Serial Monitor"
- กดปุ่มรีโมทคอนโทรลที่ควบคุมเครื่องรับ Nexa
- จด "RemoteID" และ "ButtonID"
- ตั้งค่าตัวเลขเหล่านี้ภายใต้ SenderID และ ButtonID บนการประกาศตัวแปรของแบบร่างก่อนหน้า
หากต้องการอ่าน Id ของ PIR ให้ใช้แบบร่างเดียวกันนี้ (Nexa_OK_3_RX.ino) และอ่านค่าบน "Serial Monitor" เมื่อ PIR ตรวจพบการเคลื่อนไหว
ขั้นตอนที่ 3: Nexardu พร้อมเซิร์ฟเวอร์ภายนอก
ห้องสมุด
รหัสนี้ใช้ไลบรารีจำนวนมาก ส่วนใหญ่สามารถพบได้ผ่าน "Library Manager" ของ Arduino IDE หากคุณไม่พบห้องสมุดที่อยู่ในรายการ โปรด google
Wire.hRTClib.h - นี่คือไลบรารีจาก https://github.com/MrAlvin/RTClibSPI.h - ต้องใช้โดย Ethernet shieldNexaCtrl.h - ตัวควบคุมอุปกรณ์ NexaEthernet.h - เพื่อเปิดใช้งานและนำเสนอ Ethernet shieldRCSwitch.h - จำเป็นสำหรับ PIRTime.h - จำเป็นสำหรับ RTCTimeAlarms.h - การจัดการการเตือนเวลาaREST.h - สำหรับบริการ RESTful API ที่ใช้ประโยชน์โดยเซิร์ฟเวอร์ภายนอก/wdt.h - การจัดการตัวจับเวลา Watchdog
The Sketch
ภาพสเก็ตช์ด้านล่างมีคุณลักษณะอื่นที่เหมือนกัน คราวนี้เพิ่มขีดความสามารถที่เป็นไปได้ที่เว็บเซิร์ฟเวอร์ภายนอกสามารถให้ได้ ดังที่ได้กล่าวไปแล้วในบทนำ เซิร์ฟเวอร์ภายนอกต้องมีการตั้งค่าเว็บเซิร์ฟเวอร์ PHP ภายนอก การตั้งค่านี้ซับซ้อนกว่าและไม่รองรับในบทช่วยสอนนี้ อย่างไรก็ตาม โค้ด/หน้า PHP สำหรับตรวจสอบและควบคุม Arduino มีฟังก์ชันพื้นฐานมาให้
ก่อนที่คุณจะอัปโหลดโค้ดไปยัง Arduino คุณอาจต้องกำหนดค่าต่อไปนี้:
- SenderId: คุณต้องดมกลิ่น SenderId ก่อน โปรดดูที่ การดมกลิ่นรหัส Nexa ในขั้นตอนก่อนหน้า
- PIR_id: คุณต้องดมกลิ่น SenderId ก่อน โปรดดูการดมกลิ่นรหัส Nexa ในขั้นตอนก่อนหน้า
- ที่อยู่ IP ของ LAN: ตั้งค่า IP ของ LAN ของคุณเป็นอีเธอร์เน็ต Arduino shield ของคุณ ค่าเริ่มต้น: 192.168.1.99
สำหรับขั้นตอนการดมกลิ่นโค้ด Nexa โปรดดูขั้นตอนที่ #1
ไฟล์เสริม
อัปโหลดไฟล์ nexardu4.txt ที่แนบมากับเซิร์ฟเวอร์ PHP ภายนอกของคุณและเปลี่ยนชื่อเป็น nexardu4.php
ตั้งเวลา RTC
ในการตั้งเวลา/วันที่บน RTC ฉันใช้ Sketch SetTime ที่รวมไลบรารี DS1307RTC
ขั้นตอนที่ 4: ข้อมูลที่มีค่า
น่ารู้พฤติกรรม
-
เมื่อ Arduino อยู่ภายใต้ "การควบคุมแสงอัตโนมัติ" มันสามารถผ่านสี่สถานะที่แตกต่างกันซึ่งสัมพันธ์กับแสงโดยรอบและช่วงเวลาของวัน:
- ตื่นตระหนก: Arduino รอคอยค่ำคืนที่จะมาถึง
- Active: ค่ำคืนมาถึงแล้ว Arduino ได้เปิดไฟแล้ว
- ง่วงนอน: ไฟเปิดอยู่ แต่ถึงเวลาปิดแล้ว มันเริ่มต้นที่ "time_to_turn_off - PIR_time" นั่นคือถ้า time_to_turn_off ถูกตั้งค่าเป็น 22:30 และ PIR_time ตั้งไว้ที่ 20 นาที Arduino จะเข้าสู่สถานะง่วงนอนเวลา 22:10 น.
- อยู่เฉยๆ: กลางคืนผ่านไป Arduino ได้ปิดไฟและ Arduino รอให้รุ่งสางตื่นขึ้น
- Arduino คอยฟังสัญญาณที่ส่งโดยรีโมทคอนโทรลอยู่เสมอ คุณสมบัตินี้แสดงสถานะของไฟ (เปิด/ปิด) บนเว็บได้เมื่อใช้รีโมทคอนโทรล
- ในขณะที่ Arduino ตื่นตัวมันพยายามที่จะปิดไฟตลอดเวลา ดังนั้นสัญญาณ ON ที่ส่งโดยตัวควบคุม remonte เพื่อเปิดไฟอาจถูกจับโดย Arduino หากสิ่งนี้เกิดขึ้น Arduino จะพยายามปิดไฟอีกครั้ง
- ในขณะที่ Arduino ทำงานอยู่ จะพยายามเปิดไฟตลอดเวลา ดังนั้น สัญญาณ OFF ที่ส่งโดยรีโมทคอนโทรลเพื่อปิดไฟอาจถูกจับโดย Arduino หากสิ่งนี้เกิดขึ้น Arduino จะพยายามเปิดไฟอีกครั้ง
- ในสภาวะที่หลับใหล สามารถเปิด/ปิดไฟได้ด้วยรีโมทคอนโทรล Arduino จะไม่ตอบโต้
- ในสถานะที่ง่วงนอน การนับถอยหลังของ PIR จะเริ่มรีเซ็ตจาก "time_to_turn_off - PIR_time" ดังนั้น time_to_turn_off จะถูกขยายออกไป 20 นาทีทุกครั้งที่ PIR ตรวจพบการเคลื่อนไหว A "ตรวจพบสัญญาณ PIR!" ข้อความจะแสดงบนเว็บเบราว์เซอร์เมื่อสิ่งนี้เกิดขึ้น
- ในขณะที่ Arduino อยู่นิ่งไฟสามารถเปิดและปิดผ่านรีโมทคอนโทรล Arduino จะไม่ตอบโต้
- การรีเซ็ตหรือวงจรพลังงานของ Arduino จะทำให้เข้าสู่โหมดแอคทีฟ ซึ่งหมายความว่าหาก Arduino ถูกรีเซ็ตหลังจาก time_turn_off แล้ว Arduino จะเปิดไฟ เพื่อหลีกเลี่ยงปัญหานี้ Arduino จะต้องถูกนำเข้าสู่โหมดแมนนวล (ทำเครื่องหมายที่ "Light Automatic Control") และรอจนถึงเช้าเพื่อกลับไปที่ "Light Automatic Control"
- ดังที่กล่าวไว้ข้างต้น Arduino รอให้รุ่งสางกลับมาใช้งานได้อีกครั้ง ด้วยเหตุนี้ ระบบอาจหลงกลได้โดยการนำแสงที่แรงเพียงพอไปทางเซ็นเซอร์แสงซึ่งเกินเกณฑ์ "ความส่องสว่างขั้นต่ำ" หากสิ่งนี้เกิดขึ้น Arduino จะต้องเปลี่ยนเป็นสถานะใช้งาน
- ค่าความคลาดเคลื่อนมีความสำคัญสูงเพื่อหลีกเลี่ยงไม่ให้ระบบเปิดและปิดรอบค่าเกณฑ์ขั้นต่ำความส่องสว่าง ไฟ LED เนื่องจากการกะพริบและการตอบสนองที่สูง อาจเป็นสาเหตุของพฤติกรรมการกระพือปีกได้ เพิ่มค่าความคลาดเคลื่อนถ้าคุณประสบปัญหานี้ ฉันใช้ค่า 7
เรื่องน่ารู้เกี่ยวกับโค้ด
- อย่างที่คุณสังเกตได้ โค้ดมีขนาดใหญ่มากและใช้ไลบรารีจำนวนมาก ซึ่งจะทำให้จำนวนหน่วยความจำว่างที่จำเป็นสำหรับฮีปลดลง ฉันสังเกตเห็นพฤติกรรมที่ไม่เสถียรในอดีตที่ทำให้ระบบหยุดทำงาน โดยเฉพาะหลังจากโทรผ่านเว็บ ดังนั้น ความท้าทายที่ใหญ่ที่สุดที่ฉันมีคือการจำกัดขนาดและการใช้ตัวแปรที่หลากหลายเพื่อทำให้ระบบมีเสถียรภาพ
- รหัสที่หาประโยชน์จากเซิร์ฟเวอร์ภายในที่ฉันใช้ที่บ้าน ได้เริ่มทำงานแล้วตั้งแต่เดือนกุมภาพันธ์ 2016 โดยไม่มีปัญหา
- ฉันได้ใช้ความพยายามอย่างมากในการทำให้โค้ดสมบูรณ์พร้อมคำอธิบาย ใช้ประโยชน์จากสิ่งนี้เพื่อเล่นกับพารามิเตอร์ที่หลากหลาย เช่น จำนวนการส่งโค้ด Nexa ต่อการระเบิด เวลาซิงค์ NTP เป็นต้น
- รหัสนี้ไม่มีการปรับเวลาตามฤดูกาล จำเป็นต้องปรับเปลี่ยนผ่านเว็บเบราว์เซอร์เมื่อนำมาใช้
ข้อควรพิจารณาบางประการ
- เพิ่มเสาอากาศไปยังโมดูลความถี่วิทยุ TX และ RX จะช่วยคุณประหยัดเวลาในการบ่นเกี่ยวกับประเด็นหลักสองประการ: ความยืดหยุ่นและช่วงของสัญญาณ RF ฉันใช้ลวด 50Ohms ยาว 17.28 ซม. (6.80 นิ้ว)
- คำสั่งสอนนี้อาจทำงานร่วมกับระบบอัตโนมัติภายในบ้านอื่นๆ เช่น Proove เป็นต้น หนึ่งในหลายๆ เงื่อนไขที่ต้องปฏิบัติตามคือให้ทำงานบนความถี่ 433.92MHz
- ปัญหาใหญ่ของ Arduino คือการจัดการกับไลบรารี่ที่อาจได้รับการอัปเดตอยู่ตลอดเวลา และจู่ๆ ก็ไม่สามารถกลับไปใช้งานได้กับภาพสเก็ตช์ "เก่า" ของคุณ ปัญหาเดียวกันอาจเกิดขึ้นเมื่ออัพเกรด Arduino IDE ของคุณ ระวังว่านี่อาจเป็นกรณีของเราที่นี่ - ใช่ ปัญหาของฉันด้วย
- เว็บไคลเอ็นต์พร้อมกันหลายตัวที่มีโหมดแสงต่างกันจะสร้างสถานะ "กะพริบ"
ภาพหน้าจอ
ในภาพหมุนด้านบน คุณจะพบภาพหน้าจอของหน้าเว็บที่แสดงเมื่อคุณเรียกใช้ Arduino ผ่านเว็บเบราว์เซอร์ของคุณ จากการกำหนดค่า IP เริ่มต้นของรหัส URL จะเป็น
ด้านหนึ่งที่อาจต้องมีการปรับปรุงคือการวางตำแหน่งของปุ่ม "ส่ง" เนื่องจากจะมีผลกับกล่องอินพุตทั้งหมด ไม่เพียงแต่ใน "การควบคุมอัตโนมัติแบบแสง" อย่างที่เราคิดเท่านั้น กล่าวคือ หากคุณต้องการเปลี่ยนค่าใดๆ ที่เป็นไปได้ คุณจะต้องกดปุ่ม "ส่ง" เสมอ
เอกสารรายละเอียด/ขั้นสูง
ฉันได้แนบไฟล์ต่อไปนี้เพื่อให้คุณเข้าใจโซลูชันทั้งหมด โดยเฉพาะสำหรับการแก้ไขปัญหาและปรับปรุง
Arduino_NexaControl_IS.pdf มีเอกสารเกี่ยวกับโซลูชันเซิร์ฟเวอร์ภายใน
Arduino_NexaControl_ES.pdf มีเอกสารเกี่ยวกับโซลูชันเซิร์ฟเวอร์ภายนอก
ข้อมูลอ้างอิงภายนอก
ระบบ Nexa (สวีเดน)
ขั้นตอนที่ 5: เสร็จแล้ว
คุณทำทุกอย่างเสร็จแล้ว!
กรณี Arduino Uno สามารถพบได้ใน Thingiverse เป็น "Arduino Uno Rev3 พร้อม Ethernet Shield XL-case"
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง