สถานีตรวจอากาศที่ใช้จอแสดงผล ST7920 ขนาดใหญ่: 4 ขั้นตอน
สถานีตรวจอากาศที่ใช้จอแสดงผล ST7920 ขนาดใหญ่: 4 ขั้นตอน
Anonim
สถานีตรวจอากาศใช้จอแสดงผล ST7920 ขนาดใหญ่
สถานีตรวจอากาศใช้จอแสดงผล ST7920 ขนาดใหญ่
สถานีตรวจอากาศใช้จอแสดงผล ST7920 ขนาดใหญ่
สถานีตรวจอากาศใช้จอแสดงผล ST7920 ขนาดใหญ่
สถานีตรวจอากาศใช้จอแสดงผล ST7920 ขนาดใหญ่
สถานีตรวจอากาศใช้จอแสดงผล ST7920 ขนาดใหญ่

เพื่อน ๆ ที่รักยินดีต้อนรับสู่ Instructable อื่น! ในบทช่วยสอนนี้ เราจะมาดูหน้าจอ LCD ขนาดใหญ่กันก่อน และเราจะสร้างเครื่องตรวจสอบอุณหภูมิและความชื้นด้วยจอแสดงผลนี้

ฉันต้องการค้นหาจอแสดงผลที่คล้ายกับจอแสดงผลที่เครื่องพิมพ์ 3 มิติของฉันใช้อยู่เสมอ เพราะมันใหญ่และราคาไม่แพง ดังนั้นจึงมีประโยชน์มากสำหรับหลายโครงการ หลังจากมองไปรอบๆ ฉันพบว่าจอแสดงผลที่เครื่องพิมพ์ของฉันใช้คือจอแสดงผลนี้ จอแสดงผลขนาดใหญ่ 3.2” พร้อมไดรเวอร์ ST7920 และความละเอียด 128x64 พิกเซล เย็น! อย่างที่คุณเห็นว่ามันใหญ่กว่าจอแสดงผลส่วนใหญ่ที่เราเคยใช้ในโครงการของเรามาก ดังนั้นมันจะมีประโยชน์ในหลายโครงการในอนาคต มีค่าใช้จ่ายเพียงประมาณ $ 6!

ดาวน์โหลดได้ที่นี่ →

เสบียง

  1. จอ LCD ST7920 →
  2. Arduino Uno →
  3. เซ็นเซอร์ DHT22 →
  4. เขียงหั่นขนม →
  5. สายไฟ →

ขั้นตอนที่ 1: การเชื่อมต่อกับ Arduino

การเชื่อมต่อกับ Arduino
การเชื่อมต่อกับ Arduino
การเชื่อมต่อกับ Arduino
การเชื่อมต่อกับ Arduino
การเชื่อมต่อกับ Arduino
การเชื่อมต่อกับ Arduino

มาดูวิธีใช้งานกับ Arduino กัน วันนี้ฉันจะใช้ Arduino Uno แต่ใช้งานได้กับบอร์ด Arduino หลายตัว

จอแสดงผลใช้อินเทอร์เฟซ SPI เพื่อสื่อสารกับไมโครคอนโทรลเลอร์ เราจึงต้องเชื่อมต่อกับหมุด SPI ของฮาร์ดแวร์ของบอร์ด Arduino

อย่างที่คุณเห็น จอแสดงผลมีพินมากมายให้เชื่อมต่อ แต่ไม่ต้องกังวล เราไม่จำเป็นต้องเชื่อมต่อพินเหล่านี้ทั้งหมด เพียงแค่ 9 พินเท่านั้น และเพียง 4 พินเท่านั้นกับพินดิจิทัลของบอร์ด Arduino Uno

พินแรกที่ GND ไปที่ Arduino GND พินที่สองซึ่งเป็น Vcc ไปที่เอาต์พุต Arduino 5V พิน RS ไปที่พินดิจิทัล 10 พิน R/W ไปที่พินดิจิทัล 11 พิน E ไปที่พินดิจิทัล 13. พิน PSB ไปที่ GND พิน RST ไปที่พินดิจิทัล 8 BLA ไปที่เอาต์พุต 3.3V ของ Arduino และพิน BLK ไปที่ GND เพียงเท่านี้จอแสดงผลของเราก็พร้อมใช้งานแล้ว!

เราสามารถทำให้ชีวิตของเราง่ายขึ้นได้หากเราเดินสายพิน GND ทั้งหมดของจอแสดงผลเข้าด้วยกัน

ขั้นตอนที่ 2: ไลบรารีสำหรับ Display

ห้องสมุดสำหรับดิสเพลย์
ห้องสมุดสำหรับดิสเพลย์
ห้องสมุดสำหรับดิสเพลย์
ห้องสมุดสำหรับดิสเพลย์
ห้องสมุดสำหรับดิสเพลย์
ห้องสมุดสำหรับดิสเพลย์
ห้องสมุดสำหรับดิสเพลย์
ห้องสมุดสำหรับดิสเพลย์

ทีนี้มาดูซอฟต์แวร์ที่เราต้องใช้เพื่อขับเคลื่อนจอแสดงผลนี้กัน

ฉันจะใช้ไลบรารี u8g เพื่อขับเคลื่อนจอแสดงผลนี้ ก่อนอื่นมาติดตั้งไลบรารี่กันก่อน เราเปิด Arduino IDE และจากเมนูเราเลือก Sketch → Include Library → Manage Libraries และเราค้นหาไลบรารี U8G2 เราเลือกแล้วกดติดตั้ง! เพียงเท่านี้ ห้องสมุดของเราก็พร้อมใช้งาน

ตอนนี้ ไปที่ไฟล์ → ตัวอย่าง และจากตัวอย่างที่ให้มากับไลบรารี เรามาเรียกใช้ตัวอย่าง GraphicsText เราจำเป็นต้องเปลี่ยนแปลงภาพร่างเพียงครั้งเดียวก่อนที่จะอัปโหลดไปยังบอร์ด เนื่องจากไลบรารี U8G รองรับการแสดงผลจำนวนมาก เราจึงต้องเลือกตัวสร้างที่เหมาะสมสำหรับการแสดงผลของเรา ดังนั้นเราจึงค้นหาโค้ดสำหรับ "ST7920" และจากตัวสร้างที่มีอยู่ เราเลือกใช้ HW_SPI เรายกเลิกหมายเหตุบรรทัดนี้และเราพร้อมที่จะอัปโหลดภาพร่างไปยัง Arduino หลังจากนั้นไม่กี่วินาที ภาพสเก็ตช์ก็เริ่มทำงาน

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

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

ขั้นตอนที่ 3: มาสร้างสถานีตรวจอากาศกันเถอะ

มาสร้างสถานีตรวจอากาศกันเถอะ
มาสร้างสถานีตรวจอากาศกันเถอะ
มาสร้างสถานีตรวจอากาศกันเถอะ
มาสร้างสถานีตรวจอากาศกันเถอะ
มาสร้างสถานีตรวจอากาศกันเถอะ
มาสร้างสถานีตรวจอากาศกันเถอะ
มาสร้างสถานีตรวจอากาศกันเถอะ
มาสร้างสถานีตรวจอากาศกันเถอะ

มาสร้างสิ่งที่มีประโยชน์กันเถอะ มาเชื่อมต่อเซ็นเซอร์อุณหภูมิและความชื้น DHT22 กับ Arduino เราต้องการพลังงานและสายสัญญาณเท่านั้นซึ่งฉันเชื่อมต่อกับพินดิจิทัล 7 เพื่อให้ง่ายขึ้น ฉันยังใช้เขียงหั่นขนมขนาดเล็ก คุณสามารถค้นหาแผนผังไดอะแกรมที่แนบมาที่นี่

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

ตอนนี้เรามาดูโค้ดของโครงการกัน ด้วยโค้ดเพียง 60 บรรทัด เราสามารถสร้างโครงการแบบนี้ได้! เจ๋งแค่ไหน! สิ่งที่เราต้องทำเพื่อใช้จอแสดงผลคือใช้ตัวสร้างนี้:

U8G2_ST7920_128X64_1_HW_SPI u8g2(U8G2_R0, /* CS=*/ 10, /* รีเซ็ต=*/8);

เริ่มต้นการแสดงผลในฟังก์ชันการตั้งค่า:

u8g2.begin(); u8g2.enableUTF8Print(); u8g2.setFont(u8g2_font_helvB10_tf); u8g2.setColorIndex(1);

จากนั้นสิ่งที่เราทำคือวาดเฟรมและสตริงสำหรับอุณหภูมิและความชื้น:

u8g2.drawFrame(0, 0, 128, 31);

u8g2.drawFrame(0, 33, 128, 31); u8g2.drawStr(15, 13, "อุณหภูมิ");

สุดท้ายที่เราต้องทำคืออ่านอุณหภูมิและความชื้นจากเซ็นเซอร์และแสดงค่าที่อ่านบนหน้าจอด้วย

เป็นโมฆะ readTemperature ()

{ float t = dht.readTemperature(); dtostrf(t, 3, 1, อุณหภูมิ); }

คุณจะพบรหัสของโครงการที่แนบมานี้เช่นเคย

ขั้นตอนที่ 4: ความคิดสุดท้าย

ความคิดสุดท้าย
ความคิดสุดท้าย

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

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