Სარჩევი:

Arduino MAX7219 7-სეგმენტიანი ჩვენების სახელმძღვანელო: 5 ნაბიჯი
Arduino MAX7219 7-სეგმენტიანი ჩვენების სახელმძღვანელო: 5 ნაბიჯი

ვიდეო: Arduino MAX7219 7-სეგმენტიანი ჩვენების სახელმძღვანელო: 5 ნაბიჯი

ვიდეო: Arduino MAX7219 7-სეგმენტიანი ჩვენების სახელმძღვანელო: 5 ნაბიჯი
ვიდეო: LDmicro 18: Ublox NEO-6M GPS Alarm Clock (Microcontroller PLC Ladder Programming with LDmicro) 2024, ნოემბერი
Anonim
Arduino MAX7219 7-სეგმენტიანი ჩვენების სახელმძღვანელო
Arduino MAX7219 7-სეგმენტიანი ჩვენების სახელმძღვანელო

MAX7219 არის IC, რომელიც გამოიყენება 7-სეგმენტიანი LED- ების (8 ციფრამდე), ეკრანის ბლოკირების (ბარიანი ეკრანების) და 64 ინდივიდუალური LED- ების მართვისთვის. მიკროკონტროლერთან დასაკავშირებლად MAX7219 იყენებს SPI საკომუნიკაციო სისტემას. ასე რომ, 64 LED- ების მართვისთვის საჭიროა მხოლოდ მიკროკონტროლის 3 პორტი.

ამ სტატიაში მე გაჩვენებთ თუ როგორ გამოიყენოთ 7-განყოფილების მოდული, რომელიც იყენებს IC MAX7219 დრაივერს.

საჭირო კომპონენტები:

  • MAX7219 7-სეგმენტიანი მოდული
  • არდუინო ნანო
  • მავთულის ჯუმპერი
  • USB მინი

საჭირო ბიბლიოთეკა:

LedControl

ამ გაკვეთილში მე ვიყენებ Arduino Nano დაფას. თუ არასოდეს გამოგიყენებიათ. მე გირჩევთ წაიკითხოთ ჩემი წინა სტატია "როგორ გამოვიყენო არდუინო ნანო".

ნაბიჯი 1: შეაგროვეთ ყველა კომპონენტი

შეაგროვეთ ყველა კომპონენტი
შეაგროვეთ ყველა კომპონენტი

შეაერთეთ Arduino დაფა 7-სეგმენტის მოდულთან. იხილეთ სურათი ან ინსტრუქცია, რომელიც მე დავწერე ქვემოთ:

Arduino to 7-Segment

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/LOAD

ნაბიჯი 2: დაამატეთ ბიბლიოთეკა

ბიბლიოთეკის დამატება
ბიბლიოთეკის დამატება

წრის დასრულების შემდეგ. დაამატეთ "LedControl" ბიბლიოთეკა Arduino IDE- ს.

არდუინოს ბიბლიოთეკის დასამატებლად შეგიძლიათ წაიკითხოთ სტატიაში "როგორ დავამატო გარე ბიბლიოთეკა არდუინოში", რომელიც მე ადრე გავაკეთე ".

ნაბიჯი 3: დამატებითი ფუნქციები

დამატებითი ფუნქციები
დამატებითი ფუნქციები

LedControl ბიბლიოთეკის დამატების შემდეგ. თქვენ შეგიძლიათ გამოიყენოთ დამატებითი ფუნქციები 7 სეგმენტის მოდულის გასაკონტროლებლად.

არგუმენტი

addr - ჩვენების მისამართი

ციფრი - ციფრის პოზიცია ეკრანზე (0..7) მნიშვნელობა - მნიშვნელობა, რომელიც გამოჩნდება. (0x00..0x0F)

dp ადგენს ათწილადის წერტილს.

ფუნქცია

setChar (addr, ციფრი, მნიშვნელობა. dp); // აჩვენოს char ტიპის მნიშვნელობა 7 ბიტიანი ASCII კოდირებისთვის

setDigit (addr, ციფრი, მნიშვნელობა, bolean dp); // ციფრებისა და სიმბოლოების ჩვენება ერთ ფუნქციაში setRow (addr, digit, value, boolean dp); // ობიექტის ჩვენება სასურველ ციფრში

დამატებითი დეტალებისთვის, გთხოვთ წაიკითხოთ აქ.

ნაბიჯი 4: ატვირთეთ ესკიზი

ესკიზის ატვირთვა
ესკიზის ატვირთვა

მე შევადგინე ეს 7-სეგმენტიანი მოდულის საცდელად. შეგიძლიათ დააკოპიროთ ქვემოთ მოცემული კოდი, შემდეგ ჩასვათ ესკიზში.

// ჩვენ ყოველთვის უნდა შევიტანოთ ბიბლიოთეკა

#მოიცავს "LedControl.h"

/*

ახლა ჩვენ გვჭირდება LedControl, რომ ვიმუშაოთ. ***** ეს პინ ნომრები ალბათ არ იმუშავებს თქვენს ტექნიკასთან *****

პინი 12 დაკავშირებულია DataIn– თან

პინი 11 უკავშირდება CLK- ს

პინ 10 უკავშირდება LOAD- ს

ჩვენ გვაქვს მხოლოდ ერთი MAX72XX.

*/

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

/ * ჩვენ ყოველთვის ცოტათი ველოდებით ჩვენების განახლებებს შორის */

ხელმოუწერელი ხანგრძლივი შეფერხება = 500;

void setup () {

/ * MAX72XX არის ენერგიის დაზოგვის რეჟიმში გაშვებისას, ჩვენ უნდა გავაკეთოთ გამოღვიძების ზარი */

lc. გამორთვა (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);

დაგვიანება (დაგვიანების დრო);

}

void loop () {გამარჯობა ();

}

ან გადმოწერეთ ქვემოთ მოცემული ფაილი:

ნაბიჯი 5: შედეგი

ისიამოვნეთ შედეგით.

თუ თქვენ გაქვთ შეკითხვები, ჩაწერეთ ისინი კომენტარების სვეტში.

შევხვდებით შემდეგ სტატიაში.

გირჩევთ: