สารบัญ:

โปรแกรม MicroPython: แสดงขนาดของวงกลม: 9 ขั้นตอน
โปรแกรม MicroPython: แสดงขนาดของวงกลม: 9 ขั้นตอน

วีดีโอ: โปรแกรม MicroPython: แสดงขนาดของวงกลม: 9 ขั้นตอน

วีดีโอ: โปรแกรม MicroPython: แสดงขนาดของวงกลม: 9 ขั้นตอน
วีดีโอ: IoT 101 with MicroPython + Python Socket + GUI 2024, กรกฎาคม
Anonim

การทดลองนี้ใช้โมดูล MakePython ESP8266 ซึ่งช่วยให้เราเรียนรู้การเขียนโปรแกรม MicroPython บน ESP8266 การทดลองควบคุมขนาดของวงกลมบนหน้าจอโดยการหมุนโพเทนชิออมิเตอร์ ในกระบวนการนี้ เราจะเรียนรู้เกี่ยวกับการใช้จอแสดงผล OLED ADC, SSD1306 และ uPyCraft IDE

ขั้นตอนที่ 1: เกี่ยวกับ ADC และ I2C

เกี่ยวกับ ADC และ I2C
เกี่ยวกับ ADC และ I2C

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

การสื่อสาร I2C: I2C ถูกใช้อย่างกว้างขวางสำหรับการสื่อสารคอนโทรลเลอร์กับส่วนประกอบออนบอร์ด เช่น เซ็นเซอร์/จอแสดงผล การส่งข้อมูลสามารถทำได้โดยสายสัญญาณเพียงสองเส้น ตามลำดับสัญญาณนาฬิกา SCL และ SDA สายสัญญาณ มีอุปกรณ์หลักเพียงหนึ่งอุปกรณ์หลักและอุปกรณ์ทาสหลายตัวในสาย I2C เพื่อให้แน่ใจว่าบัสทั้งสองอยู่ในระดับสูงเมื่อไม่ได้ใช้งาน SDA และ SCL จะต้องเชื่อมต่อกับตัวต้านทานการดึง ค่าคลาสสิกของตัวต้านทานการดึงคือ 10K

ขั้นตอนที่ 2: วัสดุสิ้นเปลือง

เสบียง
เสบียง

ฮาร์ดแวร์:

  • MakePython ESP8266
  • โพเทนชิออมิเตอร์
  • กระดานขนมปัง
  • กระโดดเส้น
  • สาย USB

MakePython ESP8266: มีโมดูล OLED 1.3' OLED ออนบอร์ดบนกระดาน MakePython ที่มีพิกเซล 128x64… หนึ่งพิกเซลของหน้าจอขาวดำคือไดโอดเปล่งแสง OLED คือ "การเปล่งแสงในตัวเอง" ตัวพิกเซลเองคือแหล่งกำเนิดแสง ดังนั้นความคมชัดจึงสูงมาก หน้าจอ OLED มีโปรโตคอลการสื่อสาร I2C และ SPI ซึ่งเข้ากันไม่ได้โดยสิ้นเชิงเนื่องจากโปรโตคอลต่างกัน ในบทเรียนของเรา OLED ได้รับการกำหนดค่าให้เข้ากันได้กับโปรโตคอล I2C ลิงค์ซื้อโมดูล:

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

ซอฟต์แวร์:

uPyCraft IDE

มีโค้ดและวิธีการเขียนโปรแกรมมากมายด้วย MicroPython สำหรับบทช่วยสอนนี้ เราใช้ uPyCraft IDE ซึ่งเป็นวิธีที่ง่ายและง่ายที่สุดในการเริ่มข้ามไปยัง MicroPython

ขั้นตอนที่ 3: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ

นี่เป็นวงจรง่ายๆ ที่ต้องใช้สายไฟน้อยมาก เพียงสามเส้นเท่านั้น เพียงเชื่อมต่อพิน VCC ของโพเทนชิออมิเตอร์กับ MakePython ESP8266 3.3v และพิน OUT (ตรงกลาง) กับ A0 แล้วเชื่อมต่อ GND เข้าด้วยกัน จอแสดงผล OLED ใช้การสื่อสารแบบ I2C และบอร์ดเชื่อมต่ออยู่ คุณจึงไม่ต้องกังวลกับมัน

ขั้นตอนที่ 4: การติดตั้ง UPyCraft IDE Windows PC

การติดตั้ง UPyCraft IDE Windows PC
การติดตั้ง UPyCraft IDE Windows PC
การติดตั้ง UPyCraft IDE Windows PC
การติดตั้ง UPyCraft IDE Windows PC

คลิกลิงก์นี้เพื่อดาวน์โหลด uPyCraft IDE สำหรับ Windows:

randomnerdtutorials.com/uPyCraftWindows

หลังจากนั้นไม่กี่วินาที คุณควรเห็นไฟล์ที่คล้ายกัน (uPyCraft_VX.exe) ในโฟลเดอร์ Downloads ของคุณ

ดับเบิลคลิกที่ไฟล์นั้น หน้าต่างใหม่จะเปิดขึ้นพร้อมกับซอฟต์แวร์ uPyCraft IDE

ขั้นตอนที่ 5: การสร้างการสื่อสารกับคณะกรรมการ

การสร้างการสื่อสารกับคณะกรรมการ
การสร้างการสื่อสารกับคณะกรรมการ

