Სარჩევი:

HD44780 LCD to I2C ადაპტერის დაფა ავტობუსის მეკობრეებისთვის: 9 ნაბიჯი
HD44780 LCD to I2C ადაპტერის დაფა ავტობუსის მეკობრეებისთვის: 9 ნაბიჯი

ვიდეო: HD44780 LCD to I2C ადაპტერის დაფა ავტობუსის მეკობრეებისთვის: 9 ნაბიჯი

ვიდეო: HD44780 LCD to I2C ადაპტერის დაფა ავტობუსის მეკობრეებისთვის: 9 ნაბიჯი
ვიდეო: #5 I2C თხევადი კრისტალური დისპლეი || ESP8266 FLPROG LADDER LOGIC 2024, ნოემბერი
Anonim
HD44780 LCD to I2C ადაპტერის დაფა ავტობუსის მეკობრეებისთვის
HD44780 LCD to I2C ადაპტერის დაფა ავტობუსის მეკობრეებისთვის
HD44780 LCD to I2C ადაპტერის დაფა ავტობუსის მეკობრისთვის
HD44780 LCD to I2C ადაპტერის დაფა ავტობუსის მეკობრისთვის

HD44780 ჩიპსეტზე დაფუძნებული იაფი პერსონალური LCD დისკები არის სხვადასხვა ზომის: 2x16, 4x20 და ა.შ. ამ ეკრანს აქვს ორი სტანდარტული ინტერფეისის რეჟიმი, 4 ბიტიანი და 8 ბიტიანი პარალელურად. 8 ბიტიანი მოითხოვს სულ 11 მონაცემთა ხაზს, 4 ბიტიანი მოითხოვს 7 (6 მხოლოდ წერისთვის). ზოგიერთი LCD– ები მხარს უჭერენ სერიული მონაცემების დამატებით რეჟიმს, როგორიცაა VFD I დაფარული Hack a Day. HD44780 LCD– ები ზოგადად 5 ვოლტიანი ნაწილებია ცალკე განათებით უკანა განათებისთვის. ავტობუს მეკობრეს აქვს მხოლოდ ხუთი 5 ვოლტიანი ტოლერანტული I/O ქინძისთავები, ამიტომ ჩვენ გავაკეთეთ პატარა ადაპტერის დაფა საკმარისი ქინძისთავებით LCD– ის გასაკონტროლებლად. Bus Pirate აკონტროლებს ადაპტერის დაფას მისი LCD ინტერფეისის ბიბლიოთეკით. განაგრძეთ კითხვა Bus Pirate HD44780 პერსონაჟის LCD ადაპტერის დაფისა და ინტერფეისის ბიბლიოთეკის შესახებ. მე შემიძლია მყავდეს PCB, კომპლექტი, ან აწყობილი ნაკრები, რომელიც დამზადებულია Seeed Studio– ს მიერ დაახლოებით 15 დოლარად, მსოფლიო გადაზიდვის ჩათვლით, უფრო მეტი აქ. მე არ შემიძლია ჩავრთო ფორმატირების ელემენტები და HTML ცხრილები ინსტრუქციაში, თქვენ შეგიძლიათ ნახოთ ორიგინალური პოსტი საშიში პროტოტიპებში ბლოგი.

ნაბიჯი 1: აპარატურა

ტექნიკა
ტექნიკა
ტექნიკა
ტექნიკა
ტექნიკა
ტექნიკა

მიმოხილვა ამ სტატიაში ჩვენ გამოვყოფთ I2C ადაპტერის დაფას HD44780 დაფუძნებული LCD დისკებისთვის. ჩვენ ამას ვაჩვენებთ Bus Pirate– ის უნივერსალური სერიული ინტერფეისით. ავტობუსის მეკობრეების კოდი I2C დაფუძნებული HD44780 ინტერფეისის ბიბლიოთეკისთვის არის საჯარო დომენი, ამიტომ უფასოა საკუთარ პროექტებთან ადაპტირება. Hardware სრული ზომის მიკროსქემის სურათი [PNG]. წრე და PCB შეიქმნა Cadsoft Eagle– ის უფასო ვერსიით. დიზაინის ფაილების ჩამოტვირთვა შესაძლებელია Bus Pirate SVN– დან. ადაპტერის დაფის გამოყენებამდე, დარწმუნდით, რომ გადაამოწმეთ თქვენი LCD– ის მონაცემთა ცხრილი ადაპტერის პინუტის წინააღმდეგ. ყველა LCD არ არის იგივე. PCF8574 I/O expander IC ეს არის მარტივი 8 I/O გაფართოების ჩიპი, რომელიც კონტროლდება ორი მავთულის I2C ინტერფეისის საშუალებით. I2C ინტერფეისი ხელმისაწვდომია სათაურიდან JP1. PCF8574 მუშაობს 2.5 -დან 5 ვოლტამდე. I/O ქინძისთავები მუშაობენ მიწოდების ძაბვისას, ასე რომ, თუ მას ვკვებავთ 5 ვოლტით, ის ინტერფეისს უწევს LCD– ს 5 ვოლტზე. C1 (0.1uF) წყვეტს IC ელექტროენერგიის რყევებს. PCF8574– ის ერთი პინი აკონტროლებს 3 მმ LED (LED1) მიმდინარე შეზღუდვის რეზისტორს R2 (1000 ოჰმ). LED ნათურები ავტობუსის მეკობრესა და ადაპტერს შორის წარმატებულ კომუნიკაციაზე მიუთითებს. PCF8574 ვერ ახერხებს საკმარის დენს LED- ის შესაქმნელად, ამიტომ ჩვენ ვამუშავებთ LED- ს 5 ვოლტიანი წყაროდან და ვცვლით მიწას. LCD ადაპტერის დაფა აკავშირებს HD44780 დაფუძნებულ პერსონაჟ LCD– ს 4 ბიტიანი პარალელური ინტერფეისის რეჟიმში. 4 ბიტიანი ინტერფეისის ქინძისთავები - RS, RW, EN და D4 -D7 - დაკავშირებულია PCF8574 I/O შვიდ პინთან. ჩვენ გვსურს გამოვიყენოთ 0.1 "მამრობითი pin სათაური ადაპტერის LCD- თან დასაკავშირებლად, თქვენ ჩვეულებრივ შეგიძლიათ LCD დაეყრდნოთ ქინძისთავებს, რომ შექმნათ საკმარისი კონტაქტი სწრაფი ტესტისთვის. ტრიმერის რეზისტორი R1 (10K) უზრუნველყოფს კონტრასტის რეგულირების ძაბვას pin 3 -ზე LCD სათაური. ჩვენ არ დავუკავშირდით უკანა შუქის ქინძისთავებს, რადგან ამდენი განსხვავებული განათების სტილია. LED განათების ენერგიის მიწოდებამ შეიძლება დააზიანოს ეკრანი, რომელიც მოითხოვს უარყოფით ძაბვას. ელექტროენერგიის მიწოდება LCD– ების უმეტესობას სჭირდება 5 ვოლტი, უზრუნველყოს გარე კვების წყარო header JP2. ჩვენ მივაწოდეთ მეორე კვების ბლოკი, რომელიც დააკავშირებს Bus Pirate– ის გამწევ რეზისტორებს. PCB წრე და PCB შეიქმნა Cadsoft Eagle– ის უფასო ვერსიით. დიზაინის ფაილების ჩამოტვირთვა შესაძლებელია Bus Pirate SVN– დან. PCB არის ცალმხრივი, ყველა ხვრელი დიზაინი ერთი ჯუმბერის მავთულით (ნაჩვენებია წითლად). ჩვენ შეიძლება გვქონდეს PCB, კომპლექტი, ან აწყობილი კომპლექტი, რომელიც დამზადებულია Seeed Studio– ს მიერ $ 15-მდე, მსოფლიო ტრანსპორტირების ჩათვლით, აქ. მეტი. Partlist Part Value (ყველა ე უხეში ხვრელი) C10.1uF/10volts+R110000 (10K) ohm ერთჯერადი შემობრუნება I2C I/O გაფართოება DIP16ICS116 pin DIP სოკეტი IC1– ისთვის ვერ მოვათავსებ ფორმატირების ელემენტებს და HTML ცხრილებს Instructable– ში, თქვენ შეგიძლიათ ნახოთ ორიგინალური პოსტი საშიში პროტოტიპების ბლოგში.

ნაბიჯი 2: კავშირები

კავშირები
კავშირები

მოწყობილობა: HD44780 სიმბოლო LCD. ავტობუსი: 4 ბიტიანი პარალელურად, PCF8574 I2C ადაპტერის დაფით. ენერგიის მოთხოვნები: 5 ვოლტი. წყაროები: მაგალითი მონაცემთა ფურცელი [PDF], HD44780 ბრძანების მითითება, HD44780 LCD uber-site. სრული დემონსტრაციის ავტობუსის მეკობრეების სესიები. ჩვენ შეიქმნა ადაპტერი Bus Pirate უნივერსალური სერიული ინტერფეისის LCD ბიბლიოთეკისთვის, მაგრამ ის იმუშავებს ყველაფერზე, რასაც შეუძლია ისაუბროს I2C პროტოკოლზე. შეხედეთ Bus Pirate კოდის მაგალითს I2C-> HD44780 განხორციელებისთვის. დააკავშირეთ Bus Pirate ადაპტერის დაფაზე, როგორც ეს მოცემულია ცხრილში. ცხრილი ასევე აჩვენებს PCF8574 IC– ს ნედლ კავშირებს, თუ თქვენ მიჰყვებით ადაპტერის დაფის გარეშე. შეაერთეთ ადაპტერი დენის წყაროსთან, რომელიც საკმარისია LCD– ისთვის, საერთოდ 5 ვოლტი. I2C კავშირი ადაპტერსა და Bus Pirate– ს შორის მოითხოვს გამწევ რეზისტორებს 2 – დან 10K– მდე. აქ არის მეტი ინფორმაცია შერეული ძაბვის ურთიერთკავშირის შესახებ pull-ups და Bus Pirate ბორტზე pull-up რეზისტორები. მე არ შემიძლია ჩავრთო ფორმატირების ელემენტები და HTML ცხრილები ინსტრუქციაში, თქვენ შეგიძლიათ ნახოთ ორიგინალური პოსტი საშიში პროტოტიპების ბლოგში რა

ნაბიჯი 3: ნაბიჯი 1. ბიბლიოთეკის დაყენება

ნაბიჯი 1. ბიბლიოთეკის დაყენება
ნაბიჯი 1. ბიბლიოთეკის დაყენება

ინტერფეისი ჩვენ შევეხეთ ადაპტერის დიზაინს და როგორ დავუკავშიროთ ის ავტობუს მეკობრეს, ახლა საბოლოოდ დროა LCD– ზე რაღაც დავწერო. HiZ> m <<11 <<1 <<W <

გვ <<2 <<v <<< მიიღეთ ძაბვის ანგარიში ძაბვის მონიტორი: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<დააჭირეთ 'm' Bus Pirate ტერმინალში და აირჩიეთ LCD ბიბლიოთეკა. ამჟამად იგი მხარს უჭერს მხოლოდ HD44780 პერსონაჟის LCD- ებს PFC8574 ადაპტერის გამოყენებით, რომელიც აღწერილია ამ სტატიის პირველ ნახევარში (ვარიანტი 1). ჩართეთ კვების წყაროები (დიდი 'W') და გამყვანი რეზისტორები (მენიუ 'p'). შეამოწმეთ ძაბვის მონიტორი (მენიუ 'v') და დარწმუნდით, რომ ამწევი ძაბვა (Vpullup) კითხულობს დაახლოებით 5 ვოლტს.

ნაბიჯი 4: ნაბიჯი 2. გადატვირთვა და ინიციალიზაცია

ნაბიჯი 2. გადატვირთვა და ინიციალიზაცია
ნაბიჯი 2. გადატვირთვა და ინიციალიზაცია
ნაბიჯი 2. გადატვირთვა და ინიციალიზაცია
ნაბიჯი 2. გადატვირთვა და ინიციალიზაცია

ეს ცხრილი ასახავს ერთბაიტიან ბრძანებებს, რომლებიც აკონტროლებენ HD44780 LCD- ს, აქ არის დეტალური მითითება. ეს ბრძანებები შეიძლება შეიყვანოთ Bus Pirate ბრძანების სტრიქონიდან, მაგრამ ჩვენ გავაკეთეთ მაკროები უმეტესობისთვის დროის დაზოგვის მიზნით. LCD> (0) <<< აჩვენეთ მაკრო მენიუ 0. მაკრო მენიუ <<< ეს მენიუ 1. LCD გადატვირთვა << <გადატვირთეთ LCD2. დააბრუნეთ LCD <<< გადატვირთეთ და ინიციალიზეთ LCD3. გაასუფთავეთ LCD <<< წმინდა LCD, დააბრუნეთ კურსორი 04 -ზე. კურსორის პოზიცია ex: (4: 0) <<< დააყენეთ კურსორის პოზიციამაკრო 0 აჩვენებს მაკრო მენიუს Bus Pirate რეჟიმში. LCD> (2) <<< ინიციალიზაცია LCD მაკრო ჩვენების ხაზები: 1. 1 <<< ერთი ხაზის ჩვენება 2. მრავალჯერადი <<2 'გადატვირთვა <<< მაკრო 2 მოიცავს გადატვირთვის თანმიმდევრობას INIT <<LCD მაკრო (2) ინიციალიზაცია ახდენს ეკრანის კონფიგურაციას 4 ბიტიანი ინტერფეისის რეჟიმში, საშუალებას აძლევს კურსორის ჩვენებას და ადგენს რამდენიმე სხვა სასარგებლო ვარიანტს. დააკონფიგურირეთ ჩვენების ხაზების რაოდენობა, აირჩიეთ 1 ერთი ხაზის ჩვენებისთვის, ან 2 ყველა სხვა ეკრანისთვის. ინიციალიზაციის შემდეგ, ეკრანი უნდა იყოს სუფთა, კუთხეში ჩანს კურსორი. თუ ის არ მუშაობდა, შეამოწმეთ I2C კავშირი, გამყვანი რეზისტორები და დენის წყარო, შემდეგ ისევ სცადეთ. HD44780 LCD– ები უნდა გადატვირთოთ სპეციალური სიგნალის თანმიმდევრობით, სანამ 4 ბიტიანი ან 8 ბიტიანი ინტერფეისის რეჟიმში ინიციალიზდება. მაკრო 1 ქმნის ამ თანმიმდევრობას. მაკრო 2 მოიცავს გადატვირთვის თანმიმდევრობას, ამიტომ არ არის საჭირო მაკრო 1 -ის გამოყენება მაკრო 2 -მდე.

ნაბიჯი 5: ნაბიჯი 3. ჩაწერეთ სატესტო პერსონაჟები

ნაბიჯი 3. ჩაწერეთ სატესტო პერსონაჟები
ნაბიჯი 3. ჩაწერეთ სატესტო პერსონაჟები
ნაბიჯი 3. ჩაწერეთ სატესტო პერსონაჟები
ნაბიჯი 3. ჩაწერეთ სატესტო პერსონაჟები

LCD> (6:80) <<ჩაწერის რიცხვების მაკრო ავსებს LCD- ს სატესტო ნომრებით 0 -დან 9 -მდე. რიცხვი მსხვილი ნაწლავის შემდეგ ეუბნება ავტობუს მეკობრეს რამდენი სატესტო ნომერი უნდა დავწეროთ, ჩვენ ვიყენებთ 4x20LCD- ს, ამიტომ ვწერთ 80 რიცხვს მის შესავსებად. გაითვალისწინეთ, რომ კურსორი მთავრდება 0 პოზიციაზე, პირველი '0' - ის ქვეშ. LCD> (7:80) <<ჩაწერის სიმბოლოების მაკრო ავსებს LCD– ს ASCII სიმბოლოებით, ჩაწერეთ რაოდენობა მსხვილი ნაწლავის შემდეგ. გაითვალისწინეთ, რომ მუშტის ხაზი გრძელდება მესამეზე, მესამეზე მეორეზე და მეორეზე ბოლოზე. სიმბოლოები არ არის უწყვეტი, რადგან სიმბოლოების LCD– ები არ იხვევა ერთი ხაზიდან მეორეზე. ამაზე ცოტა მოგვიანებით ვისაუბრებთ.

ნაბიჯი 6: ნაბიჯი 4. LCD– ის გასუფთავება

ნაბიჯი 4. LCD– ის გასუფთავება
ნაბიჯი 4. LCD– ის გასუფთავება

LCD> (3) <<წმინდა LCD მაკრო აგზავნის HD44780 ბრძანებას, რომელიც წაშლის ეკრანს და კურსორს უბრუნებს პირველ პოზიციას. თქვენ ასევე შეგიძლიათ შეასრულოთ ნებისმიერი ოპერაცია მაკროების გარეშე, იხილეთ ბრძანების ცხრილი ამ განყოფილების დასაწყისში. შეიყვანეთ '[0b1' ავტობუსის მეკობრეში, რათა დააყენოთ ინტერფეისი ბრძანების რეჟიმში ([) და გაგზავნოთ HD44780 ეკრანის წმინდა ბრძანება (0b00000001) მაკროის გარეშე.]

ნაბიჯი 7: ნაბიჯი 5. აკრიფეთ ტექსტი

ნაბიჯი 5. აკრიფეთ ტექსტი
ნაბიჯი 5. აკრიფეთ ტექსტი
ნაბიჯი 5. აკრიფეთ ტექსტი
ნაბიჯი 5. აკრიფეთ ტექსტი

LCD> (8) <<< მომხმარებლის ტექსტის ჩასმა ტექსტის ჩასმა კურსორის პოზიციაზე. HD44780 LCD დემო <<LCD– ის გაწმენდის შემდეგ მე –4 ნაბიჯში, კურსორი მოთავსებულია პირველ ბლოკში. ჩვენ ასევე შეგვიძლია მისი დაყენება მაკროთი (4: 0), რომელიც კურსორს გადააქცევს პირველ სიმბოლოზე. კურსორის მაკროში ტექსტის ჩასმა ითხოვს ტექსტის შეყვანას და შემდეგ კოპირებას LCD- ზე, როდესაც დააჭირეთ Enter. LCD> (4: 0x40) <& lt

LCD> (8) <<< ტექსტის ჩასმა ტექსტის ჩასმა კურსორის პოზიციაზე. ავტობუსი Pirate v2go <<მეორე სტრიქონზე წერა ცოტა უფრო რთულია, ის რეალურად იწყება 64 – ე სიმბოლოზე 4x20 LCD– ით. თუ წერას განაგრძობთ 1 სტრიქონის ბოლოდან (სიმბოლო 20), მაშინ დასრულდება მესამე სტრიქონის დასაწყისში! ამ გვერდს აქვს მეხსიერების რუქების ლამაზი კოლექცია პერსონაჟების LCD ზომებისთვის. პირველი, ჩვენ კურსორს ვათავსებთ მეორე ხაზზე (4: 0x40). შემდეგი, "ჩადეთ ტექსტი" მაკრო იჭერს ჩვენს შეყვანას და აკოპირებს მას LCD. Firmware v2.0+ <<< ჩვენ დავწერეთ ეს ტექსტი შეიყვანეთ კურსორის პოზიციაზე. საშიში პროტოტიპები <<ავტობუსის მეკობრე იღებს ერთსა და იმავე ხაზზე მრავალ მაკროს, ასე რომ მთელი ეკრანის ერთდროულად ჩაწერა შეიძლება. ჩვენ დავწერეთ ბოლო ორ სტრიქონზე სინტაქსის ერთი ხაზით. ჩვენ შეგვიძლია გამოვიყენოთ '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) 'LCD– ის გასუფთავება და ოთხივე სტრიქონის ჩაწერა ერთი სინტაქსის ჩანაწერით.

ნაბიჯი 8: ნაბიჯი 6. LCD– დან კითხვა

ნაბიჯი 6. LCD– დან კითხვა
ნაბიჯი 6. LCD– დან კითხვა

Bus Pirate და LCD ადაპტერის დაფას შეუძლია წაიკითხოს LCD– დან. ჩვენ ვკითხულობთ ტექსტს, რომელიც ჩვენ დავწერეთ ეკრანზე (DDRAM), მაგრამ ასევე შეგიძლიათ წაიკითხოთ პარამეტრები და პერსონალური პერსონაჟების RAM (CGRAM) სწორი მისამართის დაყენებით. LCD> [0b10000000 "" <<< დააყენეთ წაკითხულის მაჩვენებელი " '] HD44780 RS LOW, COMMAND MODE <<< რეგისტრაცია აირჩიეთ pin დაბალი CMD WRITE: 0x80 <<პირველ რიგში, ჩვენ ვეუბნებით ავტობუსის მეკობრეს, რომ გამოაგზავნოს მონაცემები LCD ბრძანების რეესტრში ([). შემდეგი, ჩვენ ვიყენებთ მითითებულ DDRAM მისამართის ბრძანებას (0b1xxxxxxx), რომ წავიკითხოთ მაჩვენებელი DDRAM– ის დასაწყისში (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< წაკითხული მონაცემების მეხსიერება HD44780 RS HIGH, DATA MODE <<< რეგისტრაცია აირჩიეთ pin highREAD: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> ბოლოს, უთხარი ავტობუსის მეკობრეს წაიკითხოს მონაცემთა მეხსიერებიდან (]) და შემდეგ წაიკითხოს რამდენიმე ბაიტი (rrrrrrr). ჩვენ მივიღეთ "HD44780", ტექსტი, რომელიც ჩვენ ეკრანზე დავწერეთ მე –5 ნაბიჯში. თქვენ ასევე უნდა გქონდეთ საშუალება გამოიყენოთ მალსახმობი r: 7 შვიდი ბაიტის წასაკითხად, მაგრამ ის არ მუშაობს ახლანდელ პროგრამულ უზრუნველყოფაში - ჩვენ ამას ადრე დავაფიქსირებთ შემდეგი გამოშვება.

ნაბიჯი 9: მეტის გაკეთება

მეტის კეთება
მეტის კეთება

მიეცით Step Step– ის ზოგადი აღწერა HD44780 სიმბოლოს ადაპტერი ავტობუსის მეკობრის მოსახერხებელი აქსესუარი. ის შეიძლება გამოყენებულ იქნას სწრაფი ტესტისთვის, ან უფრო მოწინავე ლოგიკური განვითარებისათვის. LCD– ების გარდა, რვა 2.5volt-5volt I/O ქინძისთავები შეიძლება სასარგებლო იყოს სხვა მაღალი pin-count Bus Pirate პროგრამებისთვის. ჩვენ შეიძლება გვქონდეს PCB, ნაკრები, ან Seeed Studio– ს მიერ წარმოებული დაახლოებით 15 დოლარად წარმოებული აწყობილი ნაკრები, მათ შორის მსოფლიო ტრანსპორტირება, მეტი აქ. მე ვერ ჩავრთავ ფორმატირების ელემენტებს და HTML ცხრილებს Instructable– ში, თქვენ შეგიძლიათ ნახოთ ორიგინალური პოსტი საშიში პროტოტიპების ბლოგში.

გირჩევთ: