สารบัญ:

คำแนะนำดูเคาน์เตอร์ + คู่มือ ESP8266: 6 ขั้นตอน (พร้อมรูปภาพ)
คำแนะนำดูเคาน์เตอร์ + คู่มือ ESP8266: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: คำแนะนำดูเคาน์เตอร์ + คู่มือ ESP8266: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: คำแนะนำดูเคาน์เตอร์ + คู่มือ ESP8266: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: NodeMCU ESP8266 คืออะไร? ใช้ทำอะไร? 2024, กรกฎาคม
Anonim
คำแนะนำ ดูเคาน์เตอร์ + คู่มือ ESP8266
คำแนะนำ ดูเคาน์เตอร์ + คู่มือ ESP8266

ตัวนับสมาชิกสำหรับ 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 สิ่ง:

  1. เป็นอินพุต: มีปุ่มเชื่อมต่อกับ GPIO2
  2. ขับจอ. เนื่องจากต้องการสัญญาณมากกว่า 2 สัญญาณ เส้น TX และ RX จะถูกใช้เป็น IO ด้วย

ตอนนี้เรามีทฤษฎีของการดำเนินการให้พ้นทางแล้ว เราสามารถแปลสิ่งนี้เป็นการออกแบบทางกายภาพได้

PCB

ในการสร้าง PCB ฉันได้ออกแบบเลย์เอาต์ perfboard/stripboard ใน KiCad (ซอฟต์แวร์เลย์เอาต์ PCB โอเพ่นซอร์ส) ด้วยการตั้งค่าระยะห่างของกริดเป็น 2.54 มม. (0.1 นิ้ว) คุณสามารถสร้างเลย์เอาต์ที่สามารถบัดกรีบนสตริปบอร์ดได้

ทำให้ง่ายต่อการประสานอุปกรณ์อิเล็กทรอนิกส์เข้าด้วยกัน: เพียงพิมพ์การออกแบบ (รวมเป็น PDF) และคัดลอกการออกแบบบนแผ่นกระดาน ใช้หมุดส่วนหัวเพื่อเชื่อมต่อหน้าจอ FTDI และ ESP8266

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

ขั้นตอนที่ 3: การเขียนโปรแกรม ESP8266

การเขียนโปรแกรม ESP8266
การเขียนโปรแกรม ESP8266
การเขียนโปรแกรม ESP8266
การเขียนโปรแกรม ESP8266

การตั้งค่าห้องสมุด

ก่อนที่เราจะสามารถอัปโหลดโค้ดใด ๆ ไปยังบอร์ดโดยใช้ Arduino IDE เราจะต้องเพิ่มไลบรารี่ของมันก่อน ซึ่งสามารถทำได้โดยทำตามขั้นตอนต่อไปนี้:

  1. ไปที่ File>Preferences แล้ววางลิงก์ต่อไปนี้ลงในช่อง "Additional board manager URLs":
  2. ไปที่ เครื่องมือ>บอร์ด>ตัวจัดการบอร์ด และค้นหา ESP8266
  3. จากหน้าต่างนี้ ให้ติดตั้งแพ็คเกจล่าสุด
  4. รีสตาร์ท IDE
  5. จากเครื่องมือ>บอร์ด เลือก "โมดูล ESP8266 ทั่วไป" เป็นบอร์ด
  6. เปิดภาพสเก็ตช์และเรนเดอร์ (ctrl+R) เพื่อดูว่าได้เพิ่มบอร์ดอย่างถูกต้องหรือไม่

กำลังอัปโหลดรหัส

ในการตั้งโปรแกรมอุปกรณ์ของเรา เราจะต้องตั้งค่าให้อยู่ในโหมดการเขียนโปรแกรมและเชื่อมต่อกับบอร์ดฝ่าวงล้อม FTDI สามารถทำได้โดยการดึงพินที่เหมาะสมไปที่ VCC หรือ GND และทำการเชื่อมต่อตามรายการด้านล่าง

  • CH_PD เป็น VCC
  • RST เป็น VCC
  • GPIO0 เป็น GND
  • GPIO2 เป็น VCC
  • RX เป็น TX ของ FTDI
  • TX เป็น RX ของ FTDI

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

  1. ถอดจอแสดงผลและเสียบ FTDI
  2. กดปุ่มโปรแกรมค้างไว้เมื่อเชื่อมต่อสาย USB
  3. อัปโหลดรหัส หลังจากอัพโหลด "Set net" ควรปรากฏขึ้น

ข้อผิดพลาดที่เป็นไปได้

คุณอาจได้รับข้อผิดพลาดเมื่ออัปโหลด เช่น "ข้อผิดพลาด: espcomm_upload_mem_failed" เพียงอัปโหลดรหัสอีกครั้ง หากหน้าจอยังคงว่างเปล่าเมื่อเปิดเครื่อง ให้อัปโหลดรหัสอีกครั้งด้วย

เรียกใช้รหัส

ในการรันโค้ดที่เราเพิ่งอัปโหลด ควรปิดการใช้งานโหมดการเขียนโปรแกรมโดยดึงพิน GPIO0 ไปที่ VCC หรือในกรณีของเรา เปิดเครื่องโดยไม่ต้องกดปุ่มโปรแกรม

เมื่อโค้ดที่อัปโหลดและทำงานอยู่ ตอนนี้เราสามารถกำหนดค่าตัวนับการดูของเราได้แล้ว!

ขั้นตอนที่ 4: การตั้งค่า Viewcounter

การตั้งค่า Viewcounter
การตั้งค่า Viewcounter
การตั้งค่า Viewcounter
การตั้งค่า Viewcounter
การตั้งค่า Viewcounter
การตั้งค่า Viewcounter

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

การกำหนดค่าเว็บเซิร์ฟเวอร์

  1. เปิดเครื่องและรอให้ "set net" ปรากฏขึ้น
  2. กดปุ่ม Mode เครื่องจะแสดง "setup"
  3. บนพีซีของคุณ ไปที่เครือข่าย WiFi ของคุณแล้วเลือก "Instructables Hit Counter" (เมื่อถูกถามถึงรหัสผ่าน ให้ป้อน 'รหัสผ่าน')
  4. หน้าต่างเบราว์เซอร์ควรเปิดขึ้น (มิฉะนั้นให้เปิดเองแล้วพิมพ์ 192.168.4.1)
  5. หน้าเปิดขึ้น กด "กำหนดค่า WiFi"
  6. เลือกเครือข่ายและพิมพ์รหัสผ่านของคุณ กรอก IP แบบคงที่ เกตเวย์ และซับเน็ต
  7. กดบันทึก หน้ายืนยันจะปรากฏขึ้น

ขณะนี้ ESP8266 เชื่อมต่อกับเครือข่าย WiFi ของเราแล้ว เราสามารถกรอกข้อมูลประจำตัวที่สอนได้

การตั้งค่าผู้ใช้

  1. เปิดเบราว์เซอร์และพิมพ์ IP แบบคงที่ที่คุณเลือกในขั้นตอนก่อนหน้า
  2. ไปที่แท็บ "การตั้งค่าผู้ใช้"
  3. กรอกชื่อผู้สอนของคุณและบันทึก
  4. หากต้องการดูมุมมองของคำแนะนำเฉพาะให้ทำตามคำแนะนำบนหน้า
  5. กดบันทึก มุมมองของคุณจะปรากฏขึ้น!
  6. สำหรับตัวเลือกเพิ่มเติม สำรวจการตั้งค่า;)

ขณะนี้เคาน์เตอร์ทำงานได้อย่างสมบูรณ์ แต่ยังดูหมองคล้ำเล็กน้อย มาเปลี่ยนสิ่งนั้นด้วยการทำเคสสุดเจ๋ง!

บันทึก

รหัสของโครงการนี้มาจากผู้ชายที่ยอดเยี่ยมคนนี้: https://www.instructables.com/id/Instructables-Hi… เครดิตทั้งหมดสำหรับรหัสนี้ตกเป็นของเขา ฉันแค่ใช้มันเพื่อสร้างเวอร์ชันของโครงการเอง เหตุผลหลักที่ฉันเขียนสิ่งนี้ก็เพราะว่าฉันต้องไขปริศนาบางอย่างร่วมกันเพื่อให้มันใช้งานได้ (เช่น วิธีตั้งโปรแกรม ESP8266, เพิ่มไลบรารี, รับ ID คำสั่ง, ทำ PCB, …) และต้องการสร้างคู่มือแบบสแตนด์อโลนฉบับสมบูรณ์.

ขั้นตอนที่ 5: ปลอก

ปลอก
ปลอก
ปลอก
ปลอก
ปลอก
ปลอก

นี่คือส่วนที่คุณสามารถสร้างสรรค์ได้อย่างเต็มที่ ทุกกรณีสามารถทำงานได้ แต่การสร้างกรณีที่ดีสามารถสร้างหรือทำลายโครงการได้ ดังนั้นฉันจึงตัดสินใจสร้างเลโก้ของฉัน!

การติดตั้งหน้าจอ

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

การทำตัวอักษร

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

ทำหุ่นยนต์

ฉันกำลังมองหาบางสิ่งที่จะทำให้งานสร้างนี้เสร็จสิ้นและสะดุดกับคำแนะนำที่ยอดเยี่ยมนี้:

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

ขั้นตอนที่ 6: ทดสอบและสนุก

ทดสอบและสนุก!
ทดสอบและสนุก!

เสร็จแล้ว! สิ่งเดียวที่ต้องทำคือทดสอบตัวนับมุมมองใหม่ของเรา

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

อย่าลังเลที่จะตรวจสอบคำแนะนำอื่น ๆ ของฉัน:

แนะนำ: