สารบัญ:

แท่นวางโทรศัพท์ควบคุมด้วย Arduino พร้อมโคมไฟ: 14 ขั้นตอน (พร้อมรูปภาพ)
แท่นวางโทรศัพท์ควบคุมด้วย Arduino พร้อมโคมไฟ: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: แท่นวางโทรศัพท์ควบคุมด้วย Arduino พร้อมโคมไฟ: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: แท่นวางโทรศัพท์ควบคุมด้วย Arduino พร้อมโคมไฟ: 14 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: เข้าใจและเขียนโปรแกรมควบคุมArduinoได้ ภายใน 2 ชม. Ep.1 2024, พฤศจิกายน
Anonim
Image
Image
แท่นวางโทรศัพท์ควบคุมด้วย Arduino พร้อมโคมไฟ
แท่นวางโทรศัพท์ควบคุมด้วย Arduino พร้อมโคมไฟ
แท่นวางโทรศัพท์ควบคุมด้วย Arduino พร้อมโคมไฟ
แท่นวางโทรศัพท์ควบคุมด้วย Arduino พร้อมโคมไฟ

แนวคิดนี้เรียบง่ายพอสมควร สร้างแท่นชาร์จโทรศัพท์ที่จะเปิดไฟเมื่อโทรศัพท์กำลังชาร์จเท่านั้น อย่างไรก็ตาม ตามปกติแล้ว สิ่งที่ดูเหมือนง่ายในตอนแรกอาจจบลงด้วยการดำเนินการที่ซับซ้อนขึ้นเล็กน้อย นี่คือเรื่องราวของวิธีที่ฉันสร้างแท่นชาร์จโทรศัพท์แบบคู่เพื่อทำงานง่ายๆ ของฉันให้สำเร็จ

ขั้นตอนที่ 1: สิ่งที่ฉันใช้

สิ่งที่ฉันใช้
สิ่งที่ฉันใช้
สิ่งที่ฉันใช้
สิ่งที่ฉันใช้
สิ่งที่ฉันใช้
สิ่งที่ฉันใช้

นี่ไม่ใช่รายการที่ละเอียดถี่ถ้วนของทุกสิ่งที่ฉันใช้ แต่ฉันต้องการให้แนวคิดทั่วไปเกี่ยวกับส่วนประกอบหลักที่ฉันใช้ ฉันได้รวมลิงก์ Amazon สำหรับส่วนประกอบเหล่านี้ส่วนใหญ่แล้ว (โปรดทราบว่าฉันได้รับค่าคอมมิชชั่นเล็กน้อยจาก Amazon หากคุณใช้ลิงก์เหล่านี้ ขอบคุณ!)

Arduino Uno: https://amzn.to/2c2onfeAdafruit 5V DC Current Sensor (x2): https://amzn.to/2citA0S2-Channel โซลิดสเตตรีเลย์: https://amzn.to/2cmKfkA 4-Port USB Box: https://amzn.to/2cmKfkA สาย USB แบบยึดกับแผง 1' (x2): https://amzn.to/2cmKfkA สาย USB AB ขนาด 6 :

ฉันยังใช้อุปกรณ์ที่มารับที่ร้านฮาร์ดแวร์ดังต่อไปนี้: กล่องท่อพลาสติกขนาด 4"x4" (x2)หลอดไฟ Edison 40W (x2)ซ็อกเก็ตหลอดไฟรางไฟขายึดท่อเหล็กดำสารพัน (3/8") อุปกรณ์ท่อทองเหลืองสารพัน3 ' ถั่ว CordWire ต่อ

ขั้นตอนที่ 2: การทดลอง ออกแบบ และเดินสาย

การทดลอง ออกแบบ และเดินสายไฟ
การทดลอง ออกแบบ และเดินสายไฟ

เพื่อที่จะระบุเวลาที่โทรศัพท์กำลังชาร์จ กระแสไฟที่ส่งไปยังโทรศัพท์จะต้องได้รับการตรวจสอบอย่างต่อเนื่อง แม้ว่าฉันจะแน่ใจว่ามีการออกแบบวงจรที่สามารถวัดกระแสและควบคุมรีเลย์ตามระดับปัจจุบันได้ แต่ฉันไม่ใช่ผู้เชี่ยวชาญด้านไฟฟ้าและไม่ต้องการจัดการกับการสร้างวงจรแบบกำหนดเอง จากประสบการณ์บางอย่าง ฉันรู้ว่าไมโครคอนโทรลเลอร์ขนาดเล็ก (Arduino) สามารถใช้วัดกระแสและควบคุมรีเลย์เพื่อเปิดและปิดไฟได้ หลังจากพบเซ็นเซอร์กระแสไฟ DC ขนาดเล็กโดย Adafruit ฉันก็เริ่มทดลองเชื่อมต่อกับสาย USB เพื่อวัดกระแสที่ไหลผ่านขณะชาร์จโทรศัพท์ สายเคเบิล USB 2.0 ทั่วไปมี 4 สาย ได้แก่ สีขาว สีดำ สีเขียว และสีแดง เนื่องจากสายไฟสีดำและสีแดงส่งกระแสไฟผ่านสายเคเบิล จึงสามารถใช้สายใดสายหนึ่งเหล่านี้เพื่อวัดกระแสไฟ - ฉันใช้สายสีแดง ต้องวางเซ็นเซอร์กระแสทั่วไปในแนวเดียวกับการไหลของกระแส (กระแสต้องไหลผ่านเซ็นเซอร์) และเซ็นเซอร์ Adafruit ก็ไม่ใช่ข้อยกเว้นสำหรับกฎนี้ ลวดสีแดงถูกตัดโดยที่ปลายตัดทั้งสองข้างติดอยู่กับขั้วสกรูสองตัวบนเซ็นเซอร์ปัจจุบัน เซ็นเซอร์ Adafruit เชื่อมต่อกับ Arduino และฉันเขียนโค้ดง่ายๆ เพื่อรายงานกระแสไหลผ่านเซ็นเซอร์ การทดลองง่ายๆ นี้แสดงให้ฉันเห็นว่าโทรศัพท์ที่ชาร์จใช้กระแสไฟระหว่าง 100 ถึง 400 mA หลังจากที่ชาร์จโทรศัพท์จนเต็มแล้ว กระแสไฟจะลดลงต่ำกว่า 100 mA แต่จะไม่ถึง 0

ด้วยการทดลองของฉันที่แสดงให้เห็นว่าฉันสามารถวัดกระแสไหลด้วย Arduino ได้สำเร็จ ฉันจึงออกแบบวงจรที่แสดงด้านบนนี้ สายต่อ USB แบบติดตั้งบนแผงขนาด 1' จำนวน 2 เส้นจะเชื่อมต่อกับกล่องชาร์จแบบ 4 พอร์ต สายชาร์จโทรศัพท์จะเชื่อมต่อกับสายต่อเหล่านี้ ทำให้ระบบสามารถรองรับสายชาร์จ USB ได้ทุกประเภท และหวังว่าจะเป็น "การพิสูจน์โทรศัพท์ในอนาคต" สายสีแดงของสายต่อจะถูกตัดและเชื่อมต่อกับเซ็นเซอร์ปัจจุบัน เซ็นเซอร์ปัจจุบันให้ข้อมูลกับ Arduino ซึ่งจะควบคุมรีเลย์โซลิดสเตตสองช่องสัญญาณ รีเลย์ใช้สำหรับเปลี่ยนไฟ 110V เป็นหลอดไฟ สามารถต่อไฟที่กล่อง USB และหลอดไฟเข้าด้วยกันเพื่อให้ระบบใช้เต้ารับเดียวได้ ฉันชอบวิธีการจ่ายไฟให้กับ Arduino โดยเฉพาะอย่างยิ่งจากพอร์ต USB พิเศษตัวใดตัวหนึ่งในกล่องชาร์จ

ขั้นตอนที่ 3: แท่นวางโทรศัพท์

แท่นวางโทรศัพท์
แท่นวางโทรศัพท์

ที่วางโทรศัพท์สร้างจากท่อสีดำขนาด 3/8" ฉันใช้ข้อศอกชาย-หญิงสองตัว, ตัว T, ส่วนสั้นที่ร้อยเกลียวเต็ม และหน้าแปลนกลม สำหรับชิ้นส่วนทองเหลืองที่ส่วนบนของแท่นชาร์จ ฉันตัด ท่อทองเหลืองยาว 1 1/2" ผ่าครึ่ง ใช้ครึ่งท่อนต่อท่อน เจาะรูเล็กๆ ใน T ซึ่งใหญ่พอที่จะรองรับปลายสายไฟได้ สายเคเบิลทำงานผ่านข้อศอกและเชื่อม JB เข้ากับท่อทองเหลือง สิ่งนี้ลงเอยยากกว่าที่เห็นมากเนื่องจากข้อศอกด้านในไม่ใหญ่พอที่จะใส่สายไฟที่ปลายสายได้ ฉันลงเอยด้วยการคว้านด้านในของข้อศอกจนเข้าที่

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

ขั้นตอนที่ 4: โคมไฟ

โคมไฟ
โคมไฟ
โคมไฟ
โคมไฟ

ฉันต้องการให้โคมไฟมีลักษณะทางอุตสาหกรรมที่คล้ายกับของท่าเรือ สำหรับหลอดไฟดวงแรก ฉันใช้ซ็อกเก็ตหลอดไฟทั่วไปที่ด้านบนของหน้าแปลนท่อขนาด 3/8 ท่อทองเหลืองขนาดเล็กบางท่อเชื่อมต่อฐานกับซ็อกเก็ตและเสริมส่วนเน้นสีทองเหลืองที่แท่นวาง หลอดไฟ Edison ขนาด 40W เป็นดาวเด่นจริงๆ ของโคมไฟนี้ ฉันต้องการใช้หลอดไฟ Edison ที่เข้ากันได้ดีกับการออกแบบของ Dock นี้และช่วยให้คุณสร้างโคมไฟแบบเปิดโล่งที่สวยงามได้

ขณะอยู่ที่ Lowe's ฉันพบว่ามีขายึดไฟส่องบริเวณช่องว่างที่ฉันคิดว่าน่าสนใจ ฉันพลิกขายึดกลับด้านและเพิ่มหน้าแปลนท่อเพื่อสร้างฐาน ซ็อกเก็ตในฐานติดตั้งไฟรางไม่ได้ติดอยู่กับมัน เนื่องจากได้รับการออกแบบมาให้ยึดกับหลอดไฟแบบหน้าเรียบ เนื่องจากฉันใช้หลอดไฟ Edison ฉันจึงสร้างขายึดอะลูมิเนียมขนาดเล็กเพื่อยึดซ็อกเก็ตในตัวเรือนทรงกลมของโครงยึดไฟแทร็ก เพิ่มลูกบิดทองเหลืองขนาดเล็กเพื่อเสริมส่วนที่เหลือของระบบ

เมื่อท่าเรือและไฟสร้างเสร็จ พวกเขาก็ทาสีดำด้าน ยกเว้นเศษทองเหลือง

ขั้นตอนที่ 5: Arduino Enclosure

กล่องใส่ Arduino
กล่องใส่ Arduino
กล่องใส่ Arduino
กล่องใส่ Arduino
กล่องใส่ Arduino
กล่องใส่ Arduino

ฉันใช้เปลือก PVC ขนาด 4" x 4" สองตัวสำหรับตัวเรือน Arduino ฉันตัดช่องระบายอากาศออกเป็นด้านเดียวและฝาปิดของแต่ละตู้ ที่ด้านข้างของโครงเครื่องหนึ่ง ฉันตัดรูสี่เหลี่ยมสองรูสำหรับสายเคเบิล USB ที่ยึดกับแผงควบคุม รูที่เว้นระยะห่าง 1 1/8" ตรงกลางถูกเจาะที่ทั้งสองด้านของรูสี่เหลี่ยมเหล่านี้และใช้เพื่อต่อสายเคเบิลเข้ากับกล่องหุ้ม ด้านหนึ่งของกล่องหุ้มทั้งสองข้างถูกตัดออกเพื่อให้กล่องทั้งสองรวมกันเป็นกล่องเดียวเมื่อ วางเคียงข้างกัน บล็อกไม้หนา 3/4 นิ้วถูกใช้เพื่อยึดกล่องในการกำหนดค่าแบบเคียงข้างกัน และยังสร้างฐานที่สะดวกสำหรับพวกเขาที่จะนั่งบน

ขั้นตอนที่ 6: แนบ USB Box

แนบกล่อง USB
แนบกล่อง USB

ส่วนประกอบแรกที่จะเพิ่มลงในกล่องหุ้มคือกล่องชาร์จ USB แบบ 4 พอร์ต ฉันเพียงแค่แก้ไขสิ่งนี้ด้วยเทปสองหน้า

ขั้นตอนที่ 7: ติดตั้ง Arduino ในสิ่งที่แนบมา

เมานต์ Arduino ในสิ่งที่แนบมา
เมานต์ Arduino ในสิ่งที่แนบมา
เมานต์ Arduino ในสิ่งที่แนบมา
เมานต์ Arduino ในสิ่งที่แนบมา
เมานต์ Arduino ในสิ่งที่แนบมา
เมานต์ Arduino ในสิ่งที่แนบมา

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

เมื่อติดตั้ง Arduino แล้ว สายเคเบิล USB ชนิด AB แบบสั้น (6 ) ถูกเชื่อมต่อระหว่างพอร์ต USB ของ Arduino กับพอร์ตที่ใกล้ที่สุดของกล่องชาร์จ ซึ่งพอดีกับสายไฟจริงๆ และฉันต้องตัดกลับ เศษพลาสติกที่โค้งงอรอบๆ ลวดที่ปลายสายเพื่อให้พอดี

ขั้นตอนที่ 8: การเดินสายไฟและติดตั้งรีเลย์

การเดินสายไฟและการติดตั้งรีเลย์
การเดินสายไฟและการติดตั้งรีเลย์
การเดินสายไฟและการติดตั้งรีเลย์
การเดินสายไฟและการติดตั้งรีเลย์
การเดินสายไฟและการติดตั้งรีเลย์
การเดินสายไฟและการติดตั้งรีเลย์
การเดินสายไฟและการติดตั้งรีเลย์
การเดินสายไฟและการติดตั้งรีเลย์

สายไฟที่ต่อกับโคมไฟถูกป้อนผ่านรูในกล่องหุ้ม สายหนึ่งเส้นจากแต่ละสายเชื่อมต่อกับเอาต์พุต (ด้านสวิตช์ 120V) ของทั้งสองช่องสัญญาณของโซลิดสเตตรีเลย์ ส่วนลวดแบบสั้น (4 ) ต่อกับขั้วสกรูที่เหลือซึ่งอยู่ติดกับตำแหน่งที่ต่อสายไฟของหลอดไฟเหล่านี้ สายไฟเหล่านี้จะใช้เพื่อจ่ายพลังงานให้กับด้าน 120V ของรีเลย์

ที่ด้าน DC ของรีเลย์ มีการต่อสายไฟ 4 เส้นตามการกำหนดค่าที่แสดง สายไฟสองเส้นจ่ายกระแสไฟ + และ - DC ที่จำเป็นสำหรับการทำงานของรีเลย์ ในขณะที่อีกสองสายที่เหลือจะมีสัญญาณดิจิตอล ซึ่งจะบอกให้ช่องเปิดหรือปิด

จากนั้นต่อสายไฟ 4 เส้นนี้เข้ากับ Arduino ดังนี้: สายสีแดง (DC+) เชื่อมต่อกับพิน 5V สายสีดำ (DC-) เชื่อมต่อกับพิน GND สายสีน้ำตาล (CH1) เชื่อมต่อกับดิจิตอล พินเอาต์พุต 7สายสีส้ม (CH2) เชื่อมต่อกับพินเอาต์พุตดิจิตอล 8

เมื่อต่อสายไฟทั้งหมดเข้ากับรีเลย์แล้ว สายไฟจะถูกติดตั้งในตู้โดยใช้สกรูหัวแบนขนาดเล็ก

ขั้นตอนที่ 9: การเดินสายไฟและติดตั้งเซ็นเซอร์ปัจจุบัน

การเดินสายไฟและการติดตั้งเซ็นเซอร์ปัจจุบัน
การเดินสายไฟและการติดตั้งเซ็นเซอร์ปัจจุบัน
การเดินสายไฟและการติดตั้งเซ็นเซอร์ปัจจุบัน
การเดินสายไฟและการติดตั้งเซ็นเซอร์ปัจจุบัน
การเดินสายไฟและการติดตั้งเซ็นเซอร์ปัจจุบัน
การเดินสายไฟและการติดตั้งเซ็นเซอร์ปัจจุบัน

การสื่อสารและสายไฟถูกสร้างขึ้นสำหรับเซ็นเซอร์ปัจจุบันสองตัวโดยต่อสายไฟสองชุดที่นำจากเซ็นเซอร์ไปยัง Arduino ก่อนหน้านี้ สายไฟสีแดงและสีดำใช้สำหรับจ่ายไฟให้กับเซ็นเซอร์ สายเหล่านี้เชื่อมต่อกับหมุด Vin (สายสีแดง) และ GND (สายสีดำ) ของ Arduino น่าแปลกที่แม้แต่สายสื่อสาร (สาย SDA และ SDL) ก็สามารถต่อเข้าด้วยกันได้ เนื่องจากเซ็นเซอร์ปัจจุบันของ Adafruit แต่ละตัวสามารถกำหนดที่อยู่ที่ไม่ซ้ำกันได้ ขึ้นอยู่กับวิธีการบัดกรีหมุดที่อยู่ของพวกมันเข้าด้วยกัน หากบอร์ดไม่มีหมุดแอดเดรสใด ๆ ที่บัดกรีเข้าด้วยกัน บอร์ดจะถูกระบุเป็นบอร์ด 0x40 และจะถูกอ้างอิงในโค้ด Arduino โดยการบัดกรีหมุดที่อยู่ A0 เข้าด้วยกัน ดังที่เห็นในแผนภาพ ที่อยู่ของบอร์ดจะกลายเป็น 0x41 หากเชื่อมต่อเฉพาะพินที่อยู่ A1 บอร์ดจะเป็น 0x44 และหากเชื่อมต่อทั้งพิน A0 และ A1 ที่อยู่จะเป็น 0x45 เนื่องจากเราใช้เซ็นเซอร์ปัจจุบันเพียงสองตัว ฉันต้องประสานหมุดที่อยู่บนบอร์ด 1 ตามที่แสดงเท่านั้น

เมื่อวางแผงอย่างถูกต้องแล้ว ก็ต่อเข้ากับโครงตู้โดยใช้สกรูทองเหลืองขนาดเล็ก

สาย SDA (สีน้ำเงิน) และ SCL (สีเหลือง) จากเซ็นเซอร์เชื่อมต่อกับพิน SDA และ SCL บน Arduino พินเหล่านี้ไม่ได้ติดป้ายกำกับบน Arduino ของฉัน แต่เป็นพินสองตัวสุดท้ายหลังจากพิน AREF ที่ด้านดิจิทัลของบอร์ด

ขั้นตอนที่ 10: เชื่อมต่อสายต่อ USB

เชื่อมต่อสายต่อ USB
เชื่อมต่อสายต่อ USB
เชื่อมต่อสายต่อ USB
เชื่อมต่อสายต่อ USB

ดังที่ได้กล่าวไว้ก่อนหน้านี้ สายต่อ USB จำเป็นต้องส่งกระแสไฟผ่านเซ็นเซอร์ปัจจุบัน สิ่งนี้อำนวยความสะดวกโดยการต่อสายไฟเข้ากับสายไฟสีแดงของสายเคเบิล เมื่อต่อสาย USB เข้ากับตัวเครื่องแล้ว สายเหล่านี้จากตัวเชื่อมจะเชื่อมต่อกับเซ็นเซอร์ปัจจุบัน สำหรับสาย USB แต่ละสาย กระแสที่ไหลผ่านจะไหลลงมาตามสายเหล่านี้ ผ่านเซ็นเซอร์ แล้วย้อนกลับเพื่อต่อผ่านสายไปยังโทรศัพท์ที่ชาร์จ ปลายสาย USB ตัวผู้ถูกเสียบเข้ากับพอร์ตที่เปิดอยู่สองพอร์ตของกล่องชาร์จ USB

ขั้นตอนที่ 11: เชื่อมต่อ Power

ต่อสายไฟ
ต่อสายไฟ

ขั้นตอนสุดท้ายในกล่องอิเล็กทรอนิกส์คือการเชื่อมต่อสายไฟเข้ากับกล่อง USB และหลอดไฟ (หรือที่รู้จักว่าด้าน 120V ของรีเลย์) สายไฟสีดำที่นำไปสู่โคมไฟโดยตรงเชื่อมต่อกับสายไฟเส้นเดียวพร้อมกับสายสีน้ำตาลจากกล่องชาร์จ สายไฟที่ต่อกับกล่องชาร์จนั้นถูกตัดอย่างง่ายๆ โดยที่สายไฟสองเส้นด้านใน (เป็นสายสีน้ำเงินและสีน้ำตาล) ถูกดึงกลับออก ในที่สุด สายไฟสีขาวสองเส้นจากรีเลย์จะถูกต่อเข้ากับสายไฟอีกเส้นของสายไฟพร้อมกับสายสีน้ำเงินจากกล่องชาร์จ USB

ขั้นตอนที่ 12: ระบบที่เสร็จสมบูรณ์

ระบบที่เสร็จสมบูรณ์
ระบบที่เสร็จสมบูรณ์
ระบบที่เสร็จสมบูรณ์
ระบบที่เสร็จสมบูรณ์

เมื่อประกอบกล่องเสร็จเรียบร้อยแล้ว ก็สามารถเปลี่ยนฝาครอบตัวเครื่องได้ เมื่อฮาร์ดแวร์สำหรับระบบนี้เสร็จสมบูรณ์ ก็ถึงเวลาย้ายไปยังซอฟต์แวร์

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

การพัฒนาโค้ด Arduino ค่อนข้างตรงไปตรงมา แม้ว่าจะต้องใช้การทดสอบสองสามอย่างเพื่อให้ถูกต้อง ในรูปแบบที่ง่ายที่สุด โค้ดจะส่งสัญญาณเพื่อจ่ายไฟให้กับช่องสัญญาณรีเลย์ที่เหมาะสมทุกครั้งที่อ่านกระแสไฟที่มากกว่าหรือเท่ากับ 90mA แม้ว่าโค้ดง่ายๆ นี้เป็นจุดเริ่มต้นที่ดี แต่โทรศัพท์เคลื่อนที่ไม่ได้ชาร์จถึง 100% แล้วจึงนั่งนิ่งๆ โดยดึงกระแสไฟออกมาเพียงเล็กน้อย แต่ฉันพบว่าเมื่อชาร์จโทรศัพท์แล้วจะดึง mA หลายร้อยเป็นเวลาสั้น ๆ ทุกสองสามนาที ราวกับว่าโทรศัพท์เป็นถังรั่วที่ต้องเติมทุก ๆ สองสามนาที

เพื่อแก้ปัญหานี้ ฉันได้พัฒนากลยุทธ์ที่แต่ละช่องสามารถอยู่ในสถานะใดสถานะหนึ่งจากสามสถานะ สถานะ 0 ถูกกำหนดให้เป็นเมื่อโทรศัพท์ถูกถอดออกจากแท่นชาร์จ ในทางปฏิบัติ ฉันพบว่าแทบไม่มีกระแสไฟฟ้าไหลเลยเมื่อถอดโทรศัพท์ออก แต่ฉันตั้งขีดจำกัดกระแสบนของสถานะนี้เป็น 10mA สถานะ 1 คือสถานะที่ชาร์จโทรศัพท์จนเต็ม แต่ยังอยู่บนแท่นชาร์จ หากกระแสไฟต่ำกว่า 90mA และสูงกว่า 10mA ระบบจะอยู่ในสถานะ 1 สถานะ 2 คือสถานะการชาร์จ โดยที่โทรศัพท์กำลังดึง 90mA ขึ้นไป

เมื่อวางโทรศัพท์บนแท่นชาร์จ สถานะ 2 จะเริ่มต้นและดำเนินต่อไประหว่างการชาร์จ เมื่อการชาร์จสิ้นสุดลงและกระแสไฟต่ำกว่า 90mA ระบบจะอยู่ในสถานะ 1 คำสั่งแบบมีเงื่อนไขถูกสร้างขึ้น ณ จุดนี้เพื่อให้ระบบไม่สามารถดำเนินการได้โดยตรงจากสถานะ 1 ไปยังสถานะ 2 ซึ่งจะทำให้ระบบอยู่ในสถานะ 1 จนกว่าโทรศัพท์จะ ลบออก เมื่อถึงจุดนี้จะเข้าสู่สถานะ 0 เนื่องจากระบบสามารถดำเนินการต่อจากสถานะ 0 เป็นสถานะ 2 เมื่อวางโทรศัพท์กลับที่ที่ชาร์จและกระแสไฟสูงกว่า 90mA สถานะ 2 จะเริ่มต้นอีกครั้ง เฉพาะเมื่อระบบอยู่ในสถานะ 2 เท่านั้นคือสัญญาณที่ส่งไปยังรีเลย์เพื่อเปิดไฟ

ปัญหาอื่นที่ฉันพบคือบางครั้งกระแสไฟอาจต่ำกว่า 90mA ชั่วครู่ก่อนที่โทรศัพท์จะชาร์จจนเต็ม สิ่งนี้จะทำให้ระบบอยู่ในสถานะ 1 ก่อนที่มันควรจะมี ในการแก้ไขปัญหานี้ ฉันเฉลี่ยข้อมูลปัจจุบันมากกว่า 10 วินาที และเฉพาะในกรณีที่ค่าปัจจุบันเฉลี่ยต่ำกว่า 90mA ระบบจะเข้าสู่สถานะ 1

หากคุณสนใจโค้ดนี้ ฉันได้แนบไฟล์ Arduino.ino พร้อมคำอธิบายเพิ่มเติม โดยรวมแล้ว มันใช้งานได้ค่อนข้างดี แต่ฉันสังเกตเห็นว่าบางครั้งระบบดูเหมือนว่าจะมีสถานะเป็น 0 เมื่อโทรศัพท์ยังคงเชื่อมต่ออยู่และชาร์จเต็มแล้ว ซึ่งหมายความว่าทุก ๆ ครั้งไฟจะสว่างขึ้นสองสามวินาที (เมื่อเข้าสู่สถานะ 2) แล้วดับลง บางสิ่งบางอย่างในการทำงานในอนาคตฉันเดา

ขั้นตอนที่ 14: ระบบสำเร็จรูป

ระบบสำเร็จรูป
ระบบสำเร็จรูป
ระบบสำเร็จรูป
ระบบสำเร็จรูป
ระบบสำเร็จรูป
ระบบสำเร็จรูป
ระบบสำเร็จรูป
ระบบสำเร็จรูป

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

แนะนำ: