สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ตัวนับสมาชิกสำหรับ Youtube และ Facebook นั้นค่อนข้างธรรมดา แต่ทำไมไม่ลองทำสิ่งที่คล้ายกันสำหรับ Instructables ล่ะ นั่นคือสิ่งที่เรากำลังจะทำ: ในคำแนะนำนี้ เราจะสร้างตัวนับการดู Instructables!
มุมมองจะต้องถูกบันทึกจาก interwebs ดังนั้นเราจะใช้โมดูล ESP8266 WiFi ทั่วไป (และราคาถูก) เพื่อรับข้อมูลที่จำเป็น ต้องมีการกำหนดค่าบางอย่าง แต่ฉันจะทำตามขั้นตอนทั้งหมดที่จำเป็นเพื่อเริ่มต้นใช้งาน
เพื่อให้โครงการเข้าถึงได้มากที่สุด (เช่น ไม่ต้องใช้เครื่องพิมพ์ 3 มิติ เครื่องตัดเลเซอร์ หรือเครื่องเร่งอนุภาค) ฉันตัดสินใจใช้ Lego สำหรับเคสนี้! ออกจากถังขยะของเลโก้แล้วไปสร้างกัน!
ขั้นตอนที่ 1: ชิ้นส่วนและเครื่องมือ
อะไหล่
- ESP8266 ESP-01
- MAX7219 โมดูลแสดงผล LED 7 หลัก
- การฝ่าวงล้อม FTDI ที่เข้ากันได้ 3.3V (โปรแกรมเมอร์)
- ส่วนหัวของพิน
- ตัวต้านทาน 4x 10k Ohm
- 2x ปุ่มกด
- ตัวเก็บประจุ 2x 10uF
- ตัวควบคุม 3.3V (LM1117-3.3V)
- สาย USB
- เลโก้!
ค่าใช้จ่ายทั้งหมด: < 10$
เครื่องมือ
หัวแร้ง
ขั้นตอนที่ 2: อุปกรณ์อิเล็กทรอนิกส์
เริ่มต้นโครงการโดยการสร้างวงจร
อุปกรณ์อิเล็กทรอนิกส์ของโครงการไม่ซับซ้อนมาก แต่โมดูล ESP8266 ต้องการการดูแลเป็นพิเศษเพื่อให้มันทำงานได้ อย่างแรกเลย อะไรคือสิ่งที่ ESP นี้ทั้งหมดเกี่ยวกับ?
ESP8266 เป็นที่รู้จักกันดีว่าเป็นชิป WiFi ราคาประหยัด แต่ก็มีความสามารถของไมโครคอนโทรลเลอร์ที่เต็มเปี่ยม ทำให้เหมาะอย่างยิ่งสำหรับโครงการที่ต้องใช้ WiFi และการควบคุมส่วนประกอบภายนอก เช่น จอแสดงผล 7 ส่วนของเรา การเขียนโปรแกรมเสร็จสิ้นด้วยตัวแปลง USB เป็นซีเรียล หรือที่เรียกว่าตัวแปลง FTDI
แผนผัง
ส่วนประกอบสามารถเชื่อมต่อได้ง่ายเหมือนในแผนผัง แต่จะได้รับข้อมูลเพิ่มเติมอีกเล็กน้อยที่นี่
ก่อนอื่น ESP8266 ทำงานจาก 3.3V ในขณะที่จอแสดงผล (และ USB ที่เราจะใช้สำหรับจ่ายไฟ) ทำงานที่ 5V ซึ่งหมายความว่าเราต้องการตัวแปลงแรงดันไฟฟ้าเพื่อแปลง 5V ของ USB เป็น 3.3V สำหรับ ESP8266
เมื่อเปิดเครื่อง ESP8266 เครื่องจะเข้าสู่ "โหมดบูต" อย่างใดอย่างหนึ่ง ขึ้นอยู่กับแรงดันไฟฟ้าที่ขา IO กล่าวอีกนัยหนึ่ง: หากเราต้องการให้มันรันโค้ดของเราเมื่อบูท เราจะต้องกำหนดค่านี้! สำหรับการรันโปรแกรม หมายถึง:
- CH_PD เป็น VCC
- RST เป็น VCC
- GPIO0 เป็น VCC
- GPIO2 เป็น VCC
ในขณะที่เขียนโปรแกรมอุปกรณ์ สิ่งนี้แปลเป็น:
- CH_PD เป็น VCC
- RST เป็น VCC
- GPIO0 เป็น GND
- GPIO2 เป็น VCC
อย่างที่เห็น ความแตกต่างเพียงอย่างเดียวคือสถานะของพิน GPIO0 ดังนั้น เราจะกดปุ่มเพื่อเชื่อมต่อ GPIO0 กับ GND เมื่อตั้งโปรแกรม หลังจากบูทแล้ว สามารถใช้พินได้อย่างอิสระ ในกรณีของเรามี 2 สิ่ง:
- เป็นอินพุต: มีปุ่มเชื่อมต่อกับ GPIO2
- ขับจอ. เนื่องจากต้องการสัญญาณมากกว่า 2 สัญญาณ เส้น TX และ RX จะถูกใช้เป็น IO ด้วย
ตอนนี้เรามีทฤษฎีของการดำเนินการให้พ้นทางแล้ว เราสามารถแปลสิ่งนี้เป็นการออกแบบทางกายภาพได้
PCB
ในการสร้าง PCB ฉันได้ออกแบบเลย์เอาต์ perfboard/stripboard ใน KiCad (ซอฟต์แวร์เลย์เอาต์ PCB โอเพ่นซอร์ส) ด้วยการตั้งค่าระยะห่างของกริดเป็น 2.54 มม. (0.1 นิ้ว) คุณสามารถสร้างเลย์เอาต์ที่สามารถบัดกรีบนสตริปบอร์ดได้
ทำให้ง่ายต่อการประสานอุปกรณ์อิเล็กทรอนิกส์เข้าด้วยกัน: เพียงพิมพ์การออกแบบ (รวมเป็น PDF) และคัดลอกการออกแบบบนแผ่นกระดาน ใช้หมุดส่วนหัวเพื่อเชื่อมต่อหน้าจอ FTDI และ ESP8266
หลังจากการบัดกรี ให้ตัด perfboard ให้ได้ขนาดที่เหมาะสมแล้วเสียบส่วนประกอบทั้งหมด ด้วยอุปกรณ์อิเล็กทรอนิกส์ที่บัดกรีเข้าด้วยกัน เราสามารถระเบิดชีวิตพวกเขาด้วยรหัสบางอย่าง!
ขั้นตอนที่ 3: การเขียนโปรแกรม ESP8266
การตั้งค่าห้องสมุด
ก่อนที่เราจะสามารถอัปโหลดโค้ดใด ๆ ไปยังบอร์ดโดยใช้ Arduino IDE เราจะต้องเพิ่มไลบรารี่ของมันก่อน ซึ่งสามารถทำได้โดยทำตามขั้นตอนต่อไปนี้:
- ไปที่ File>Preferences แล้ววางลิงก์ต่อไปนี้ลงในช่อง "Additional board manager URLs":
- ไปที่ เครื่องมือ>บอร์ด>ตัวจัดการบอร์ด และค้นหา ESP8266
- จากหน้าต่างนี้ ให้ติดตั้งแพ็คเกจล่าสุด
- รีสตาร์ท IDE
- จากเครื่องมือ>บอร์ด เลือก "โมดูล ESP8266 ทั่วไป" เป็นบอร์ด
- เปิดภาพสเก็ตช์และเรนเดอร์ (ctrl+R) เพื่อดูว่าได้เพิ่มบอร์ดอย่างถูกต้องหรือไม่
กำลังอัปโหลดรหัส
ในการตั้งโปรแกรมอุปกรณ์ของเรา เราจะต้องตั้งค่าให้อยู่ในโหมดการเขียนโปรแกรมและเชื่อมต่อกับบอร์ดฝ่าวงล้อม FTDI สามารถทำได้โดยการดึงพินที่เหมาะสมไปที่ VCC หรือ GND และทำการเชื่อมต่อตามรายการด้านล่าง
- CH_PD เป็น VCC
- RST เป็น VCC
- GPIO0 เป็น GND
- GPIO2 เป็น VCC
- RX เป็น TX ของ FTDI
- TX เป็น RX ของ FTDI
โชคดีที่การเชื่อมต่อทั้งหมดมีอยู่แล้วบน PCB ของเรา ฉันลองใช้เขียงหั่นขนมก่อน และอย่างที่คุณเห็น มันดูงุ่มง่ามไปหน่อย ดังนั้นในการอัปโหลดรหัส:
- ถอดจอแสดงผลและเสียบ FTDI
- กดปุ่มโปรแกรมค้างไว้เมื่อเชื่อมต่อสาย USB
- อัปโหลดรหัส หลังจากอัพโหลด "Set net" ควรปรากฏขึ้น
ข้อผิดพลาดที่เป็นไปได้
คุณอาจได้รับข้อผิดพลาดเมื่ออัปโหลด เช่น "ข้อผิดพลาด: espcomm_upload_mem_failed" เพียงอัปโหลดรหัสอีกครั้ง หากหน้าจอยังคงว่างเปล่าเมื่อเปิดเครื่อง ให้อัปโหลดรหัสอีกครั้งด้วย
เรียกใช้รหัส
ในการรันโค้ดที่เราเพิ่งอัปโหลด ควรปิดการใช้งานโหมดการเขียนโปรแกรมโดยดึงพิน GPIO0 ไปที่ VCC หรือในกรณีของเรา เปิดเครื่องโดยไม่ต้องกดปุ่มโปรแกรม
เมื่อโค้ดที่อัปโหลดและทำงานอยู่ ตอนนี้เราสามารถกำหนดค่าตัวนับการดูของเราได้แล้ว!
ขั้นตอนที่ 4: การตั้งค่า Viewcounter
การกำหนดค่าของ viewcounter ทำได้ผ่านอินเทอร์เฟซของหน้าเว็บ ซึ่งช่วยให้เปลี่ยนการตั้งค่าได้ทันที แทนที่จะต้องอัปโหลดโค้ดซ้ำทุกครั้ง
การกำหนดค่าเว็บเซิร์ฟเวอร์
- เปิดเครื่องและรอให้ "set net" ปรากฏขึ้น
- กดปุ่ม Mode เครื่องจะแสดง "setup"
- บนพีซีของคุณ ไปที่เครือข่าย WiFi ของคุณแล้วเลือก "Instructables Hit Counter" (เมื่อถูกถามถึงรหัสผ่าน ให้ป้อน 'รหัสผ่าน')
- หน้าต่างเบราว์เซอร์ควรเปิดขึ้น (มิฉะนั้นให้เปิดเองแล้วพิมพ์ 192.168.4.1)
- หน้าเปิดขึ้น กด "กำหนดค่า WiFi"
- เลือกเครือข่ายและพิมพ์รหัสผ่านของคุณ กรอก IP แบบคงที่ เกตเวย์ และซับเน็ต
- กดบันทึก หน้ายืนยันจะปรากฏขึ้น
ขณะนี้ ESP8266 เชื่อมต่อกับเครือข่าย WiFi ของเราแล้ว เราสามารถกรอกข้อมูลประจำตัวที่สอนได้
การตั้งค่าผู้ใช้
- เปิดเบราว์เซอร์และพิมพ์ IP แบบคงที่ที่คุณเลือกในขั้นตอนก่อนหน้า
- ไปที่แท็บ "การตั้งค่าผู้ใช้"
- กรอกชื่อผู้สอนของคุณและบันทึก
- หากต้องการดูมุมมองของคำแนะนำเฉพาะให้ทำตามคำแนะนำบนหน้า
- กดบันทึก มุมมองของคุณจะปรากฏขึ้น!
- สำหรับตัวเลือกเพิ่มเติม สำรวจการตั้งค่า;)
ขณะนี้เคาน์เตอร์ทำงานได้อย่างสมบูรณ์ แต่ยังดูหมองคล้ำเล็กน้อย มาเปลี่ยนสิ่งนั้นด้วยการทำเคสสุดเจ๋ง!
บันทึก
รหัสของโครงการนี้มาจากผู้ชายที่ยอดเยี่ยมคนนี้: https://www.instructables.com/id/Instructables-Hi… เครดิตทั้งหมดสำหรับรหัสนี้ตกเป็นของเขา ฉันแค่ใช้มันเพื่อสร้างเวอร์ชันของโครงการเอง เหตุผลหลักที่ฉันเขียนสิ่งนี้ก็เพราะว่าฉันต้องไขปริศนาบางอย่างร่วมกันเพื่อให้มันใช้งานได้ (เช่น วิธีตั้งโปรแกรม ESP8266, เพิ่มไลบรารี, รับ ID คำสั่ง, ทำ PCB, …) และต้องการสร้างคู่มือแบบสแตนด์อโลนฉบับสมบูรณ์.
ขั้นตอนที่ 5: ปลอก
นี่คือส่วนที่คุณสามารถสร้างสรรค์ได้อย่างเต็มที่ ทุกกรณีสามารถทำงานได้ แต่การสร้างกรณีที่ดีสามารถสร้างหรือทำลายโครงการได้ ดังนั้นฉันจึงตัดสินใจสร้างเลโก้ของฉัน!
การติดตั้งหน้าจอ
ในการแก้ไขหน้าจอให้เข้าที่ ฉันพบว่า "แผงเลโก้ที่ไม่มีส่วนรองรับด้านข้าง" เข้ากับหน้าจอได้พอดี มีข้อเสียเพียงอย่างเดียวคือ กว้างกว่าที่ฉันต้องการสองเท่า… โชคดีที่สิ่งนี้แก้ไขได้ง่ายโดยการตัดออกเป็น 2 ส่วน ตอนนี้เรามีตัวยึดที่ดีสำหรับจอแสดงผล และเป็นจุดเริ่มต้นที่ดีสำหรับทั้งเคส!
การทำตัวอักษร
เพื่อให้ชัดเจนยิ่งขึ้นว่านี่คือตัวนับการดู ฉันต้องการรวมป้ายกำกับที่มี "จำนวนการดู" แต่แล้วฉันก็คิดว่า ทำไมต้องใช้ป้ายโง่ ๆ ในเมื่อคุณสามารถสร้างจดหมายจากเลโก้ได้? นั่นคือสิ่งที่ฉันทำ! ฉันรวมการปิดตัวอักษรเพื่อให้ง่ายต่อการทำซ้ำ
ทำหุ่นยนต์
ฉันกำลังมองหาบางสิ่งที่จะทำให้งานสร้างนี้เสร็จสิ้นและสะดุดกับคำแนะนำที่ยอดเยี่ยมนี้:
หุ่นยนต์สั่งสอนที่สร้างขึ้นจากเลโก้ คู่หูที่สมบูรณ์แบบสำหรับเคาน์เตอร์ดู! ฉันจะไม่ลงรายละเอียดขั้นตอนในการสร้างที่นี่ เพราะมันอธิบายทีละขั้นตอนในคำแนะนำดั้งเดิม เพื่อนตัวน้อยของเราคือสัมผัสขั้นสุดท้ายสำหรับกรณีของเรา เสร็จแล้ว!
ขั้นตอนที่ 6: ทดสอบและสนุก
เสร็จแล้ว! สิ่งเดียวที่ต้องทำคือทดสอบตัวนับมุมมองใหม่ของเรา
เชื่อมต่อกับพอร์ต USB และชื่นชมความคิดเห็นของคุณ! ฉันหวังว่าคุณจะชอบโครงการนี้และได้รับแรงบันดาลใจในการสร้างสิ่งที่คล้ายกัน
อย่าลังเลที่จะตรวจสอบคำแนะนำอื่น ๆ ของฉัน: