สารบัญ:
- ขั้นตอนที่ 1: บทนำ
- ขั้นตอนที่ 2: ห้องสมุดสำหรับการใช้งาน
- ขั้นตอนที่ 3: ห้องสมุด
- ขั้นตอนที่ 4: การสาธิต
- ขั้นตอนที่ 5: การสาธิต
- ขั้นตอนที่ 6: STM32 NUCLEO-L432KC
- ขั้นตอนที่ 7: Arduino Mega 2560 PRO MINI
- ขั้นตอนที่ 8: การประกอบ
- ขั้นตอนที่ 9: โปรแกรม
- ขั้นตอนที่ 10: ไลบรารีและตัวแปร
- ขั้นตอนที่ 11: ตั้งค่า
- ขั้นตอนที่ 12: วนรอบ
- ขั้นตอนที่ 13: ดาวน์โหลดไฟล์
วีดีโอ: มีประสิทธิภาพและราคาถูก: แสดงผลด้วย STM32L4: 13 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
วันนี้เราจะมาพูดถึงสามวิชาที่ฉันชอบมากที่สุด: จอ LCD ที่ใช้พลังงานเพียงเล็กน้อย, STM32 พร้อม Core Arduino และ Arduino Mega Pro Mini นี่คือทรีโอที่ไม่มีข้อผิดพลาดสำหรับ Internet of Things จากนั้นผมจะแนะนำให้คุณรู้จักกับจอ LCD หกหลัก HT1621 และสร้างตัวอย่างการควบคุมด้วยโค้ดที่ทำงานได้ทั้งบน Arduino Mega Pro Mini และ STM32 L432KC รายละเอียดที่น่าสังเกตคือซอร์สโค้ดสำหรับไมโครคอนโทรลเลอร์สองตัวนั้นเหมือนกันทุกประการ ฉันจะไม่เปลี่ยนการปักหมุดเช่นกัน มันยอดเยี่ยมมาก!
ขั้นตอนที่ 1: บทนำ
จอแสดงผล LCD HT1621 มีหน้าจอที่ใช้กันทั่วไปในมัลติมิเตอร์ เครื่องชั่งอิเล็กทรอนิกส์ นาฬิกาอิเล็กทรอนิกส์ เทอร์โมมิเตอร์ และอุปกรณ์วัดอิเล็กทรอนิกส์
• มี 6 หลัก 7 ส่วน
• ใช้การสื่อสาร SPI แบบ 3 สาย
• มีไฟแบ็คไลท์ที่เหมาะกับสภาพแวดล้อมที่มืด
• แรงดันใช้งาน 4.7 ~ 5.2V
• กินไฟ 4mA พร้อมไฟแบ็คไลท์
โปรดทราบว่ามีตัวเลขมากกว่าหกหลัก จุดทศนิยมสามจุด และมาตรวัดแบตเตอรี่พร้อมแถบสามแถบ
ขั้นตอนที่ 2: ห้องสมุดสำหรับการใช้งาน
เราจะใช้ไลบรารีผู้ใช้ ANXZHU github ซึ่งค่อนข้างง่าย สามารถดูได้ในเวอร์ชันดั้งเดิมในลิงค์ด้านล่าง:
github.com/anxzhu/segment-lcd-with-ht1621
ชื่อไลบรารีค่อนข้างแปลก ดังนั้นฉันจึงตัดสินใจเปลี่ยนชื่อ (ไฟล์ คลาส ตัวสร้าง ฯลฯ) ชื่อเดิมคือ "A6seglcd" ฉันแทนที่ชื่อนี้ด้วย "lcdlib"
ขั้นตอนที่ 3: ห้องสมุด
เพิ่มไลบรารี "lcdlib"
เข้าถึงลิงค์และดาวน์โหลดห้องสมุด
เปิดเครื่องรูดไฟล์และวางลงในโฟลเดอร์ไลบรารีของ Arduino IDE
C: / ไฟล์โปรแกรม (x86) / Arduino / ไลบรารี
ขั้นตอนที่ 4: การสาธิต
Arduino mega assembly
ขั้นตอนที่ 5: การสาธิต
การประกอบ SMT32
ขั้นตอนที่ 6: STM32 NUCLEO-L432KC
ฉันต้องการเน้นที่นี่ว่า STM32-L432KC ไม่มีตัวแปลง USB แบบอนุกรม แต่มี USB เต็มรูปแบบซึ่งใช้โปรโตคอล ST-link STMicroelectronics ดังนั้นจึงค่อนข้างซับซ้อนและเปิดใช้งานการดีบักอย่างมีประสิทธิภาพหากคุณใช้ IR หรือ Microvision และเนื่องจากเป็น Arduino Core (MBED โดยใช้เครื่องมือดั้งเดิมของ Microsoft) จึงใช้คอมไพเลอร์ที่มีความเป็นมืออาชีพสูง ฉันต้องพูดอะไรอีกไหม
ขั้นตอนที่ 7: Arduino Mega 2560 PRO MINI
ฉันชอบสิ่งนี้เพราะเป็น Arduino "บริสุทธิ์" และ "ของจริง" เป็นเมก้าที่มี IO มากมาย แต่มันเป็นมินิ มันจึงเข้าได้กับทุกที่ ฉันชอบ IO ทุกที่ ด้วยเหตุนี้ ฉันชอบที่จะเชื่อมต่อ Led, SPI, i2c เป็นต้น ในแง่นี้ Mega นี้ยอดเยี่ยมมาก
ขั้นตอนที่ 8: การประกอบ
ในการประกอบของเรา แถวของหมุดตัวผู้อยู่ด้านใน ในขณะที่หมุดตัวเมียอยู่ด้านนอกสุด อำนวยความสะดวกในการทำงานและการเชื่อมต่อกับโปรโตบอร์ด เราทำการเชื่อมต่อ SPI โดยจำได้ว่า Arduino Mega และ Arduino Nano clone นี้มีการตรึงแบบเดียวกัน ซึ่งก็คือ STM32-L432KC
ขั้นตอนที่ 9: โปรแกรม
เราจะสร้างโปรแกรมที่เรียบง่าย โดยเราจะเขียนสัญลักษณ์ต่างๆ (ตัวอักษร ตัวเลข และจุด) บนหน้าจอ
โปรดจำไว้ว่าโปรแกรมนี้ใช้ได้กับทั้ง Arduino Mega Pro Mini และ STM32 L432KC
ขั้นตอนที่ 10: ไลบรารีและตัวแปร
จากนั้นเราจะรวมไลบรารีที่รับผิดชอบในการสื่อสารและยกตัวอย่างการควบคุมการแสดงผล ฟังก์ชัน "const char" แสดงตารางอาร์เรย์ คุณจะใช้เวกเตอร์เหล่านี้อ้างอิงถึงอักขระที่พิมพ์บนจอแสดงผลได้
#include //biblioteca para controle do display
lcdlib จอแอลซีดี; //instancia do controlador do display /*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, C, c, d, E, F, H, h, L, n, N, P, r, t, U, -, bat, pf, ' ', */ const char num={0x7D, 0x60, 0x3E, 0x7A, 0x63, 0x5B, 0x5F, 0x70, 0x7F, 0x7B, 0x77, 0x4F, 0x1D, 0x0E, 0x6E, 0x1F, 0x17, 0x67, 0x47, 0x0D, 0x46, 0x75, 0x37, 0x06, 0x0F, 0x6D, 0x02, 0x80, 0xFF, 0x00 }; /*ดัชนี num 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 */
ขั้นตอนที่ 11: ตั้งค่า
ในการเริ่มต้นการตั้งค่า เราจะกำหนดหมุด ทำการตั้งค่าเริ่มต้น และตั้งค่าการทำความสะอาดจอแสดงผล เราพิจารณาแล้วว่าหน้าจอแสดง "สวัสดี" และหลังจากผ่านไประยะหนึ่ง ข้อความที่แสดงจะถูกล้าง
การตั้งค่าเป็นโมฆะ () { lcd.run (2, 3, 4, 5); // [cs wr data led +] definição dos pinos lcd.conf (); //configuração เริ่มต้น lcd.clr(); //limpa o display //escrve HELLO lcd.display(10, num [17]); ลบ lcd.display(8, จำนวน [15]); lcd.display(6, จำนวน [19]); lcd.display(4, จำนวน [19]); lcd.display(2, จำนวน[0]); //fim สวัสดีล่าช้า (1000); lcd.clr(); //limpa o แสดง }
ขั้นตอนที่ 12: วนรอบ
ที่นี่ เราสร้างฟังก์ชันที่เรียกว่า "writeLoop" ซึ่งจะเขียนคำว่า LOOP บนหน้าจอ จากนั้นเขียนสัญลักษณ์ทั้งหมดของอาร์เรย์ของเรา นอกจากนี้เรายังมีฟังก์ชัน "writeBattery" ซึ่งพิมพ์เครื่องหมายแบตเตอรี่
สุดท้าย เรามีคำสั่ง "lcd.dispnum" ที่เขียนค่าทศนิยม
ขั้นตอนที่ 13: ดาวน์โหลดไฟล์
ไฟล์ PDF
ฉันไม่
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง