სტატიაში ჩვენ 1602 თხევადკრისტალური დისპლეი FC-113 I2C მოდულთან დავუკავშირდებით Arduino- ს, რის გამოც კავშირი განხორციელდება მხოლოდ ორი მონაცემთა მავთულისა და ორი დენის ხაზის გამოყენებით.
Ეს აუცილებელია
- - არდუინო;
- - LCD 1602 ეკრანი (16 სიმბოლო, 2 სტრიქონი);
- - I2C ადაპტერი FC-113;
- - სადენების დამაკავშირებელი.
ინსტრუქციები
Ნაბიჯი 1
FC-113 მოდულს საფუძვლად უდევს PCF8574T მიკროციკლი, რომელიც არის 8 ბიტიანი ცვლადი რეგისტრი - I / O გაფართოება I2C სერიული ავტობუსისთვის. ფიგურაში მიკროციკლი არის DD1.
R1 არის ჩასწორების რეზისტორი LCD- ის კონტრასტის მოსაწესრიგებლად.
Jumper J1 გამოიყენება ეკრანის განათების ჩასართავად.
1… 16 ქინძისთავები გამოიყენება მოდულის LCD დისპლეის პინებთან დასაკავშირებლად.
I2C მოწყობილობის მისამართის შესაცვლელად საჭიროა საკონტაქტო ბალიშები A1 … A3. შესაბამისი მხტუნავების soldering საშუალებით შეგიძლიათ შეცვალოთ მოწყობილობის მისამართი. ცხრილი გვიჩვენებს მისამართებისა და მხტუნავების შესაბამისობას: "0" შეესაბამება ღია წრეს, "1" - დამონტაჟებულ ჯამპერს. სტანდარტულად, მოწყობილობის მისამართია 0x27, ე.ი. სამივე მხტუნავი ღიაა.
ნაბიჯი 2
მოდული სტანდარტულად არის დაკავშირებული Arduino- ს I2C ავტობუსის სტანდარტისთვის: მოდულის SDA პინი უკავშირდება ანალოგურ პორტს A4, SCL პინს უკავშირდება Arduino- ს ანალოგურ პორტ A5- ს. მოდული იკვებება + 5V– ით Arduino– სგან. თავად მოდულს უკავშირდება 1 … 16 ქინძისთავები, LCD ეკრანზე შესაბამისი პინებით 1 … 16.
ნაბიჯი 3
ახლა ჩვენ გვჭირდება ბიბლიოთეკა, რომ ვიმუშაოთ LCD- ებზე I2C ინტერფეისით. შეგიძლიათ გამოიყენოთ, მაგალითად, ეს: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (ბმული სტრიქონში "ჩამოტვირთეთ ნიმუში კოდი და ბიბლიოთეკა"))
გადმოწერილი არქივი "LiquidCrystal_I2Cv1-1.rar" იხსნება საქაღალდეში "\ ბიბლიოთეკები ", რომელიც მდებარეობს Arduino IDE დირექტორიაში.
ბიბლიოთეკა მხარს უჭერს სტანდარტულ ფუნქციებს LCD ეკრანებისთვის:
LiquidCrystal () - ქმნის LiquidCrystal ტიპის ცვლადს და იღებს ეკრანის კავშირის პარამეტრებს (პინ ნომრები), დასაწყისი () - LCD ეკრანის ინიციალიზაცია, პარამეტრების დაყენება (ხაზებისა და სიმბოლოების რაოდენობა);
clear () - ეკრანის გასუფთავება და კურსორის დაწყება პოზიციაზე დაბრუნება;
home () - კურსორის დაბრუნება საწყის პოზიციაზე;
setCursor () - კურსორის დაყენება მითითებულ პოზიციაზე;
ჩაწერა () - აჩვენებს სიმბოლოს LCD ეკრანზე;
print () - აჩვენებს ტექსტს LCD ეკრანზე;
კურსორი () - აჩვენებს კურსორს, ე.ი. ხაზგასმა შემდეგი სიმბოლოს ადგილის ქვეშ;
noCursor () - მალავს კურსორს;
მოციმციმე () - კურსორი მოციმციმე;
noBlink () - მოციმციმე გაუქმება;
noDisplay () - გამორთეთ ეკრანი მთელი ნაჩვენები ინფორმაციის შენახვისას;
ჩვენება () - ჩართეთ ეკრანი მთელი ნაჩვენები ინფორმაციის შენახვისას;
scrollDisplayLeft () - გადაახვიეთ ეკრანის შინაარსი 1 პოზიცია მარცხნივ;
scrollDisplayRight () - გადაადგილეთ ეკრანის შინაარსი 1 პოზიციით მარჯვნივ;
autoscroll () - ჩართეთ autoscroll;
noAutoscroll () - გამორთეთ autoscroll;
leftToRight () - ადგენს ტექსტის მიმართულებას მარცხნიდან მარჯვნივ;
rightToLeft () - ტექსტის მიმართულება მარჯვნივ მარცხნივ;
createChar () - ქმნის LCD ეკრანის პერსონალურ სიმბოლოს.
ნაბიჯი 4
მოდით გავხსნათ ნიმუში: ფაილი -> ნიმუშები -> LiquidCrystal_I2C -> CustomChars და გავაკეთოთ ოდნავ. მოდით აჩვენოთ შეტყობინება, რომლის ბოლოს იქნება მოციმციმე სიმბოლო. ესკიზის ყველა ნიუანსი კომენტარს აკეთებს კოდის კომენტარებში.
ნაბიჯი 5
მოდით, უფრო კარგად გავეცნოთ LCD ეკრანებისთვის საკუთარი სიმბოლოების შექმნის საკითხს. ეკრანზე თითოეული სიმბოლო შედგება 35 წერტილისგან: 5 სიგანე და 7 მაღალი (+1 დაცულია ხაზგასმით). ზემოთ მოცემული ესკიზის მე -6 სტრიქონში დავაყენეთ 7 რიცხვის მასივი: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. მოდით, hex რიცხვები გადავაქციოთ ორობით: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. ეს რიცხვები სხვა არაფერია თუ არა ბიტიანი ნიღბები პერსონაჟის 7 სტრიქონიდან თითოეული, სადაც "0" აღნიშნავს სინათლის წერტილს, ხოლო "1" ბნელ წერტილს. მაგალითად, ეკრანზე გამოჩნდება ცოტა სიმბოლოთი მითითებული გულის სიმბოლო, როგორც ეს ნაჩვენებია ნახატზე.
ნაბიჯი 6
ატვირთეთ ესკიზი Arduino- ში. ეკრანზე გამოჩნდება ჩვენ მიერ მითითებული წარწერა ბოლოს მოციმციმე კურსორით.