สารบัญ:
- ขั้นตอนที่ 1: มันทำงานอย่างไร
- ขั้นตอนที่ 2: รหัส
- ขั้นตอนที่ 3: ทดสอบ 1
- ขั้นตอนที่ 4: ใครเป็นผู้ขับรีเลย์
- ขั้นตอนที่ 5: เชื่อมต่ออุปกรณ์
- ขั้นตอนที่ 6: สัมผัสสุดท้าย…และเสร็จแล้ว
- ขั้นตอนที่ 7: รหัสเดินผ่าน
วีดีโอ: ไฟห้องอัตโนมัติพร้อมเคาน์เตอร์ผู้มาเยี่ยม!: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
เฮ้! หากคุณต้องการกำจัดสวิตช์ไฟที่น่าเบื่อและทำให้ไฟห้องของคุณเป็นแบบอัตโนมัติในราคาถูก คุณมาถูกที่แล้ว! โครงการนี้จะเป็นเรื่องง่ายมากที่จะสร้าง อย่ามองข้ามความเรียบง่าย มันจะเจ๋งจริง ๆ และใช้งานได้ 100% และใช่ มันสร้างโดยใช้ Arduino ดังนั้นเตรียมตัวให้พร้อมแล้วมาเริ่มกันเลย
ส่วนประกอบ:
Arduino Uno/นาโน
โมดูลรีเลย์ (จำนวนช่องขึ้นอยู่กับคุณ ขึ้นอยู่กับจำนวนไฟที่คุณต้องการทำให้เป็นอัตโนมัติ)
สายจัมเปอร์
BC547 (หรือวัตถุประสงค์ทั่วไป) ทรานซิสเตอร์
2x เซ็นเซอร์สิ่งกีดขวาง IR (ไม่ใช่เซ็นเซอร์ PIR)
กล่องใส่อุปกรณ์อิเล็กทรอนิกส์ทั้งหมดลงใน
เครื่องมือ:
หัวแร้ง (ไม่จำเป็น)
เทปและกรรไกร
ปืนกาว (อุปกรณ์เสริม)
คุณจะต้องใช้แล็ปท็อป/เดสก์ท็อปเพื่อตั้งโปรแกรม Arduino ของคุณ
ขั้นตอนที่ 1: มันทำงานอย่างไร
มาพูดถึงตรรกะกันดีกว่า โดยทั่วไป ไฟในห้องควรเปิดเมื่อมีคนเข้ามาและปิดเมื่อเขา/เธอออก นั่นไม่ใช่ทั้งหมด. กรณีคนที่ 1 เข้ามา และคนที่ 2 เข้ามา ในกรณีนี้ ไฟไม่ควรดับเมื่อไฟดวงใดดวงหนึ่งดับลง พวกเขาต้องปิดเมื่อทั้งคู่ออกไปเท่านั้น ดังนั้นเครื่องของเราควรจะสามารถนับจำนวนคนเข้าห้องและจำนวนคนที่ออกจากห้องได้ ดูเหมือนซับซ้อน? ใช่ ถ้าคุณคิดจะสร้างวงจรเฉพาะเพื่อจุดประสงค์นี้ แต่เรามีผู้ช่วยชีวิต กลองม้วนโปรด ขอแนะนำ ARDUINO! ตกลงคุณอาจจะรู้เกี่ยวกับมัน
เราแค่ต้องเขียนโค้ดตามวัตถุประสงค์และโครงการของเราเสร็จสิ้น 90%! เราจะพูดถึงรหัสในภายหลัง ก่อนอื่นเรามาพูดถึงวิธีที่เราสามารถให้ข้อมูลการเข้าหรือออกจาก Arduino ของเราได้ สิ่งที่เรากำลังจะสร้างเรียกว่าตัวนับผู้เข้าชมแบบสองทิศทาง หากคุณค้นหาทางออนไลน์ คุณจะพบโครงการดังกล่าวมากมาย แต่ส่วนใหญ่ใช้ไมโครคอนโทรลเลอร์ 8051 และเราต้องการวงจรเฉพาะเพื่อตั้งโปรแกรม ทำไมคุณถึงทำมากขนาดนี้ในเมื่อคุณสามารถซื้อ Arduino nano ได้ในราคาประมาณ $5 และตั้งโปรแกรม
นี่คือสิ่งที่เรากำลังจะทำ เราจะมีเซ็นเซอร์สิ่งกีดขวางสองตัวติดอยู่ที่ด้านข้างประตูของเรา อันหนึ่งอยู่นอกห้อง (เรียกว่าเซ็นเซอร์1) และอีกอันหนึ่งอยู่ข้างใน (เซ็นเซอร์2) เมื่อมีคนเข้ามาในห้อง เซ็นเซอร์ 1 จะตรวจจับเขาก่อน และเมื่อเขาออกจากห้อง เซ็นเซอร์ 2 จะตรวจจับเขาก่อน เราสามารถใช้ตรรกะนี้เพื่อบอก Arduino ว่ามีคนเข้าหรือออกจากห้องหรือไม่ ไม่ต้องกังวล รหัสไม่ซับซ้อน
ขั้นตอนที่ 2: รหัส
รหัส…คุณสามารถหารหัสได้ที่ส่วนท้ายของคำสั่ง ก่อนที่คุณจะเลื่อนลงมาเพื่อดาวน์โหลด ให้ฉันบอกคุณว่ารหัสของฉันคือการควบคุมไฟเพียงดวงเดียว เช่น รีเลย์ตัวเดียว ในกรณีที่คุณต้องการปรับเปลี่ยนเพื่อควบคุมมากขึ้น คุณสามารถทำได้ตราบเท่าที่คุณคุ้นเคยกับ Arduino ide
ตามปกติ มีสองวิธีในการเขียนโค้ด Arduino ของคุณ หนึ่ง (ง่ายที่สุด) คือการคัดลอกโค้ดที่นี่ วางลงใน Arduino ide แล้วอัปโหลด อีกอย่างคือการเข้าใจการทำงานและเขียนโค้ดด้วยตัวเอง ฉันทิ้งตัวเลือกให้คุณ แต่ฉันจะทำแบบแนะนำรหัสในตอนท้าย
ตรวจสอบให้แน่ใจว่า Arduino ของคุณไม่ได้เชื่อมต่อกับสิ่งอื่นใดนอกจากพีซีของคุณเมื่อคุณอัปโหลดภาพร่าง (โค้ด) เมื่ออัปโหลดเสร็จแล้ว เราไปทดสอบกันได้เลย
ขั้นตอนที่ 3: ทดสอบ 1
เพียงเชื่อมต่อเซ็นเซอร์ IR กับพินตามลำดับของ Arduino (ในกรณีนี้คือเซ็นเซอร์ซึ่งอยู่นอกห้องเพื่อพิน 14 และเซ็นเซอร์ด้านในเพื่อพิน 15) ให้อ้างอิงรหัสอีกครั้งเพื่อให้แน่ใจว่าคุณได้เชื่อมต่อเซ็นเซอร์กับพินที่ถูกต้องแล้ว ฉันใช้ LED เพื่อทดสอบเอาต์พุตแทนรีเลย์ ดังนั้นฉันจึงเชื่อมต่อพินบวกของ LED กับพิน 2 ของ Arduino (ตามรหัส) และพินเชิงลบกับ GND ตอนนี้ขยับมือของคุณจากเซ็นเซอร์ 1 ไปที่เซ็นเซอร์ 2 เพื่อจำลองคนที่เข้ามาในห้อง
คุณควรเห็นไฟ LED เปิดขึ้น เลื่อนมือของคุณจากเซ็นเซอร์ 2 ไปยังเซ็นเซอร์ 1 และไฟ LED จะดับลง เยี่ยมไปเลย ไม่ น่าเสียดายที่มันไม่ได้ผลสำหรับฉัน อีกครั้ง! การทดลองครั้งแรกของฉันล้มเหลวเสมอ!
ฉันตรวจสอบรหัสของฉันซ้ำแล้วซ้ำอีกและพบข้อผิดพลาดเล็กน้อย จำเป็นต้องมีความล่าช้าหลังจากที่มือ (คน) ผ่านเซ็นเซอร์แต่ละตัว ไม่เช่นนั้นเซ็นเซอร์อีกตัวจะตรวจจับบุคคลนั้นและปิดไฟ LED ในไม่ช้า ดังนั้นฉันจึงทำการเปลี่ยนแปลงที่จำเป็นในโค้ดและลองอีกครั้ง อุปกรณ์ทำงานตามที่คาดไว้ ไม่ต้องกังวล รหัสที่ฉันแนบในคำแนะนำนี้เป็นรหัสที่อัปเดต ดังนั้นจึงไม่ควรผิดพลาดสำหรับคุณเช่นกัน เว้นแต่จะมีปัญหาการเชื่อมต่อในวงจร เจ๋งมาทำวงจรรีเลย์กัน!
ขั้นตอนที่ 4: ใครเป็นผู้ขับรีเลย์
ในกรณีที่คุณใช้โมดูลรีเลย์ Arduino คุณสามารถข้ามขั้นตอนนี้ได้ เนื่องจากโมดูลดังกล่าวมีวงจรขับรีเลย์ในตัวอยู่แล้ว ก่อนอื่นคุณอาจถามว่าทำไมต้องแยกวงจรสำหรับรีเลย์? เอาต์พุตของ Arduino ไม่มีพลังงานเพียงพอที่จะขับรีเลย์ ดังนั้นเราจึงต้องการแหล่งจ่ายไฟแยกต่างหากสำหรับรีเลย์ เราจะใช้เอาต์พุต 5v ของ Arduino เห็นได้ชัดว่ารีเลย์ของเราควรได้รับการจัดอันดับ 5v dc และเอาต์พุต 250v AC 10A เพียงแค่เชื่อมต่อรีเลย์กับแหล่งจ่ายไฟ Arduino 5v จะไม่ทำงาน เรายังต้องทริกเกอร์รีเลย์จากเอาต์พุตที่ตั้งโปรแกรมไว้ของเรา (ในกรณีนี้คือพิน 2 ของ Arduino)
ดังนั้นเราจะใช้ทรานซิสเตอร์เอนกประสงค์สำหรับสิ่งนี้ คุณสามารถต่อวงจรได้ตามแผนภาพ โดยพื้นฐานแล้ว ฐานของทรานซิสเตอร์จะรับทริกเกอร์และทำให้วงจรระหว่างรีเลย์และ 5v สมบูรณ์เพื่อเปิดใช้งานและเปิดใช้งานหลอดไฟที่เชื่อมต่ออยู่
ขั้นตอนที่ 5: เชื่อมต่ออุปกรณ์
เมื่อทุกอย่างพร้อมและใช้งานได้แล้ว เราจำเป็นต้องเชื่อมต่อรีเลย์ระหว่างสายไฟสดและหลอดไฟของสายไฟในครัวเรือน คำเตือน! คุณจะจัดการกับ 220v AC และนี่ไม่ใช่เรื่องเล็ก โปรดอย่าพยายามเปลี่ยนแปลงสายไฟในครัวเรือนด้วยตัวเอง (ตราบใดที่คุณไม่ใช่วิศวกรไฟฟ้าที่ผ่านการฝึกอบรมมาแล้ว) ฉันจะไม่รับผิดชอบหากเกิดอะไรขึ้นกับคุณในระหว่างนี้ (รวมถึงถ้าคุณตกใจและกลายเป็นซูเปอร์ฮีโร่เช่นแฟลช ฯลฯ:-p)
ล้อเล่น อย่าพยายามเป็นซูเปอร์ฮีโร่ด้วยการตกใจกับไฟ AC ตรรกะเหล่านั้นเป็นเรื่องไร้สาระ
ฉันขอแนะนำให้ใช้หลอดไฟ LED แบบชาร์จไฟได้กำลังสูงแทนที่จะยุ่งกับหลอดไฟ AC อย่างไรก็ตามฉันไม่เคยยุ่งกับการเดินสายไฟ AC ในบ้านของฉัน ฉันใช้ที่ยึดหลอดไฟแยกต่างหาก ต่อสายทองแดงหนึ่งคู่ บัดกรีรีเลย์ระหว่างนั้นและต่อสายไฟเข้ากับเต้ารับบนผนัง (ตรวจสอบให้แน่ใจว่ารีเลย์เชื่อมต่อแบบอนุกรมกับที่ยึดหลอดไฟผ่านสายที่มีไฟฟ้าอยู่ ไม่ใช่เป็นกลาง) ฉันทำกล่องกระดาษแข็งขนาดเล็กเพื่อใส่รีเลย์ จากนั้นฉันก็ซ่อมหลอดไฟ LED 9 วัตต์กับที่ยึดหลอดไฟและเปิดเครื่องทุกอย่าง อุปกรณ์ทำงานไม่มีที่ติ! เย็น!
ขั้นตอนที่ 6: สัมผัสสุดท้าย…และเสร็จแล้ว
สุดท้าย ฉันซ่อมเซ็นเซอร์ทั้งภายนอกและภายในห้องข้างประตูและแขวนที่ยึดหลอดไฟไว้บนเพดาน ตอนนี้เมื่อฉันเข้าไปในห้องหลอดไฟจะเปิดขึ้นและเมื่อฉันออกมาก็จะดับลง ฉันลองกับคนจำนวนมากเข้ามาในห้องและทุกอย่างก็ใช้ได้ดี
แม้ว่าจะมีสองปัญหาที่ฉันเผชิญ เมื่อคนสองคนเข้ามาในห้องพร้อมกัน เซ็นเซอร์จะลงทะเบียนพวกเขาเป็นรายการเดียว แน่นอนเพราะเซนเซอร์ตรวจจับสิ่งกีดขวางได้เพียงสิ่งเดียวเท่านั้น อีกปัญหาหนึ่งคือ เซ็นเซอร์ค่อนข้างอ่อนแอ ไม่สามารถตรวจจับได้ว่าบุคคลหนึ่งกำลังเคลื่อนตัวออกห่างจากมันมากเกินไปหรือไม่ ฉันสามารถแก้ไขปัญหาที่สองได้โดยหาโมดูลเซ็นเซอร์ IR ที่ดีกว่า แต่โมดูลแรกต้องการเซ็นเซอร์และการเขียนโปรแกรมเพิ่มเติม แต่เป็นปัญหาที่เกิดขึ้นน้อยมาก และคุณไม่จำเป็นต้องกังวลหากคุณมีประตูบานเล็ก โดยรวมแล้วมันดูดีมากสำหรับเงินที่จ่ายไปสำหรับส่วนประกอบ
ฉันไม่สามารถรับรูปภาพของผลิตภัณฑ์ขั้นสุดท้ายได้ เนื่องจากฉันได้ลบทุกอย่างสำหรับโปรเจ็กต์อื่นแล้ว ขอโทษสำหรับสิ่งนั้น. มันค่อนข้างเจ๋ง แต่ฉันรู้สึกตื่นเต้นมากขึ้นสำหรับโครงการต่อไป
ขั้นตอนที่ 7: รหัสเดินผ่าน
ตามปกติ ก่อนที่คุณจะกดปุ่มย้อนกลับ โปรดโหวตคำแนะนำของฉันสำหรับการแข่งขัน ขอขอบคุณ.
รหัสเริ่มต้นด้วยการเริ่มต้นการนับตัวแปรเพื่อเก็บจำนวนคนเข้า/ออกจากห้อง เราประกาศ 14 และ 15 เป็นพินอินพุตและ 2 เป็นเอาต์พุตไปยังรีเลย์ ในฟังก์ชันวนรอบ หัวใจของโค้ดอยู่ที่ แต่ละครั้งที่พิน 14 อ่านค่าสูง การนับจะเพิ่มขึ้น 1 และทุกครั้งที่พิน 15 อ่านค่าสูง การนับจะลดลง 1 ฉันได้พูดถึงความจำเป็นในการหน่วงเวลาในขั้นตอนที่ 3 เมื่อการนับเป็นศูนย์ พินรีเลย์ เช่น พิน 2 ถูกตั้งค่าต่ำ (ปิด) เราได้เพิ่มจำนวนคำสั่งพิเศษ count=0 เพื่อตั้งค่าให้เป็นศูนย์ในกรณีที่เป็นค่าลบเนื่องจากเหตุผลบางประการ
ตราบใดที่จำนวนไม่เป็นศูนย์ รีเลย์ (พิน 2) จะอยู่ในสถานะสูง (เปิด)
หวังว่าคุณจะเข้าใจ. ขอบคุณ แล้วเจอกันใหม่ตอนหน้า!
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง