สารบัญ:

ตัวนับสมาชิก YouTube โดยใช้บอร์ด ESP8266: 9 ขั้นตอน (พร้อมรูปภาพ)
ตัวนับสมาชิก YouTube โดยใช้บอร์ด ESP8266: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ตัวนับสมาชิก YouTube โดยใช้บอร์ด ESP8266: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ตัวนับสมาชิก YouTube โดยใช้บอร์ด ESP8266: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: สอน เขียนโปรแกรม ภาษาซี Arduino | ESP32 โปรเจค ตู้รับจดหมาย พร้อมถ่ายภาพจดมาย line notify #EP9 2024, พฤศจิกายน
Anonim
Image
Image
ตัวนับสมาชิก YouTube โดยใช้บอร์ด ESP8266
ตัวนับสมาชิก YouTube โดยใช้บอร์ด ESP8266
ตัวนับสมาชิก YouTube โดยใช้บอร์ด ESP8266
ตัวนับสมาชิก YouTube โดยใช้บอร์ด ESP8266

เพื่อนๆ ที่รัก ยินดีต้อนรับสู่โครงการ ESP8266 อีกโครงการหนึ่ง วันนี้เราจะสร้างเคาน์เตอร์สมาชิก DIY YouTube ด้วยจอ LCD ขนาดใหญ่และกล่องพิมพ์ 3 มิติ มาเริ่มกันเลย!

ในบทช่วยสอนนี้เราจะทำสิ่งนี้: ตัวนับสมาชิก DIY YouTube มันใช้จอแสดงผล I2C ขนาดใหญ่ที่ฉันตรวจสอบเมื่อไม่กี่สัปดาห์ก่อนเพื่อแสดงจำนวนสมาชิกด้วยตัวเลขขนาดใหญ่ที่มองเห็นได้ง่ายจากระยะทาง ตัวเครื่องของเคาน์เตอร์พิมพ์ 3 มิติโดยใช้เส้นใยไม้ ครั้งนี้ฉันใช้เส้นใยไม้ที่แตกต่างกันสองแบบ และฉันก็ชอบการผสมผสานของสีนี้มาก! ในความคิดของฉันมันดูเท่มาก ฉันต้องการเคาน์เตอร์สมาชิก YouTube เพื่อช่วยให้ฉันมีแรงจูงใจอยู่เสมอ! การผลิตวิดีโอต้องใช้เวลาและความพยายามอย่างมาก เมื่อคุณรู้ว่ามีคนรอวิดีโอจากคุณ 35.000 คน คุณทำงานหนักขึ้นเรื่อยๆ เพื่อให้คนเหล่านี้พอใจ มันให้แรงจูงใจที่ดีแก่คุณ ดังนั้น ตัวนับนี้จะช่วยให้ฉันจดจ่อ ตอนนี้เรามาดูวิธีการสร้างโครงการนี้กัน!

ขั้นตอนที่ 1: รับชิ้นส่วนทั้งหมด

รับอะไหล่ทั้งหมด
รับอะไหล่ทั้งหมด
รับอะไหล่ทั้งหมด
รับอะไหล่ทั้งหมด

โครงการนี้เรียบง่ายและง่ายต่อการสร้าง ชิ้นส่วนที่จำเป็นในการสร้างโครงการนี้มีดังต่อไปนี้:

  • มินิบอร์ด Wemos D1 ▶
  • จอ LCD ขนาด 20x4 ▶
  • สายบางเส้น ▶
  • พาวเวอร์แบงค์ ▶

ค่าใช้จ่ายของอุปกรณ์อิเล็กทรอนิกส์น้อยกว่า 10 เหรียญ

หากคุณกำลังจะพิมพ์ 3 มิติกล่องหุ้ม คุณจะต้องใช้เส้นใยไม้สองม้วน ฉันใช้ไม้เบิร์ช Easy Wood และใยมะพร้าวของ FormFutura

ไส้มะพร้าว ▶

ไส้ไม้เบิร์ช ▶

สำหรับโครงตู้ เราต้องการวัสดุประมาณ 100 กรัม ดังนั้นราคาจะอยู่ที่ประมาณ 5 เหรียญสหรัฐฯ ดังนั้นต้นทุนรวมของโครงการจะอยู่ที่ประมาณ 15 เหรียญสหรัฐฯ

ขั้นตอนที่ 2: กระดานขนาดเล็ก Wemos D1

Image
Image

Wemos D1 mini เป็นบอร์ดใหม่ที่ยอดเยี่ยมซึ่งมีราคาประมาณ $5!

กระดานมีขนาดเล็กมาก ใช้ชิป ESP8266 EX ซึ่งสามารถทำงานได้ที่ความถี่สูงถึง 160MHz มีหน่วยความจำจำนวนมาก, RAM คำสั่ง 64Kb, RAM ข้อมูล 96Kb และหน่วยความจำแฟลช 4MB สำหรับจัดเก็บโปรแกรมของคุณ มันมีการเชื่อมต่อ WiFi การอัปเดต Over the Air และอีกมากมาย บอร์ดมินิ D1 มีพิน GPIO 11 พินและอินพุตแบบอะนาล็อกหนึ่งอัน แม้จะมีขนาดที่เล็ก แต่ก็มีการพัฒนา Shield จำนวนมากสำหรับบอร์ดนี้ ซึ่งผมคิดว่าดีมาก เพราะวิธีนี้ทำให้เราสร้างโปรเจ็กต์ Internet of Things ที่ยอดเยี่ยมได้อย่างง่ายดาย! แน่นอนว่าเราสามารถตั้งโปรแกรมบอร์ดนี้ได้โดยใช้ Arduino IDE

บอร์ดแม้จะมีขนาดเล็ก แต่ก็มีประสิทธิภาพเหนือกว่าบอร์ดอื่นๆ ที่เข้ากันได้กับ Arduino ทั้งหมดในด้านประสิทธิภาพ ฉันได้ทำการเปรียบเทียบระหว่าง ESP8266 กับ Arduino คุณสามารถตรวจสอบวิดีโอที่ฉันแนบในขั้นตอนนี้ บอร์ดนี้เร็วกว่า Arduino Uno ถึง 17 เท่า! นอกจากนี้ยังมีประสิทธิภาพเหนือกว่าบอร์ด Arduino ที่เร็วที่สุดอย่าง Arduino Due ทั้งหมดนี้ด้วยค่าใช้จ่ายน้อยกว่า $ 6! ประทับใจ.

ได้ที่นี่ ▶

ขั้นตอนที่ 3: จอแสดงผล LCD ขนาด 20x4 ตัวอักษร

Image
Image
สร้างวงจรต้นแบบ
สร้างวงจรต้นแบบ

ฉันค้นพบการแสดงผลนี้เมื่อสักครู่ที่ Banggood.com มันดึงความสนใจของฉันเพราะมันไม่แพง ค่าใช้จ่ายประมาณ 7 ดอลลาร์ มีขนาดใหญ่ และใช้อินเทอร์เฟซ I2C เนื่องจากใช้อินเทอร์เฟซ I2C จึงใช้งานง่ายมากกับ Arduino เราจำเป็นต้องเชื่อมต่อสองสายเท่านั้น ฉันต้องการจอแสดงผลขนาดใหญ่ที่เชื่อมต่อได้ง่ายสำหรับการสร้างต้นแบบบางโปรเจ็กต์ และจอแสดงผลเดียวที่ใช้อินเทอร์เฟซ I2C คือจอแสดงผล OLED ขนาดเล็กนี้ ตอนนี้เรามีจอแสดงผล I2C ขนาดใหญ่เพื่อใช้ในโครงการของเรา! ยอดเยี่ยม!

อย่างที่คุณเห็น จอภาพนั้นใหญ่มาก สามารถแสดงได้ 20 ตัวอักษรต่อบรรทัด และมี 4 บรรทัด วาดกราฟิกไม่ได้ มีแต่ตัวละคร ที่ด้านหลังเราจะพบกระดานสีดำขนาดเล็กที่บัดกรีไว้บนจอแสดงผล บนกระดานดำมี trimpot ซึ่งควบคุมความคมชัดของ LCD

ได้ที่นี่ ▶

ขั้นตอนที่ 4: สร้างวงจรต้นแบบ

สร้างวงจรต้นแบบ
สร้างวงจรต้นแบบ
สร้างวงจรต้นแบบ
สร้างวงจรต้นแบบ

การเชื่อมต่อไม่สามารถทำได้ง่ายกว่านี้

การเชื่อมต่อจอแสดงผล LCD

  • Vcc ของจอแสดงผลไปที่เอาต์พุต 5V ของ Wemos D1 mini
  • GND ของจอแสดงผลไปที่ Wemos GND
  • พิน SDA ของจอแสดงผลจะไปที่พิน D2 ของ Wemos Board
  • พิน SCL ของจอแสดงผลจะไปที่พิน D1 ของ Wemos Board

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

ขั้นตอนที่ 5: 3D พิมพ์สิ่งที่แนบมา

3D พิมพ์สิ่งที่แนบมา
3D พิมพ์สิ่งที่แนบมา
3D พิมพ์สิ่งที่แนบมา
3D พิมพ์สิ่งที่แนบมา
3D พิมพ์สิ่งที่แนบมา
3D พิมพ์สิ่งที่แนบมา

ขั้นตอนต่อไปคือการพิมพ์ 3 มิติกล่องหุ้ม ฉันออกแบบกล่องหุ้มนี้โดยใช้ซอฟต์แวร์ฟรี Fusion 360

ฉันลองใช้ซอฟต์แวร์ออกแบบ 3 มิติหลายตัว แต่ Fusion 360 กลายเป็นรายการโปรดของฉันด้วยเหตุผลดังต่อไปนี้

  • มันทรงพลังมากและฟรี
  • มันค่อนข้างใช้งานง่าย
  • มีบทเรียนออนไลน์มากมายเกี่ยวกับวิธีใช้ซอฟต์แวร์นี้

ฉันใช้เวลาประมาณหนึ่งชั่วโมงในการออกแบบกล่องหุ้มนี้ และจำไว้ว่าฉันยังใหม่กับการออกแบบ 3 มิติและการพิมพ์ 3 มิติ ฉันได้อัปโหลดไฟล์การออกแบบไปยัง Thingiverse และสามารถดาวน์โหลดได้ฟรี

ฉันใช้ไส้หลอด EasyWood Coconut ของ Formfutura สำหรับสองส่วน และไส้หลอดเบิร์ชสำหรับส่วนหน้า

ได้ที่นี่ ▶

ขั้นตอนที่ 6: เสร็จสิ้นการพิมพ์ 3 มิติ

เสร็จสิ้นการพิมพ์ 3 มิติ
เสร็จสิ้นการพิมพ์ 3 มิติ
เสร็จสิ้นการพิมพ์ 3 มิติ
เสร็จสิ้นการพิมพ์ 3 มิติ
เสร็จสิ้นการพิมพ์ 3 มิติ
เสร็จสิ้นการพิมพ์ 3 มิติ
เสร็จสิ้นการพิมพ์ 3 มิติ
เสร็จสิ้นการพิมพ์ 3 มิติ

เป็นงานพิมพ์ที่ง่ายและรวดเร็ว ฉันใช้เวลาประมาณ 5 ชั่วโมงในการพิมพ์ชิ้นส่วนทั้งหมดโดยใช้เครื่องพิมพ์ 3d Wanhao i3 ของฉัน แต่ผลลัพธ์นั้นยอดเยี่ยมมาก!

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

ต่อไปฉันปล่อยให้วานิชแห้งเป็นเวลา 24 ชั่วโมงและผลลัพธ์ที่ได้ก็เยี่ยมมาก!

ขั้นตอนที่ 7: เชื่อมต่อทุกอย่างเข้าด้วยกัน

เชื่อมต่อทุกอย่างเข้าด้วยกัน
เชื่อมต่อทุกอย่างเข้าด้วยกัน
เชื่อมต่อทุกอย่างเข้าด้วยกัน
เชื่อมต่อทุกอย่างเข้าด้วยกัน
เชื่อมต่อทุกอย่างเข้าด้วยกัน
เชื่อมต่อทุกอย่างเข้าด้วยกัน

หลังจากทาวานิชแห้งแล้ว ก็ถึงเวลาใส่อุปกรณ์อิเล็กทรอนิกส์เข้าไปในตู้

ฉันติดชิ้นส่วนด้านหน้าให้เข้าที่ แล้ววางจอแสดงผลไว้ที่ตำแหน่งที่แน่นอน

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

โครงการของเราพร้อมและดูดีมาก! ในความคิดของฉันมันดูไม่เหมือนพลาสติกเหมือนวัตถุที่พิมพ์ 3 มิติส่วนใหญ่! ฉันรักวิธีที่มันเปิดออก มาดูโค้ดของโครงการกัน

ขั้นตอนที่ 8: รหัสของโครงการ

รหัสโครงการ
รหัสโครงการ
รหัสโครงการ
รหัสโครงการ
รหัสโครงการ
รหัสโครงการ
รหัสโครงการ
รหัสโครงการ

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

มาทำกันก่อน ดังนั้นเราจึงลงชื่อเข้าใช้บัญชี Google และไปที่คอนโซลนักพัฒนาซอฟต์แวร์ (https://console.developers.google.com) เราคลิกเพื่อสร้างโครงการใหม่ เราตั้งชื่อ และกดสร้าง จากนั้นเมื่อเลือกโปรเจ็กต์ใหม่ เราจะเปิดใช้งาน YouTube Data API ขั้นตอนสุดท้ายคือสร้างข้อมูลรับรอง เรากดปุ่ม Credentials จากนั้นจากหน้าต่างที่ปรากฏขึ้น เราจะเลือกสร้างคีย์ API ใหม่ เรากดปิดและเราเสร็จแล้ว สำหรับรายละเอียดเพิ่มเติม ให้ดูวิดีโอที่แนบมากับขั้นตอนแรก

ตอนนี้เรามาดูโค้ดของโครงการกัน ก่อนอื่นเราต้องดาวน์โหลดไลบรารี่บางส่วน เราต้องการไลบรารี LiquidCrystal_I2C เวอร์ชันที่ใช้งานได้กับชิป ESP8266 เรายังต้องการไลบรารี ArduinoJSON ที่ยอดเยี่ยมอีกด้วย

  1. Arduino JSON:
  2. ไลบรารีดิสเพลย์:

ต่อไปเราต้องกำหนดตัวแปรบางตัว เราตั้งค่า ssid และรหัสผ่านสำหรับการเชื่อมต่อ WiFi เรายังต้องป้อนคีย์ API ที่เราสร้างขึ้นในตัวแปรที่เหมาะสม สุดท้ายเราต้องป้อนรหัสช่องของช่อง YouTube ที่เราต้องการตรวจสอบจำนวนสมาชิก

const ถ่าน* ssid = "SSID"; // SSID ของ local networkconst char* password = "PASSWORD"; // รหัสผ่านบนเครือข่าย String apiKey = "YOURAPIKEY"; //API KEY สตริง channelId = "UCxqx59koIGfGRRGeEm5qzjQ"; // id ช่อง YouTube

รหัสค่อนข้างง่าย ตอนแรกเราเริ่มต้นการแสดงผลและเราสร้างอักขระที่กำหนดเองสำหรับการแสดงผล เราต้องการอักขระเหล่านี้เพื่อสร้างตัวเลขขนาดใหญ่ อย่าลืมว่าจอภาพที่เราใช้อยู่เป็นจอ LCD แบบตัวอักษร ไม่สามารถแสดงกราฟิกได้ สามารถแสดงข้อความได้เพียง 4 บรรทัด ในการสร้างตัวเลขจำนวนมาก เราใช้ข้อความสองบรรทัดและอักขระที่กำหนดเองบางตัว!

การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); int เคอร์เซอร์Position=0;

lcd.begin(20, 4);

lcd.setCursor(0, 0); lcd.print("กำลังเชื่อมต่อ …..");

createCustomChars();

WiFi.begin(ssid, รหัสผ่าน); ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (500); lcd.setCursor (ตำแหน่งเคอร์เซอร์ 1); lcd.print("."); ตำแหน่งเคอร์เซอร์++; }

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

วงเป็นโมฆะ () { ความยาว int; สมาชิกสตริงสตริง = สตริง (getSubscribers ()); if(subscribers != SubscribersBefore) { lcd.clear(); ความยาว = SubscribeString.length(); printSubscribers(ความยาว, SubscribeString); SubscribeBefore = สมาชิก; } ล่าช้า (60000); }

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

ขั้นตอนที่ 9: ผลลัพธ์สุดท้าย

ผลสุดท้าย
ผลสุดท้าย
ผลสุดท้าย
ผลสุดท้าย

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

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

แนะนำ: