ฉันคิดว่ามีคนที่ไม่สะดวกที่จะเข้าใกล้หลอดไฟและเปิดไฟอย่างต่อเนื่องซึ่งเป็นเหตุผลว่าทำไมจึงมีความปรารถนาที่จะทำให้หลอดไฟทั้งหมดเปิดอย่างอิสระ ใช่มีซ็อกเก็ต "สมาร์ท" ที่ควบคุมผ่าน Wi-Fi มีซ็อกเก็ตที่ง่ายกว่าที่คุณสามารถตั้งเวลาตอบสนองได้ แต่แน่นอนคุณสามารถซื้อหรี่ไฟได้และไม่ต้องกังวล แต่ทั้งหมดนี้สามารถทำได้ ทำมันเอง (ยกเว้น Wi-Fi- ช่องเสียบ) แม้ว่าตัวเลือกนี้ใช้สำหรับเช่นแถบ LED เนื่องจากจะมีความแตกต่างบางอย่างเมื่อจัดการการหยุดพักในบุคคลของหรี่ดังกล่าวข้างต้น ในกรณีของเราความสว่างขึ้นอยู่กับแสงโดยรอบจะเปลี่ยนไปอย่างราบรื่น
รายละเอียดที่จำเป็น
1. ในกรณีนี้ - นาโนคุณสามารถทำอะไรที่เล็กกว่าได้เช่นไมโคร
2. องค์ประกอบแสงนี่คือตัวต้านทาน (18 KOhm) และ photoresistor (ฉันมีการเชื่อมต่อ SF-2 6A) ในซีรีส์ ทั้งหมดนี้จะทำงานเหมือนตัวต้านทานปรับค่า
3. ทรานซิสเตอร์ MOSFET ที่อ่อนแอกว่าดีกว่า 55 แอมแปร์มากเกินไป (หากการบริโภคในปัจจุบันมีขนาดเล็กดังนั้นไม่จำเป็นต้องใช้ทรานซิสเตอร์ที่ทรงพลังเป็นพิเศษ)
4. แน่นอนสายไฟ จำเป็นต้องใช้ลวดเส้นเล็กเพื่อนำ "เซ็นเซอร์" เข้าใกล้หน้าต่างมากขึ้นซึ่งมีความหนาเชื่อมต่อกับแหล่งจ่ายไฟของโคมไฟและไปที่ Arduinka (และโมดูลตัวเองไม่จำเป็นต้องแขวนบนลวดหนา แต่จะกินไฟน้อย)
การชุมนุม ขั้นตอนที่ 1
ควรตรวจสอบการทำงานของเซ็นเซอร์แสงชนิดนี้ด้วยวิธีที่ดีเพราะฉันพยายามทำทุกอย่างให้ถูกและง่ายที่สุด
คุณต้องมีตัวต้านทานและตัวรับแสง เราเชื่อมต่อพวกมันในซีรีย์ 5V และ GND พินจะเชื่อมต่อกับจุดเริ่มต้นและจุดสิ้นสุดส่วนตรงกลางจะเชื่อมต่อกับรายชื่ออะนาล็อกที่กำหนดในเฟิร์มแวร์หมายเลขของมันจะเปลี่ยนไป
หากมีข้อสงสัยว่าเซ็นเซอร์ดังกล่าวทำงานได้ไม่ดีคุณสามารถตรวจสอบได้โดยใช้รหัสด้านล่างและการตรวจสอบพอร์ต
รหัสเพื่อตรวจสอบหากมีข้อสงสัย:
#define potent_pin 0 // ผู้ติดต่อเท้ากลาง, 0 เปลี่ยนเป็นอนาล็อกอื่น ๆ
int val;
การตั้งค่าเป็นโมฆะ () {
Serial.begin (9600); // เปิดใช้งานเอาต์พุตไปยังพอร์ตที่ 9600 baud
}
void loop () {
val = analogRead (potent_pin);
val = map (val, 0, 1023, 0, 100); // 100 สามารถแทนที่ได้ด้วยค่าใด ๆ สูงสุดที่รวม 1,023 รายการ
val = ข้อ จำกัด (val, 0, 100); // 100 เปลี่ยนเป็นค่าที่ระบุด้านบนหากมีการเปลี่ยนแปลง
อนุกรม. println (val); // เอาท์พุทไปยังพอร์ตมอนิเตอร์
ล่าช้า (30); // ล่าช้า
}
หากค่าส่งออกมีการเปลี่ยนแปลงขึ้นอยู่กับการส่องสว่างแสดงว่าทุกอย่างเรียบร้อยดี
การชุมนุม ขั้นตอนที่ 2
เยี่ยมมากเซ็นเซอร์ทำงานได้ดี ตอนนี้เป็นเวลาที่จะสร้างรหัสเพื่อสร้างสัญญาณ PWM สำหรับควบคุมงานภาคสนาม
ข้อควรระวัง. PWM บนคอนโทรลเลอร์ ATmega168 / ATmega328 สร้างขึ้นที่พินดิจิตอล 3, 5, 6, 9, 10, และ 11 เท่านั้น
รหัส 2:
pwm int;
การตั้งค่าเป็นโมฆะ () {
}
void loop () {
pwm = analogRead (0);
pwm = map (pwm, 1023, 0, 0, 255);
pwm = ข้อ จำกัด (pwm, 0, 255);
analogWrite (3, pwm-255); // PWM เป็นดิจิตอลตัวที่สาม
}
จำนวน 255 สามารถเปลี่ยนแปลงได้ในช่วงจาก 0 ถึง 1,023 รวมและค่านี้สามารถเปลี่ยนแปลงได้โดยตรงในระหว่างการเดินทาง ตามแบบฝึกหัดแสดงให้ฉันเห็นว่ามากที่สุดคือ 255 ตัวเลือกที่ดีที่สุดถ้าน้อยกว่า - เผาผลาญสว่างเกินไปในระหว่างวันถ้ามีมากขึ้น - ไฟจะอ่อนแอลงเมื่อจำเป็น
การชุมนุม ฉากสุดท้ายของละคร
ที่ขา 5V และ GND เราประสานการติดต่อที่รุนแรงของตัวต้านทานของเราที่ A0 เราใส่จุดกึ่งกลาง เราประสานเกทของทรานซิสเตอร์สนามไฟฟ้ากับ D3 ซึ่งเป็นแหล่งกำเนิดพลังงานลบจาก Arduino และแหล่งจ่ายไฟไฟ LED ไปยังลบกับท่อระบายน้ำและพลังงานบวกกับบวกของแหล่งกำเนิด แผนผังดูเหมือนว่า:
มันไม่จำเป็นที่จะต้องใส่ทรานซิสเตอร์เอฟเฟกต์สนามลงบนหม้อน้ำเว้นแต่แน่นอนจะใช้อันทรงพลัง แต่ไม่มีความรู้สึกในพลังอันทรงพลังเป็นพิเศษ แต่ต้องใช้ลวดยาวเพื่อนำเซ็นเซอร์ไปยังสถานที่ที่แสงภายนอกไม่ตกเช่นหลังดอกไม้หรือข้างนอกผ่านหน้าต่าง ฯลฯ ขอแนะนำให้ใส่ตัวเก็บประจุบนแหล่งจ่ายไฟและท่อระบายของทรานซิสเตอร์สนามแม่เหล็กตัวอย่างเช่นเทปของฉันเริ่มทำงาน ไม่ถูกต้องจริงๆ Arduino ไม่สามารถขับเคลื่อนได้จาก USB หรือแหล่งจ่ายไฟจากโทรศัพท์ แต่มาจากแหล่งจ่ายไฟเทปโดยการจ่ายแรงดัน 7-15 โวลต์ไปยัง GND และ VIN
เคสทำจากร่างของแหล่งจ่ายไฟที่ถูกฆ่าซึ่งฉันใส่แหล่งจ่ายไฟของเทปและ Arduino ด้วยตัวเชื่อมต่อบัดกรี เขาเกือบจะมีขนาดพอดี แต่เขาก็ติดเทปอยู่ตลอดเวลา
ดังนั้นฉันจึงปิดเซ็นเซอร์ด้วยมือของฉัน:
แต่ฉันไม่จับมือเขาไว้:
สิ่งนี้มีประโยชน์ที่ไหน?
การออกแบบนี้สามารถช่วยงานที่มีความละเอียดอ่อนซึ่งคุณต้องการแบ็คไลท์ที่เสถียรเช่นหากคุณลืมเปิดไฟ แต่เทปเปิดอยู่ นอกจากนี้ยังสะดวกต่อการใช้งานหากคุณมีต้นกล้าอยู่ที่อื่นเพื่อนำไปปลูกบนเตียงในสวน มันอยู่ที่ไหนที่จะใช้เพื่อตัดสินแน่นอนกับคุณ
ป.ล. จริง ๆ มือฉันคดเคี้ยวและติด LED ไม่ถูกต้องบนวงจร
#define potent_pin 0 // ผู้ติดต่อเท้ากลาง, 0 เปลี่ยนเป็นอนาล็อกอื่น ๆ
int val;
การตั้งค่าเป็นโมฆะ () {
Serial.begin (9600); // เปิดใช้งานเอาต์พุตไปยังพอร์ตที่ 9600 baud
}
void loop () {
val = analogRead (potent_pin);
val = map (val, 0, 1023, 0, 100); // 100 สามารถแทนที่ได้ด้วยค่าใด ๆ สูงสุดที่รวม 1,023 รายการ
val = ข้อ จำกัด (val, 0, 100); // 100 เปลี่ยนเป็นค่าที่ระบุด้านบนหากมีการเปลี่ยนแปลง
อนุกรม. println (val); // เอาท์พุทไปยังพอร์ตมอนิเตอร์
ล่าช้า (30); // ล่าช้า
}
pwm int;
การตั้งค่าเป็นโมฆะ () {
}
void loop () {
pwm = analogRead (0);
pwm = map (pwm, 1023, 0, 0, 255);
pwm = ข้อ จำกัด (pwm, 0, 255);
analogWrite (3, pwm-255); // PWM เป็นดิจิตอลตัวที่สาม
}
ที่ขา 5V และ GND เราประสานการติดต่อที่รุนแรงของตัวต้านทานของเราที่ A0 เราใส่จุดกึ่งกลาง เราประสานเกทของทรานซิสเตอร์สนามไฟฟ้ากับ D3 ซึ่งเป็นแหล่งกำเนิดพลังงานลบจาก Arduino และแหล่งจ่ายไฟไฟ LED ไปยังลบกับท่อระบายน้ำและพลังงานบวกกับบวกของแหล่งกำเนิด แผนผังดูเหมือนว่า:
มันไม่จำเป็นที่จะต้องใส่ทรานซิสเตอร์เอฟเฟกต์สนามลงบนหม้อน้ำเว้นแต่แน่นอนจะใช้อันทรงพลัง แต่ไม่มีความรู้สึกในพลังอันทรงพลังเป็นพิเศษ แต่ต้องใช้ลวดยาวเพื่อนำเซ็นเซอร์ไปยังสถานที่ที่แสงภายนอกไม่ตกเช่นหลังดอกไม้หรือข้างนอกผ่านหน้าต่าง ฯลฯ ขอแนะนำให้ใส่ตัวเก็บประจุบนแหล่งจ่ายไฟและท่อระบายของทรานซิสเตอร์สนามแม่เหล็กตัวอย่างเช่นเทปของฉันเริ่มทำงาน ไม่ถูกต้องจริงๆ Arduino ไม่สามารถขับเคลื่อนได้จาก USB หรือแหล่งจ่ายไฟจากโทรศัพท์ แต่มาจากแหล่งจ่ายไฟเทปโดยการจ่ายแรงดัน 7-15 โวลต์ไปยัง GND และ VIN
เคสทำจากร่างของแหล่งจ่ายไฟที่ถูกฆ่าซึ่งฉันใส่แหล่งจ่ายไฟของเทปและ Arduino ด้วยตัวเชื่อมต่อบัดกรี เขาเกือบจะมีขนาดพอดี แต่เขาก็ติดเทปอยู่ตลอดเวลา
ดังนั้นฉันจึงปิดเซ็นเซอร์ด้วยมือของฉัน:
แต่ฉันไม่จับมือเขาไว้:
สิ่งนี้มีประโยชน์ที่ไหน?
การออกแบบนี้สามารถช่วยงานที่มีความละเอียดอ่อนซึ่งคุณต้องการแบ็คไลท์ที่เสถียรเช่นหากคุณลืมเปิดไฟ แต่เทปเปิดอยู่ นอกจากนี้ยังสะดวกต่อการใช้งานหากคุณมีต้นกล้าอยู่ที่อื่นเพื่อนำไปปลูกบนเตียงในสวน มันอยู่ที่ไหนที่จะใช้เพื่อตัดสินแน่นอนกับคุณ
ป.ล. จริง ๆ มือฉันคดเคี้ยวและติด LED ไม่ถูกต้องบนวงจร