เว็บบอร์ดคะแนน Arduino Live Wifi: 9 ขั้นตอน (พร้อมรูปภาพ)

เว็บบอร์ดคะแนน Arduino Live Wifi: 9 ขั้นตอน (พร้อมรูปภาพ)

สารบัญ:

Anonim

ในบทช่วยสอนนี้ฉันจะอธิบายวิธีการสร้างสกอร์บอร์ดดิจิตอลพร้อม LED แสดงผลดอทเมทริกซ์ขนาดใหญ่และผลรวมตัวเลข 8 หลัก อุปกรณ์ใช้ชิป WiFi เพื่อเชื่อมต่ออินเทอร์เน็ตเพื่อรับค่าสถานะเช่นยอดรวมและจำนวนสดรวมถึงสถานะเช่นเปิด / ปิดไฟ LED อุปกรณ์นี้ใช้พลังงานจากอะแดปเตอร์ไฟ USB ทั่วไป ภายใต้ประทุนนั้นจะใช้บอร์ดที่เข้ากันได้กับ Arduino Mega ซึ่งพร้อมใช้งานได้อย่างประหยัดและสื่อสารได้ดีกับชิป ESP8266

กระดานบอกคะแนนทำจากกล่องไม้พร้อมบานพับและคลิปเพื่อให้เข้าถึงภายในเมื่อต้องการ การใช้พลังงานน้อยมากการใช้งานอุปกรณ์ 24/7 ตลอดทั้งปีด้วยการเชื่อมต่อ WiFi ทุกนาทีจะมีราคาต่ำกว่า 1 ยูโร

วัสดุ:

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

1 x กล่องไม้ (€ 4.50 จากร้านค้าในพื้นที่)

1 x Arduino Mega clone - ฉันใช้กระดาน Elegoo เป็นการส่วนตัว (€ 11.50 จาก Amazon)

1 x ซีรี่ส์ของ 4 dot-matrix display (€ 15 จาก Internet - ถึงแม้ว่าตอนนี้ฉันจะได้ราคา€ 5)

1 x Sugru แพ็คเก็ต (1.65 € 1 จาก 8 สำหรับ€ 13 จาก Amazon)

2 x 7-Segment LED 8 หลักแสดง (4 €สำหรับ 2 - หรือส่ง 12 ยูโรในวันถัดไป)

1 x การเก็บรวบรวมตัวต้านทาน 220 โอห์ม (€ 0.25 - ส่วนหนึ่งของการคิดต้นทุนชุด€ 5)

ไฟ LED RGB 3 ดวง (€ 0.18 - ส่วนหนึ่งของแพ็ค 50 การคิดต้นทุน€ 3)

1 x ชิป ESP8266 (€ 5)

1 x 5v <> ตัวสลับระดับ 3.5v (€ 1.50)

1 x พ่นสีดำด้าน (สามารถ€ 2 จากร้านค้าในพื้นที่)

1 x เขียงหั่นขนมเล็ก ๆ

สายและพินของ 'DuPont' - (€ 3 - โดยปกติจะเป็นส่วนหนึ่งของชุดเริ่มต้น)

การเข้าถึงสว่านตัวตัดกล่องสาย USB

ค่าใช้จ่ายอยู่ที่ประมาณ€ 50 - แม้ว่าชิ้นส่วนที่มีอยู่สามารถนำกลับมาใช้ใหม่ได้และการสั่งซื้อผ่าน Aliexpress เช่นจะทำให้ชิ้นส่วนนั้นใกล้ถึง€ 30

โครงการใช้เวลา 4 - 8 ชั่วโมงให้เสร็จสมบูรณ์รวมถึงการรอให้กล่องแห้ง

ขั้นตอนที่ 2: เตรียมไฟ LED RGB

การเตรียมไฟ LED RGB (ไดโอดเปล่งแสงสีแดง - เขียว - น้ำเงิน) ใช้เวลาค่อนข้างนาน ฉันกำลังใช้ไฟ LED RGB เพื่อให้ฉันสามารถแสดงสีที่แตกต่างโดยใช้ LED 'เดียวกัน' ในความเป็นจริงไฟ LED RGB เหล่านี้มีไฟ LED 3 ดวงอยู่ภายในและโดยการควบคุมแสงแต่ละแบบคุณจะได้สีที่หลากหลาย

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

ฉันจะไม่ลงลึกมากเกินไปเกี่ยวกับไฟ LED เป็นแบบฝึกหัดเช่นนี้ได้ครอบคลุมเรื่องอย่างสมบูรณ์แบบ

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

ในภาพที่สองคุณสามารถเห็นไฟ LED RGB สามดวงของฉันหลังจากที่ฉันได้บัดกรีตัวต้านทานสามตัวจากนั้นต่อสายไฟเพิ่มเติมซึ่งจะไปที่ Arduino นอกจากนี้ฉันได้บัดกรีลวดไปที่หมุดทั่วไปซึ่งกลับไปที่รางรถไฟ

ณ จุดนี้คุณจะต้องเชื่อมต่อ LED กับ Arduino ของคุณและทดสอบว่าใช้งานได้หรือไม่ ฉันขอแนะนำให้ติดตามการสอน RGB LED ใด ๆ และขี่จักรยานผ่านสีเพื่อตรวจสอบว่าไฟ LED ของคุณทำงานได้ตามที่คุณต้องการ

ในกรณีของฉันฉันสังเกตเห็นว่า LED สีเขียวสว่างกว่า LED สีแดงมาก เรื่องนี้ดูเหมือนจะเป็นเรื่องธรรมดา หากนี่เป็นปัญหาคุณอาจพิจารณาตัวต้านทานค่าที่ใหญ่กว่าสำหรับ LED สีเขียว

เมื่อคุณมีไฟ LED RGB 3 ดวงที่คุณสามารถควบคุมและแสดงสีแดงสีเขียวและสีน้ำเงินได้สำเร็จจากนั้นทำตามขั้นตอนต่อไป

ขั้นตอนที่ 3: การเตรียม LED Dot-matrix และหน้าจอ 7 Segment

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

จอแสดงผล 8 หลักที่แสดงในภาพคล้ายกับอันนี้เป็นสิ่งที่พบได้ทั่วไปในชุดเริ่มต้นของ Arduino และในขณะที่สีต่างกันไปมากโดยใช้ส่วนประกอบ MAX7219 ซึ่งช่วยให้สามารถตั้งค่าทั้งหมด 8 หลักโดยใช้เพียง 5 พิน หากไม่มีส่วนประกอบ MAX7219 เราจะต้องใช้พินและตัวต้านทานจำนวนมากเพื่อตั้งค่าแต่ละหลัก 7 ส่วนและจะใช้เวลาตลอดไปและใช้งานมากที่สุดถ้าไม่ใช่ขา Arduino ของเราทั้งหมด ข้อดีอีกประการของการออกแบบจอแสดงผล 7 หลักแบบ 8 ส่วนคือพวกมันสามารถถูกล่ามโซ่ดอกเดซี่ซึ่งหมายความว่าคุณสามารถเรียงลำดับได้ถึง 8 ในลำดับควบคุมได้อีกเพียง 5 พิน

จอแสดงผลดอทเมทริกซ์เป็นกริดของ LED ที่มีผลในการแสดงผลความละเอียดต่ำเราเลือกจุดใดที่สว่างและสามารถวาดรูปร่างตัวอักษรและตัวเลขได้อย่างง่ายดาย ที่นี่ฉันกำลังใช้องค์ประกอบพิเศษซึ่งเป็นสี่จุดแสดงเมทริกซ์เหล่านี้เชื่อมต่อกัน สิ่งนี้ให้การแสดงผล 32 x 8 ซึ่งเราสามารถแสดงข้อมูลได้ สิ่งนี้นับเป็น 4 รายการในสายโซ่ของเราที่ 8 ดังนั้นคุณสามารถใช้สองรายการหรือในกรณีของฉันผสมผสานหนึ่งในรายการเหล่านี้กับหน้าจอ 7 เซ็กเมนต์ สำหรับแดชบอร์ดนี้ฉันใช้สองชิ้นโดยนำส่วนประกอบทั้งหมดที่ถูกล่ามโซ่มารวมไว้ที่ 6 ทั้งหมดขับเคลื่อนมาจาก 5 พินบนบอร์ด Arduino ของฉันและนั่นรวมถึงหนึ่งสำหรับ 5v และอีกหนึ่งสำหรับกราวด์ ค่อนข้างมีประสิทธิภาพฉันคิดว่า!

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

ขั้นตอนที่ 4: การเตรียมเอกสารแนบของเรา

ในการดูส่วนที่อุปกรณ์ของเราจำเป็นต้องนั่งอย่างสะดวกสบายในตู้ที่มันสามารถมีชีวิตอยู่และดูเหมือนชิ้นส่วนอิเล็กทรอนิกส์สำหรับผู้บริโภคมากกว่าโครงการวิทยาศาสตร์ยุติธรรม อุปกรณ์ยุคใหม่ส่วนใหญ่เช่นโทรทัศน์โทรศัพท์มือถือและเครื่องเล่น Blu-ray ใช้กล่องหุ้มพลาสติกเนื่องจากมีน้ำหนักเบาและมีรูปแบบที่สอดคล้องกัน เราจะใช้ไม้ซึ่งหนักกว่าและเปราะมากกว่า แต่สำหรับความต้องการของเราจะทำงานได้ดีอย่างสมบูรณ์

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

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

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

ดอกสว่านของฉันถูกซื้อในราคา 29.99 ยูโรจากร้านค้า DIY ทั่วไปไม่มีอะไรพิเศษเกินไปคุณไม่ต้องการอะไรเลยนอกจากสว่านไฟฟ้าพื้นฐานสำหรับโครงการเหล่านี้ ฉันคิดว่ามันจะใช้งานได้นานถึง 20 ปีดังนั้นในระยะยาวมันราคาถูกมาก

จอแสดงผล dox-matrix และส่วนประกอบ 8 หลัก 7 ส่วนจะต้องใช้ windows ในกล่องของคุณ อีกครั้งฉันใช้ไม้บรรทัดและดินสอพื้นฐานในการวัดขนาดและวาดที่หน้าต่างจะไปที่กล่อง คิดอย่างรอบคอบในขั้นตอนนี้คุณจะต้องแน่ใจว่าจอแสดงผลของคุณเว้นระยะห่างกันการสร้างหน้าต่างสองบานในกล่องของคุณใกล้กันอาจทำให้ไม้แตก ฉันอยากจะแนะนำอย่างน้อย 15 มม. ระหว่าง windows ถ้าไม่มากกว่านี้

ขึ้นอยู่กับจำนวนพินที่มีใน Arduino ของคุณคุณสามารถเพิ่มหน้าต่างได้อีกหลายตัวหรือเพิ่มรูสำหรับ LED อีกหลายดวง บอร์ดที่เข้ากันได้กับ Arduino Mega Mega มีพินมากมายให้เลือกหากคุณใช้บอร์ดที่รองรับ Arduino Uno คุณจะมีข้อ จำกัด มากขึ้น

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

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

ในที่สุดคุณจะมีกล่องที่ดูดีมีหน้าต่างขนาดที่ถูกต้องสำหรับส่วนประกอบของคุณและทางออกเล็ก ๆ ที่ด้านข้างสำหรับพอร์ต USB ของบอร์ดที่เข้ากันได้กับ Arduino ของคุณ

ขั้นตอนที่ 5: การติดตั้งส่วนประกอบของคุณ

หลังจากการทดลองหลายครั้งด้วยสกรูและซ็อกเก็ตยึดเทปและกาวฉันค้นพบ Sugru ฉันขอแนะนำให้คุณประหยัดเวลาหลายชั่วโมงในการล้อเล่นกับสว่านและสแตนเลสและเล็บ ฯลฯ และลงทุนใน Sugru สำหรับผู้ที่ยังไม่ได้ค้นพบมันเป็นพื้นผิวแบบ 'blu-tac' ที่คุณสามารถปั้นในมือของคุณความแตกต่างที่มันจะยากหลังจากสองสามนาทีและเกาะพื้นผิวจำนวนมากรวมถึง บอร์ดและส่วนประกอบไม้และ Arduino คุณวางถั่วขนาดเล็กจำนวนหนึ่งไว้ที่ด้านหลังของสิ่งของและผลักมันลงบนไม้อย่างแข็งใน 24 ชั่วโมงการเชื่อมต่อจะแข็งและเหนียวอย่างน่าประหลาดใจ

Sugru นั้นไม่ถูกเลย แต่เมื่อคุณคำนึงถึงเงินที่เก็บไว้ในหม้อสกรูและสแตนเลย์นั่นหมายความว่าคุ้มค่ากับเงิน

นำบอร์ดที่เข้ากันได้กับ Arduino และแพ็คเก็ตของ Sugru ของคุณกระจายฉาบรอบ ๆ แล้ววาง blobs ไว้ที่ด้านล่างของบอร์ดของคุณจากนั้นผลักบอร์ดให้เข้าที่เพื่อให้พอร์ต USB ของคุณเข้ากับรูที่ด้านข้างได้อย่างถูกต้อง จากกล่องของคุณ

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

จอแสดงผล 8 หลักสามารถติดตั้งได้โดยใช้ Sugru บางส่วนบนส่วนที่เป็นพลาสติกของสายเชื่อมต่อและอาจจะบาง Sugru ผ่านช่องว่างระหว่างส่วนประกอบและหน้าต่างกล่องของคุณ ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งอย่างถูกวิธี! มีความปลอดภัยในการจัดการกับมันในขณะที่อุปกรณ์ของคุณเปิดเครื่องฉันขอแนะนำให้คุณทำเช่นนี้เพื่อให้แน่ใจว่าคุณวางส่วนประกอบได้อย่างถูกต้อง คุณสามารถอ่านจอแสดงผลของคุณในขณะที่ติดตั้งเพื่อให้แน่ใจ 100% ว่าเหมาะสมหรือไม่

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

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

ขั้นตอนที่ 6: การใช้ชิป ESP8266

กระดานบอกคะแนนของเราต้องเชื่อมต่ออินเทอร์เน็ตเพื่อรับข้อมูลเพื่อแสดงบนส่วนประกอบ LED ของเรา บอร์ดที่รองรับ Arduino Mega หรือ Uno ไม่มี WiFi ในตัวดังนั้นเราจึงต้องใช้ส่วนประกอบเพิ่มเติมเพื่อเชื่อมต่อโครงการของเรากับอินเทอร์เน็ต

ชิป ESP8266 นั้นยอดเยี่ยมอยู่ที่ประมาณ $ 6 ในสหรัฐอเมริกาหรือ 2 สำหรับ 10 ยูโรที่ยุโรปซึ่งถือว่าคุ้มค่ามาก จริงๆแล้วมันเป็น SOC ที่สมบูรณ์แบบ (system-on-a-chip) ดังนั้นในหลาย ๆ รูปแบบก็เป็นส่วนประกอบสไตล์ 'Arduino อีกอันหนึ่ง' อย่างมีประสิทธิภาพคุณสามารถอัปโหลดรหัสไปยังอุปกรณ์และใช้มันด้วยตัวเอง ในโครงการนี้อย่างไรก็ตามเราต้องการใช้งานร่วมกับบอร์ดที่เข้ากันได้ของ Arduino โดยมีข้อมูลถูกส่งผ่านจากชิป ESP8266 ไปยังบอร์ดกลางของเรา

งานนี้มีความซับซ้อนมากกว่าที่เป็นอย่างอื่นอาจเป็นเพราะความจริงที่ว่า ESP8266 ทำงานที่ 3.3v ไม่ใช่ 5v เหมือนบอร์ด Arduino Mega ของเรา นั่นหมายความว่าสัญญาณที่ส่งจาก ESP8266 นั้นไม่สามารถเชื่อมต่อกับหมุดดิจิตอลบน Arduino ของเราและเราไม่สามารถจ่ายพลังงาน ESP8266 จากขา 5v บน Arduino ของเราได้

โชคดีที่เรามี 3.3v pin บน Arduino ซึ่งเหมาะสำหรับการเปิดใช้งาน ESP8266 อย่างไรก็ตามเรายังคงมีปัญหาเกี่ยวกับหมุดข้อมูล เพื่อแก้ปัญหานี้เราจำเป็นต้องใช้ตัวแปลงระดับ ชิปขนาดเล็กนี้ใช้พลังงาน, กราวด์และสายสื่อสารหลายสายและส่งสัญญาณเดียวกันที่ลดลงเป็น 3.3v นี่หมายความว่าสัญญาณจากบอร์ด Arduino ของเราถูกแปลงเป็นแรงดันไฟฟ้าที่บอร์ด ESP8266 สามารถใช้และในทางกลับกันในการกลับมา

เนื่องจากการตั้งค่านี้เกี่ยวข้องกับสายไฟหลายเส้นและการเชื่อมต่อที่หลากหลายกับพินพาวเวอร์ฉันจึงใช้เขียงหั่นขนม สิ่งนี้ช่วยให้เราสามารถติดชิพคอนเวอร์เตอร์ในส่วนแบ่งใน breadboard และมีครึ่งบนเป็นโซน '5v' ของเราและครึ่งล่างของโซน '3.3v' ของเรา รางไฟในแต่ละด้านมีขนาด 5 โวลต์หรือ 3.3 โวลต์และรางภาคพื้นดินเชื่อมต่อกันและ Arduino ของเรา

ในการเชื่อมต่อกับชิป ESP8266 ฉันใช้ห้องสมุดที่เขียนโดย Wu Pengfei - เป็นสองไฟล์คือ ESP8266.cpp และ ESP8266.h มันทำให้การเชื่อมต่อกับชิปและทำให้การร้องขอค่อนข้างง่าย

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

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

ขั้นตอนที่ 7: การเดินสายอุปกรณ์

แผนภาพที่อยู่ติดกันแสดงให้เห็นว่าฉันต่อสายบอกคะแนนของฉันอย่างไร โปรดทราบ: ฉันไม่ได้พยายามสร้างกล่องโต้ตอบที่ทำซ้ำได้อย่างสมบูรณ์นี่คือเพื่อให้ภาพรวมคร่าวๆของสิ่งที่ฉันทำ

คุณจะเห็นว่าการเดินสายไปยังชิป ESP8266 นั้นผ่านตัวแปลงระดับซึ่งติดอยู่กับเขียงหั่นขนม

จำเป็นต้องใช้สายหลายเส้นสำหรับ LED แต่ละตัวเนื่องจากเป็น LED RGB ซึ่งหมายความว่าเราต้องมีสายไฟสำหรับ R (สีแดง), G (สีเขียว) และ B (สีน้ำเงิน) เพิ่มเติมเราจึงมีลวดกลับไปที่ราวกราวน์

โชคดีที่เราสามารถใส่จอดอทเมทริกซ์และส่วนประกอบตัวเลข 7 ส่วนในซีรีส์หมายความว่าต้องใช้สายเพียงชุดเดียว

นอกจากนี้คุณจะเห็นว่าสายไฟ 5v และ 3.3v นั้นเชื่อมต่อทั้งไปยังเขียงหั่นขนมและผ่านตัวแปลง

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

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

ขั้นตอนที่ 8: ซอฟต์แวร์

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

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

หน้าของฉันส่งคืนสตริงที่ง่ายมากในรูปแบบ: | $ | 1 | 1 | 0 | 51 | 36 | 2 | 2 | 1 |

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

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

หลังจากเรียกหน้าทุก ๆ 60 วินาทีและการแปลงสตริงที่ส่งคืนจากเว็บเซิร์ฟเวอร์เป็นชุดตัวเลขฉันก็อัปเดตแดชบอร์ดของฉันด้วยหมายเลขใหม่

สำหรับสถานะเซิร์ฟเวอร์และสถานะ cron นี่เป็นเพียงกรณีของการตั้งค่าสีของหนึ่งใน LED สำหรับฉันสีเขียวหมายถึงความสำเร็จสีแดงหมายถึงความล้มเหลวและสีน้ำเงินหมายถึงมีปัญหากับการเชื่อมต่อ

จอแสดงผล 7 หลัก 8 หลักสองจอถูกแบ่งออกเป็น 4 ส่วนจากนั้นฉันก็เอาท์พุทข้อมูล 4 ชิ้นของฉันลงบนพวกเขา นี่ซับซ้อนกว่าที่ฉันเห็นเล็กน้อยเนื่องจากฉันต้องแปลงตัวเลขจำนวนเต็มเป็นตัวเลขจริงสำหรับคอลัมน์ 100s, คอลัมน์ 10s และคอลัมน์หลักของจอแสดงผล เมื่อคุณตั้งค่าตัวเลขแต่ละหลักแยกกันจึงเป็นสิ่งจำเป็น คุณสามารถดูได้ในรหัสว่าฉันเข้าหาปัญหานี้อย่างไร

จอแสดงผลส่วนกลางแบบดอทเมทริกซ์แสดงข้อมูลที่เปลี่ยนแปลงทุก 2 วินาที ฉันมีฟังก์ชั่นที่เรียกว่า displayMatrix ซึ่งตั้งค่าหนึ่งในสี่จอแสดงผลเพื่อแสดง 'ภาพ' ที่ฉันได้เก็บไว้ในอาเรย์ของ IMAGES อาร์เรย์นี้น่าสนใจเนื่องจากสร้างโดยหน้าเว็บมากกว่าตัวฉัน

ฉันขอแนะนำให้ใช้ตัวแก้ไข LED Matrix หน้านี้ทำให้การสร้าง 'รูปภาพ' ในรูปแบบ 8x8 นั้นง่ายมากที่จะแสดงอย่างถูกต้องในองค์ประกอบดอทเมทริกซ์ของคุณ การใช้หน้าตรงไปตรงมาอย่างมากถ้าคุณคลิกที่ลิงค์คุณจะได้รับการแก้ไขด้วยภาพจากแผงควบคุมของฉันโหลดแล้ว อย่างที่คุณเห็นมันเป็นเพียงแค่กรณีของการคลิกจุดเพื่อเปลี่ยนว่าพวกเขาจะเปิดหรือปิด คุณสามารถเพิ่มรูปภาพได้ง่ายขึ้นหรือย้ายคำสั่งซื้อโดยการลากและวาง หลังจากทำการเปลี่ยนแปลงให้ทำบุ๊กมาร์กเพจเพื่อให้สามารถกลับไปที่การเปลี่ยนแปลงนั้นได้

ที่มุมด้านบนของเครื่องมือแก้ไขคุณจะเห็นคำนิยามในโค้ดสำหรับรูปภาพของคุณ คัดลอกและวางสิ่งนี้ลงใน "ภาพร่าง" ของ Arduino ดูโค้ดสำหรับฟังก์ชั่น displayMatrix เพื่อดูว่ามันวนซ้ำไปมาอย่างไรเพื่อตั้งค่า LED ที่เกี่ยวข้องในส่วนประกอบ

ผลรวมของโค้ดแดชบอร์ดของฉันค่อนข้างมากคำอธิบายเพิ่มเติมมีอยู่ในซอร์สโค้ดเอง หากคุณมีคำถามใด ๆ โปรดถามพวกเขาในความคิดเห็น

ขั้นตอนที่ 9: แนวคิดเพิ่มเติมและสรุปโครงการ

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

แนวคิดบางประการสำหรับกระดานบอกคะแนนที่ฉันมี ได้แก่:

กระดานบอกคะแนนกีฬาแสดงคะแนนปัจจุบันอาจเป็นประโยชน์สำหรับการแข่งขันกีฬาโรงเรียน

การตรวจสอบราคา Bitcoin สดรวมถึงอัตราการแปลงสกุลเงินดั้งเดิมและอาจเป็นมูลค่าตลาด

กระดานบอกคะแนนสภาพอากาศสดแสดงอุณหภูมิในเมืองต่าง ๆ บางทีอาจขี่จักรยานผ่านหลายสิบเมืองที่แสดงหนึ่งต่อวินาที

จำนวนสมาชิก YouTube ที่ใช้งานจริง

คะแนนกีฬาจริงที่ดึงมาจากเว็บไซต์กีฬาสดเช่น Livescores.com หรืออะไรทำนองนั้นเช่น ESPN

ความเป็นไปได้ไม่มีที่สิ้นสุด ฉันขอให้คุณโชคดีกับโครงการของคุณ กรุณาแสดงความคิดเห็นใด ๆ ด้านล่าง