หลังจากติดตั้งเฟิร์มแวร์ MicroPython แล้ว (ติดตั้งเฟิร์มแวร์ MicroPython แล้วเมื่อคุณได้รับ Makerfabs MakePython ESP8266) ให้เชื่อมต่อกับคอมพิวเตอร์ของคุณผ่านสาย USB ให้ทำตามขั้นตอน:

  • ไปที่ เครื่องมือ > บอร์ด และเลือกบอร์ดที่คุณกำลังใช้ เลือก esp8266
  • ไปที่ Tools > Serial และเลือกพอร์ต com ที่ ESP ของคุณเชื่อมต่ออยู่ (ดาวน์โหลดไดรเวอร์ USB ได้ที่:

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)

กดปุ่ม Connect เพื่อสร้างการสื่อสารแบบอนุกรมกับบอร์ดของคุณ

คุณจะเห็น “>>> “ปรากฏในหน้าต่างเชลล์หลังจากเชื่อมต่อกับบอร์ดของคุณสำเร็จ

ขั้นตอนที่ 6: การสร้างไฟล์ Main.py บนบอร์ดของคุณ

การสร้างไฟล์ Main.py บนบอร์ดของคุณ
การสร้างไฟล์ Main.py บนบอร์ดของคุณ
การสร้างไฟล์ Main.py บนบอร์ดของคุณ
การสร้างไฟล์ Main.py บนบอร์ดของคุณ
  • กดปุ่ม "ไฟล์ใหม่" เพื่อสร้างไฟล์ใหม่
  • กดปุ่ม "บันทึกไฟล์" เพื่อบันทึกไฟล์บนคอมพิวเตอร์ของคุณ
  • หน้าต่างใหม่จะเปิดขึ้น ตั้งชื่อไฟล์ของคุณว่า main.py และบันทึกลงในคอมพิวเตอร์ของคุณ
  • หลังจากนั้น คุณควรเห็นไฟล์ boot.py ในอุปกรณ์ของคุณและแท็บใหม่ที่มีไฟล์ main.py
  • คลิกปุ่ม "ดาวน์โหลดและเรียกใช้" เพื่ออัปโหลดไฟล์ไปยังบอร์ด ESP ของคุณ
  • ตอนนี้ไดเร็กทอรีของอุปกรณ์ควรโหลดไฟล์ main.py ESP ของคุณมีไฟล์ main.py ที่จัดเก็บไว้

ขั้นตอนที่ 7: เพิ่มไฟล์ไดรเวอร์

เนื่องจากหน้าจอ OLED ใช้ชิปไดรเวอร์ SSD1306 เราจึงต้องดาวน์โหลดไดรเวอร์ของ SSD1306 คุณสามารถไปที่เว็บไซต์ GitHub เพื่อค้นหาและดาวน์โหลดไลบรารีของ SSD1306 หรือคลิกเพื่อดาวน์โหลดไฟล์ไดรเวอร์ ssd1306.py ของเรา

หลังจากดาวน์โหลด ให้บันทึก ssd1306.py ลงในไดเร็กทอรีไฟล์ workSpace จากนั้นคลิกเปิดไฟล์ ssd1306.py แล้วคลิกเรียกใช้ ไฟล์ไลบรารีสามารถโหลดลงในไดเร็กทอรีของอุปกรณ์ได้ ขณะนี้ ไฟล์ไลบรารีของ ssd1306.py ได้รับการโหลดลงใน MakePython ESP8266 เรียบร้อยแล้ว ซึ่งสามารถเรียกได้ด้วยคำสั่ง import ssd1306

*หมายเหตุ: ครั้งแรกที่คุณเปิด uPyCraft IDE จะไม่มีเส้นทางเวิร์กสเปซ เมื่อคุณคลิก กล่องโต้ตอบ workSpace จะปรากฏขึ้น คุณสามารถสร้างไดเร็กทอรี workSpace เพื่อจัดเก็บไฟล์ของผู้ใช้โดยเลือกไดเร็กทอรีที่คุณต้องการจัดเก็บ

ขั้นตอนที่ 8: หน้าที่หลัก

หน้าที่หลัก
หน้าที่หลัก
หน้าที่หลัก
หน้าที่หลัก

คำอธิบายไวยากรณ์:

  • i2c: กำหนดค่าหมุด SCL และ SDA
  • oled: สร้างวัตถุ OLED
  • adc.read(): อ่านข้อมูลตัวอย่าง ADC
  • circle(): ฟังก์ชันวาดวงกลมแบบกำหนดเองที่ใช้ฟังก์ชัน sqrt () เพื่อคำนวณรัศมีของวงกลม
  • math.sqrt(r): ส่งกลับค่ารากที่สองของตัวเลข
  • พิกเซล (x, y, c): วาดจุดที่ (x, y)
  • hline(x, y, w, c): ลากเส้นแนวนอน เริ่มต้นที่ (x, y), ความยาว w
  • vline(x, y, w, c): ลากเส้นแนวตั้งโดยเริ่มจาก (x, y) ด้วยความสูง w
  • oled.fill(n): ล้างหน้าจอเมื่อ n=0 และเติมหน้าจอเมื่อ n> เป็น 0
  • oled.show(): เปิดฟังก์ชั่นการแสดงผล

คุณสามารถเพิ่มไฟล์นี้โดยตรงหรือคัดลอกเนื้อหาไปยังไฟล์หลักที่สร้างขึ้นใหม่

ขั้นตอนที่ 9: ผลการทดลอง

ผลการทดลอง
ผลการทดลอง

หมุนโพเทนชิออมิเตอร์อย่างช้าๆ ตามเข็มนาฬิกา และวงกลมบนหน้าจอจะใหญ่ขึ้น ทวนเข็มนาฬิกาเล็กลง

แนะนำ: