สารบัญ:

Arduino MAX7219 7-Segment Display Tutorial: 5 ขั้นตอน
Arduino MAX7219 7-Segment Display Tutorial: 5 ขั้นตอน

วีดีโอ: Arduino MAX7219 7-Segment Display Tutorial: 5 ขั้นตอน

วีดีโอ: Arduino MAX7219 7-Segment Display Tutorial: 5 ขั้นตอน
วีดีโอ: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, พฤศจิกายน
Anonim
Arduino MAX7219 บทช่วยสอนการแสดงผล 7 ส่วน
Arduino MAX7219 บทช่วยสอนการแสดงผล 7 ส่วน

MAX7219 เป็นไอซีที่ใช้ขับเคลื่อน LED 7 ส่วน (สูงสุด 8 หลัก) บล็อกจอแสดงผล (แถบแสดง) และ LED 64 ดวงที่เป็นแคโทดร่วม ในการสื่อสารกับไมโครคอนโทรลเลอร์ MAX7219 ใช้ระบบสื่อสาร SPI ดังนั้นในการขับ 64 LEDs ต้องใช้ไมโครคอนโทรลเลอร์เพียง 3 พอร์ตเท่านั้น

ในบทความนี้ ผมจะแสดงวิธีการใช้โมดูล 7-Segement ที่ใช้ IC MAX7219 เป็นไดร์เวอร์

ส่วนประกอบที่จำเป็น:

  • MAX7219 โมดูล 7 ส่วน
  • Arduino นาโน
  • จัมเปอร์ลวด
  • USB มินิ

ห้องสมุดที่จำเป็น:

LedControl

ในบทช่วยสอนนี้ ฉันใช้บอร์ด Arduino Nano หากคุณไม่เคยใช้ ฉันแนะนำให้อ่านบทความก่อนหน้าของฉันเกี่ยวกับ "วิธีใช้ Arduino Nano"

ขั้นตอนที่ 1: ประกอบส่วนประกอบทั้งหมด

ประกอบส่วนประกอบทั้งหมด
ประกอบส่วนประกอบทั้งหมด

เชื่อมต่อบอร์ด Arduino กับโมดูล 7-Segment ดูภาพหรือคำแนะนำที่ฉันเขียนด้านล่าง:

Arduino ถึง 7-Segment

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/โหลด

ขั้นตอนที่ 2: เพิ่มไลบรารี

เพิ่มห้องสมุด
เพิ่มห้องสมุด

หลังจากที่วงจรเสร็จสมบูรณ์ เพิ่มไลบรารี "LedControl" ลงใน Arduino IDE

หากต้องการเพิ่มไลบรารีลงใน Arduino คุณสามารถอ่านได้จากบทความ "วิธีเพิ่มไลบรารีภายนอกไปยัง Arduino" ที่ฉันทำไว้ก่อนหน้านี้

ขั้นตอนที่ 3: ฟังก์ชั่นเพิ่มเติม

ฟังก์ชั่นเพิ่มเติม
ฟังก์ชั่นเพิ่มเติม

หลังจากเพิ่มไลบรารี LedControl คุณสามารถใช้ฟังก์ชันเพิ่มเติมเพื่อควบคุมโมดูล 7-Segment

การโต้แย้ง

addr - ที่อยู่ของจอแสดงผล

digit - ตำแหน่งของตัวเลขบนจอแสดงผล (0.7.7)\ ค่า - ค่าที่จะแสดง (0x0..0x0F)

dp กำหนดจุดทศนิยม

การทำงาน

setChar(addr, ตัวเลข, value.dp); //เพื่อแสดงค่าประเภทถ่านสำหรับการเข้ารหัส ASCII 7 บิต

setDigit(addr, ตัวเลข, ค่า, bolean dp); //เพื่อแสดงตัวเลขและอักขระในฟังก์ชันเดียว setRow(addr, digit, value, boolean dp); //เพื่อแสดงวัตถุในตัวเลขที่ต้องการ

สำหรับรายละเอียดเพิ่มเติม โปรดอ่านที่นี่

ขั้นตอนที่ 4: อัปโหลด Sketch

อัพโหลดภาพร่าง
อัพโหลดภาพร่าง

ฉันได้ร่างสำหรับการทดลองใช้โมดูล 7-Segment นี้ คุณสามารถคัดลอกโค้ดด้านล่าง แล้ววางลงในสเก็ตช์ของคุณ

//เราต้องรวมห้องสมุดไว้ด้วย

#include "LedControl.h"

/*

ตอนนี้เราต้องการ LedControl เพื่อใช้งาน ***** หมายเลขพินเหล่านี้อาจไม่ทำงานกับฮาร์ดแวร์ของคุณ *****

พิน 12 เชื่อมต่อกับ DataIn

ขา 11 เชื่อมต่อกับCLK

พิน 10 เชื่อมต่อกับ LOAD

เรามี MAX72XX เพียงเครื่องเดียว

*/

LedControl lc=LedControl(12, 11, 10, 1);

/* เรามักจะรอเล็กน้อยระหว่างการอัปเดตการแสดงผล */

ความล่าช้านานที่ไม่ได้ลงนาม=500;

การตั้งค่าเป็นโมฆะ () {

/* MAX72XX อยู่ในโหมดประหยัดพลังงานเมื่อเปิดเครื่อง เราต้องปลุกเครื่อง */

lc.shutdown(0, เท็จ);

/* ตั้งค่าความสว่างเป็นค่ากลาง */

lc.setIntensity(0, 8);

/* และล้างหน้าจอ */

lc.clearDisplay(0);}

โมฆะ สวัสดี (){

lc.setChar(0, 7, 'H', เท็จ);

lc.setChar(0, 6, 'E', เท็จ);

lc.setChar(0, 5, 'L', เท็จ);

lc.setChar(0, 4, 'L', เท็จ);

lc.setChar(0, 3, '0', เท็จ);

lc.setChar(0, 2, '.', เท็จ);

lc.setChar(0, 1, '.', เท็จ);

lc.setChar(0, 0, '.', เท็จ);

ล่าช้า(เวลาล่าช้า+1000);

lc.clearDisplay(0);

ล่าช้า (ล่าช้า);

lc.setDigit(0, 7, 1, เท็จ);

ล่าช้า (ล่าช้า);

lc.setDigit(0, 6, 2, เท็จ);

ล่าช้า (ล่าช้า);

lc.setDigit(0, 5, 3, เท็จ);

ล่าช้า (ล่าช้า);

lc.setDigit(0, 4, 4, เท็จ);

ล่าช้า (ล่าช้า);

lc.setDigit(0, 3, 5, เท็จ);

ล่าช้า (ล่าช้า);

lc.setDigit(0, 2, 6, เท็จ);

ล่าช้า (ล่าช้า);

lc.setDigit(0, 1, 7, เท็จ);

ล่าช้า (ล่าช้า);

lc.setDigit(0, 0, 8, เท็จ);

ล่าช้า (1500);

lc.clearDisplay(0);

ล่าช้า (ล่าช้า);

}

วงเป็นโมฆะ () { สวัสดี ();

}

หรือดาวน์โหลดไฟล์ด้านล่าง:

ขั้นตอนที่ 5: ผลลัพธ์

เพลิดเพลินไปกับผลลัพธ์

หากมีคำถามเพียงแค่เขียนลงในคอลัมน์ความคิดเห็น

แล้วพบกันใหม่ในบทความหน้า

แนะนำ: