Სარჩევი:

Arduino პორტატული სამუშაო მაგიდა ნაწილი 3: 11 ნაბიჯი
Arduino პორტატული სამუშაო მაგიდა ნაწილი 3: 11 ნაბიჯი

ვიდეო: Arduino პორტატული სამუშაო მაგიდა ნაწილი 3: 11 ნაბიჯი

ვიდეო: Arduino პორტატული სამუშაო მაგიდა ნაწილი 3: 11 ნაბიჯი
ვიდეო: ის იძულებით გააძევეს! ~ ჰოლანდიელი ემიგრანტების მიმზიდველი მიტოვებული სახლი 2024, ივლისი
Anonim
Arduino პორტატული სამუშაო მაგიდა ნაწილი 3
Arduino პორტატული სამუშაო მაგიდა ნაწილი 3
Arduino პორტატული სამუშაო მაგიდა ნაწილი 3
Arduino პორტატული სამუშაო მაგიდა ნაწილი 3

თუ თქვენ დაათვალიერეთ 1, 2 და 2B ნაწილები, მაშინ ჯერჯერობით არ იყო ბევრი Arduino ამ პროექტში, მაგრამ მხოლოდ რამდენიმე დაფის მავთული და ა. შ. დანარჩენი მუშაობს.

ეს არის ელექტრონიკის და არდუინოს კოდი. წინა 2B ინსტრუქციით ჩამოთვლილია კვების ბლოკის დეტალები.

ეს განყოფილება ადგენს პორტატულ სამუშაო მაგიდას შემდეგი მახასიათებლებით

TFT სენსორული ეკრანი უზრუნველყოფს ეკრანს, რომელსაც მართავს Arduino Mega, რათა უზრუნველყოს შემდეგი

  1. 8 ციფრული ეკრანი, გამორთული/ჩართული/რხევითი
  2. 4 ძაბვის ჩვენება
  3. 3 მიმდინარე/ძაბვის ჩვენება
  4. E24 წინააღმდეგობის მრიცხველი (რადგან მე აღარ შემიძლია ფერადი ზოლების წაკითხვა)

სხვა რამეს დავამატებ, მაგრამ ეს იყო ჩემი საწყისი სამიზნე. არდუინოს კოდი ასევე ასახავს სერიულ ჩვენებას, I2C ეკრანს, ტევადობის მრიცხველს, ციფრულ კონცენტრატორებს და ოსცილოსკოპს, რომელსაც დროთა განმავლობაში დავამატებ. ასევე, მე ბოლომდე არ მაქვს გადაწყვეტილი, ღირს თუ არა 3V3 დენის წყაროს დამატება, ცვლადი კვების ბლოკი, ან ძაბვის/დენის მონიტორინგის დენის წყარო. ჯერჯერობით ეს აგებულია მეგას გამოყენებით, მაგრამ მე ასევე ვათვალიერებ ზოგიერთი ფუნქციის გადატანას I2C წვდომის სქემების გამოსაყოფად, ან გამოყოფილი ჩიპებით ან დაპროგრამებული Atmel 328– ით, რომელიც უფრო ადვილად იტევს სხვა კონტროლერს.

მარაგები

5 x 16 გზის სათაურის ბუდეები

5 x 8 გზის დუპონტის სოკეტი, რეალურად დამზადებული გრძელი 40 გზაანი ერთჯერადი ხაზის სოკეტებისგან, რომელიც ამოჭრილია საჭირო სიგრძემდე

1 x 3.5”ILI9486 TFT სენსორული ეკრანი

1 x Arduino Mega 2650

ინდივიდუალური კომპონენტები

რაც შეეხება ტექსტს, ზოგიერთი მათგანის მნიშვნელობა არ არის აბსოლუტურად დაფიქსირებული და თუ გამოტოვებთ, ფუნქცია საერთოდ არ იქნება საჭირო:)

ციფრული შეყვანა

16 x 10K რეზისტორები

ანალოგური შეყვანა

1 x TL074 quad jfet opamp, ეს არის ის, რაც მე მქონდა სათადარიგო, მსგავსი რამ გააკეთებს:)

4 x 68K და 4 x 430k რეზისტორები გამოიყენება როგორც ძაბვის გამყოფი.

4 x 1N4001 ან მსგავსი

წინააღმდეგობის მრიცხველი

1 x TL072 ორმაგი jfet opamp, ეს არის ის, რაც მე მქონდა სათადარიგო, მსგავსი რამ გააკეთებს:)

1M0, 300k, 100k, 30k, 10k, 3k, 1k, 300R (თუ ეს მნიშვნელობები შეიცვალა, Arduino კოდი უნდა განახლდეს)

ნაბიჯი 1: ელექტრონიკის მიმოხილვა

ელექტრონიკის მიმოხილვა
ელექტრონიკის მიმოხილვა
ელექტრონიკის მიმოხილვა
ელექტრონიკის მიმოხილვა
ელექტრონიკის მიმოხილვა
ელექტრონიკის მიმოხილვა
ელექტრონიკის მიმოხილვა
ელექტრონიკის მიმოხილვა

ნაცრისფერი კონსოლი დამზადებულია ჩემ მიერ 30 წლის წინ და კვლავ რეგულარულად გამოიყენება, მაგრამ დრო წინ წავიდა. ის უზრუნველყოფს ორმაგი დენის წყაროს მარცხნივ, ცენტრალურ აუდიო გამაძლიერებელს შუაში, შიდა სპიკერით და ოსცილატორს მარცხნივ. ამ დღეებში ჩემს სქემების უმეტესობას მხოლოდ ელექტროენერგიის მიწოდება სჭირდება და, მხოლოდ, დადებითი რკინიგზა. რაღაც განსხვავებული იყო საჭირო, ასევე მარკირება, რომლის გარეშეც მე ვცხოვრობდი, კარგად მოვახერხე.

მთავარი მოთხოვნები პროექტის ყუთის ელექტრონიკისთვის იყო ახალი სქემების ჩართვა Arduino- ს ან Raspberry PI- ს გამოყენებით, ამიტომ 5V აუცილებელი იყო როგორც USB სოკეტები. განათებული ჩამრთველები მეუბნებიან დენი ჩართულია თუ არა და ტესტირებისას რეგულარულად მიწევს პატარა დამხმარე სქემების აგება სტატუსის დროებითი ჩვენებისთვის. მე მაქვს მოცულობითი მეტრიანი ყუთი, რომელიც ბევრ სკამს ხარჯავს და რაც მთავარია, მე მჭირდება ეკრანი, რომელსაც ადვილად ვკითხულობ, რადგან მხედველობა დამიქვეითდება, რაღაც დიდი ნათელი სიმბოლოებით. ასე რომ, მე მჭირდება ციფრული დისპლეი, ძაბვის მრიცხველები, დენის მრიცხველები და ამ შემთხვევაში ცოტა ფუფუნება წინააღმდეგობის მრიცხველის სახით, რათა სწრაფად გამოვყოთ E24 სერიის რეზისტორები, ყველაფერი პროექტის დაფაზე 15 სმ მანძილზე და კომპაქტურ, პორტატულ შემთხვევაში.

მთავარი პსუ, აღწერილი წინა სტატიაში, უზრუნველყოფს სახურავს 40 გრადუსიანი ლენტიანი კაბელის გამოყენებით, რაც შესაძლებელს ხდის ორს დაუკავშირდეს სახურავის დახურვისას. ეს უზრუნველყოფს გადართულ 5 ვ და 12 ვ მარაგს პანელის ელექტრონიკისთვის და პურის დაფის მიწოდებისთვის.

ენერგიისა და სიგნალის ყველა შეყვანა უზრუნველყოფილია 2x8way PCB სათაურის ბუდეებით, პარალელურად 8-გზის დუპონტის სოკეტით. ეს, ალბათ, გადაჭარბებულია, უმეტესობა დაფაზე აქვს დენის რელსები, მაგრამ ამის გაკეთება ადვილი იყო.

დენის სოკეტებზე, კვების ბლოკის მთავარი 0V სარკინიგზო არის საერთო ყველა წყაროსთვის და ხელმისაწვდომია. ამის ზემოთ არის 5V კვების ბლოკი, ჩართულია საბაზო ერთეულზე და ზემოთ არის ორი მოწოდებული +12V და -12V წყაროები, რომლებიც ამჟამად დაფიქსირებულია, თუმცა მე მაქვს იდეა გავტეხო მიწოდება ცვალებადი და უზრუნველყოს 3.3-20V ცვლადი მიწოდება.

ნაბიჯი 2: ელექტრონიკა

ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა

მე გამოვაქვეყნე პურის დაფის განლაგების ეკრანის ანაბეჭდები, როგორ გამოიყურება წრე მატრიცის დაფაზე აგებული, სქემატური როგორც PDF და ორიგინალური Fritzing ფაილები. ეს არ არის განსაკუთრებით რთული ელექტრონიკა და არის დამონტაჟებული შემზღუდველი რეზისტორების, ბუფერული გამაძლიერებლებისა და Arduino დაფისთვის დამაკავშირებელი კავშირების დასაყენებლად. მაგრამ არის რამოდენიმე სურათი, რომლითაც ბევრი კავშირი უფრო ნათლად ჩანს. გაყვანილობის უმეტესი ნაწილი შედგენილი იყო წინასწარ შეკუმშული დუპონტის ლენტის კაბელის სტანდარტული სიგრძისაგან, რომელიც ხელახლა იყო აწყობილი მრავალსართულიან კორპუსებში, რათა მათი ხელახლა შერთვა უფრო საიმედო ყოფილიყო.

Arduino Mega 2650 დამონტაჟებულია სახურავზე, USB სოკეტით, რომელიც ხელმისაწვდომია პროგრამირებისთვის. ის მართავს TFT სენსორულ ეკრანს, რომელიც გამოიყენება ყველა გამოსასვლელისა და შეყვანის საჩვენებლად.

8 ციფრული შეყვანა ხელმისაწვდომია 2 x 8 გზა PCB სათაურით და მათი სტატუსი ნაჩვენებია ეკრანზე, თუ ეს ფუნქცია არჩეულია. ეს არის მარტივი ჩართვის/გამორთვის ჩვენება, წითელი გამორთული, მწვანე ჩართული. მე შემიძლია დავამატო რხევა, როგორც მომავალი ცვლილება.

4 ძაბვის შეყვანა ასევე ხელმისაწვდომია PCB სათაურის საშუალებით და ძაბვის გამყოფი, ძაბვა ეკრანზე ნაჩვენები. თითოეული შეყვანის ძაბვა წინა პანელზე, საერთო ნიადაგის მითითებით, გადადის გაყოფაზე 7 ძაბვის გამყოფზე და შემდეგ ბუფერირდება ოთხივე ამპერის ერთ-ერთი TL074 კონფიგურაციით, როგორც კონფიგურაცია გამაძლიერებელი, მხოლოდ უარყოფითი ძაბვის ავარიების თავიდან ასაცილებლად. რა კარგი იქნება პოლარობის მითითების დამატება რაღაც ეტაპზე, მაგრამ არა ამჯერად. თითოეული op-amp– დან გამომავალი არის Arduino– ს ერთ – ერთი ADC შესასვლელი.

PCB– ის შემდგომი სათაური ასახავს როგორც სერიულ, ასევე I2C კავშირებს. ეს გაკეთდა იმისთვის, რომ დაუშვას სერიული ჩვენების კონსოლი და ძირითადი I2C იდენტიფიკაციის ფუნქცია.

ძაბვის/ციფრული შეყვანა შეიძლება აღმოჩნდეს, რომ არ არის ყველა საჭირო, ამიტომ შესაძლებელია მათი ხელახალი კონფიგურაცია ციფრული გადართვის შედეგების უზრუნველსაყოფად.

Arduino აძლიერებს წინააღმდეგობის მასივს ძაბვის გამყოფზე, რათა უზრუნველყოს წინააღმდეგობის მრიცხველის ფუნქციონირება. ამის გამომუშავება არის ბუფერული op-amp (ნახევარი TL072) სანამ არდუინო წაიკითხავს და გამოითვლება წინააღმდეგობა. ამის მიზანი არ არის წინააღმდეგობის ზუსტი გაზომვა, არამედ E24 სერიის მნიშვნელობების სწრაფად იდენტიფიცირება, თუმცა გარკვეული დაკალიბრებით ის შეიძლება გამოყენებულ იქნას როგორც ძირითადი მრიცხველი. მისი მოქმედებაა იმის დადგენა, როდესაც წინა პანელზე დამონტაჟებულ ორ ზამბარზე არის 9M9- ზე ნაკლები წინააღმდეგობა და შემდეგ შერჩევით გადართეთ 5V თითოეულ რეზისტორზე გამყოფი მასივში, სანამ არ გაიზომება 2.5V– მდე უახლოესი მნიშვნელობა ან არ შეირჩევა ბოლო რეზისტორი, a შემდეგ ხდება გამოთვლა და შედარება E24 მნიშვნელობის უახლოეს დასადგენად. 5V არის წყარო Arduino– ს ციფრული ამონაწერიდან 3–10, რომელიც ხელახლა არის კონფიგურირებული, როგორც მაღალი წინაღობის შეყვანა თითოეულ გაზომვას შორის, შეცდომების შესამცირებლად. Arduino ქინძისთავები D3-10 მიზანმიმართულად იქნა გამოყენებული, როგორც მომავალი დამატება, რომელიც შეიძლება იყოს მოცულობის მრიცხველი ამ შედეგების PWM შესაძლებლობების გამოყენებით, რაც შეიძლება იყოს მხოლოდ პროგრამული უზრუნველყოფის ცვლილება.

მოდიფიცირებული INA3221 დაფა უზრუნველყოფს დამატებით ძაბვისა და დენის გაზომვებს I2C ინტერფეისის საშუალებით წინა პანელიდან. ყველაფერი მიერთებულია ჯუმბერის კაბელების გამოყენებით ისე, რომ მომავალში ფუნქციების გადანაწილება ადვილი იქნება.

ნაბიჯი 3: INA3221 ძაბვა/მიმდინარე შეყვანა

INA3221 ძაბვა/მიმდინარე შეყვანა
INA3221 ძაბვა/მიმდინარე შეყვანა

ეს იყო გამიზნული, როგორც სწრაფი დაფიქსირება ძაბვის/დენის გაზომვისთვის ყუთში, მაგრამ აღმოჩნდა, რომ როგორც შევიძინე დაფაზე, ის გამიზნული იყო ბატარეის დატენვის მონიტორინგისთვის, ასე რომ ის უნდა შეიცვალოს სამი დამოუკიდებელი გაზომვის უზრუნველსაყოფად. თუ ამ პროექტის შექმნისას შეგიძლიათ მიიღოთ წყარო INA3221 დაფა, რომელიც ახორციელებს ამ ჩიპს მონაცემთა ცხრილის მიხედვით, მაშინ ეს არ არის აუცილებელი.

სურათის დათვალიერებისას, სამი ჭრა უნდა გაკეთდეს PCB კვალში გაზომვის რეზისტორების გამოსაყოფად. ამ სამი რეზისტორის ბალიშები ასევე უნდა მოიჭრას, რათა გამოყოს ისინი დანარჩენი PCB– დან. შემდეგ რეზისტორებს უერთდება ბალიშები, რომლებიც დამატებით მავთულხლართებს ხიდების სახით შეჰყავს. მე ვაფიქსირებ ამას, რადგან ეს არის საერთო დაფა და შეიძლება იყოს ერთადერთი ხელმისაწვდომი.

დაფის კავშირი წინა პანელიდან შემდეგ ხდება გაზომვის რეზისტორების ჯუმბერის საშუალებით.

დაფის სიმძლავრე აღებულია Arduino 5V ქინძისთავებიდან, როგორც არის მიწა, I2C კავშირებით მიდის ელექტრონული PCB.

ნაბიჯი 4: ჩვენების ეკრანი

ჩვენების ეკრანი
ჩვენების ეკრანი

ეს იყო eBay შესყიდვა და ხელმისაწვდომი იყო მრავალი წყაროდან და არის ILI9486 ეკრანი. აღმოვაჩინე, რომ ის საუკეთესოდ მუშაობდა დავით პრენტისის MCUFRIEND ბიბლიოთეკებით, მაგრამ გამოყენებამდე უნდა დაკალიბრდეს, რაც მხოლოდ იმას მოითხოვდა, რომ დავითის მიერ მოწოდებული ბიბლიოთეკის ერთ -ერთი მაგალითი გაშვებულიყო ეკრანთან დაკავშირებული, მიჰყევით ეკრანზე მითითებებს და ჩამოწერეთ ნაჩვენები პარამეტრები, Arduino_Workstation_v01 კოდის ფაილში ჩასმა სხვადასხვა შემთხვევაში.

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

ნაბიჯი 5: დააკავშირეთ იგი ერთად

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

Arduino Mega მდებარეობს LHS- ის სახურავზე, მისი USB და დენის პორტებით, გარსაცმის გარედან. RHS– ზე Arduino– ს გვერდით არის ელექტრონიკა, რომელიც დამონტაჟებულია მატრიცის დაფაზე და ამის ზემოთ არის დამონტაჟებული INA3221 დაფა სახურავის უკანა მხარეს.

ასევე სახურავის უკანა მხარეს LHS არდუინოს ზემოთ არის საერთო სახმელეთო კავშირის დაფა, რომელსაც ყველა საფუძველი უკავშირდება.

რაც შეიძლება მეტი ლიდერი გაერთიანდა მრავალმხრივ კონექტორებში. ეს ხდის სქემების ერთმანეთთან შეერთებას ბევრად უფრო ადვილად და საიმედოდ, ხოლო მრავალმხრივ საცხოვრებელში კონექტორების ურთიერთდახმარება უზრუნველყოფს გაუმჯობესებულ წინააღმდეგობას გაფუჭებისადმი. ქვემოთ მოცემულია ამ გაერთიანებების ჩამონათვალი.

ყველა კონექტორი ლოგიკურად დაემატა, რაც ყველაზე დიდ წვდომას იძლეოდა ჩემი მოუხერხებელი თითებით, წინა პანელის კავშირები ბოლომდე დარჩა, ხოლო საბოლოო ჩვენების კავშირები სამონტაჟო ხვრელში გადის ბოლომდე. ეკრანი დაფიქსირდა ადგილზე 3D დაბეჭდილი ჩარჩოთი.

ნაბიჯი 6: კონსოლიდირებული ლიდერები

კონსოლიდირებული ლიდერობს
კონსოლიდირებული ლიდერობს
  1. Arduino ADC პორტებში ძაბვისა და წინააღმდეგობის შეყვანა, ხუთი ლიდერობს 20 სმ ინდივიდუალური მამრობითი კონექტორებით ერთ ბოლოში კონსოლიდირებულია ექვსგზის საცხოვრებელში, უფსკრული არდუინოს სათაურებში არსებული უფსკრულით.
  2. 4 გზა 10 სმ კაბელი ოთხმხრივი საცხოვრებელიდან ორ ორმხრივ კორპუსამდე, რათა დააკავშიროთ ძაბვის ქინძისთავები წინა პანელზე მიკროსქემის დაფაზე.
  3. 8 გზა 10 სმ კაბელი 2x4 გზა მამაკაცის სათაურიდან 8 მიმართულებით ქალი თავით
  4. 4 გზა 10 სმ კაბელი 4 გზა ქალი საცხოვრებელი 4 გზა ქალი საცხოვრებელი დასაკავშირებლად სერიული და I2C წინა პანელი
  5. 4 გზა 10 სმ კაბელი 4 გზა საცხოვრებელიდან ოთხ ერთ კონექტორზე INA3221 წინა პანელთან დასაკავშირებლად
  6. 4 გზა 20 სმ კაბელი, რომელიც აკავშირებს ოთხმხრივ მდედრობითი საცხოვრებელს ოთხმხრივი მამრობითი საცხოვრებლით, რათა მიიღოს Arduino– დან სერიული და I2C მიკროსქემის გამშვები პუნქტი.
  7. 8 გზა 10 სმ კაბელი 8 გზა ქალი საცხოვრებელი 8 გზა ქალი საცხოვრებელი მიიღოს ციფრული შეყვანის საწყისი პანელი მიკროსქემის დაფაზე.
  8. 8 გზა 10 სმ კაბელი 8 გზის მდედრობითი საცხოვრებლის გადასაყვანად მამრობითი სამგანზომილებიანი საცხოვრებლისკენ და ერთი 5 გზა მამრობითი საცხოვრებლის დასაკავშირებლად წინააღმდეგობის გამყოფი მიკროსქემის დაფაზე. ორი კორპუსი გამოიყენება არდუინოს დაფაზე სათაურებში არასტანდარტული უფსკრული.
  9. ორმხრივი 20 სმ -იანი კაბელი, რათა გადავიდეს ორმხრივი მდედრობითი საცხოვრებელი ორი მამრობითი კონექტორისთვის INA3221 კვების ბლოკზე.
  10. ორმხრივი 10 სმ კაბელი ორმხრივი ქალის საცხოვრებლის გადასაყვანად ორ მარტოხელა ქალის საცხოვრებელში, რათა დააკავშიროთ მესამე INA3221 მონიტორის კავშირი წინა პანელთან.
  11. ორმხრივი 10 სმ კაბელი, რომ გადაიყვანოს ორმხრივი ქალი საცხოვრებელი ორმხრივი ქალის საცხოვრებელში, რათა დააკავშიროს INA3221 I2C ფანატურ კავშირებთან.

ნაბიჯი 7: Arduino კოდი

არდუინოს კოდი
არდუინოს კოდი
არდუინოს კოდი
არდუინოს კოდი

ეს პროექტი დაფუძნებულია Arduino Mega 2650 – ზე იმ მარტივი მიზეზის გამო, რომ მინდოდა ბევრი I/O პორტი, რომელიც ეძღვნებოდა ამოცანებს მარტივი ფორმატით. ბიბლიოთეკები TFT სენსორული ეკრანისთვის არის ნაგულისხმევი Arduino Uno– ს მხარდაჭერისთვის და უნდა იყოს რედაქტირებული მეგას მხარდასაჭერად. ბიბლიოთეკების რედაქტირება მხარდაჭერილია ორიგინალური TFT კოდის ავტორის მიერ, მარტივია და აღწერილია შემდეგ ეტაპზე.

სენსორული ეკრანის გამოყენება არის პროექტის ამ ნაწილის საფუძველი, მაგრამ ვინაიდან ვიღაცის გამოყენება შეიძლება იყოს განსხვავებული, რაც მე გამოვიყენე, კოდი მხოლოდ აპარატურის სპეციფიკურ ფუნქციებს ათავსებს ცალკეულ რუტინაში, ასე რომ ყველა საჭირო მოდიფიკაციის იდენტიფიცირება შესაძლებელია.

კოდის სამუშაო ვერსია შედის აქ და განახლდება, მაგრამ უახლესი განახლებები იქნება github– ზე.

კოდის ძირითადი ფუნქცია ტრიალებს ეკრანის ირგვლივ, ეკრანზე თითოეულ ელემენტს აქვს ჩანაწერი ერთ მასივში, რომელიც ინახავს ელემენტის ტიპს, სადაც ეკრანზე გამოჩნდება, ფერი და დამატებითი პარამეტრები, როგორიცაა შეყვანის წყარო. ამ მასივის სკრინშოტი კომენტარებით ნაჩვენებია ზემოთ. მას ასევე აქვს ველი, რომ გააკონტროლოს გამოჩნდება თუ არა ეკრანზე. ამ მასივის რედაქტირებით შესაძლებელია ახალი ფუნქციების დამატება ან ფუნქციების ამოღება. კოდის "მარყუჟის" რუტინა გადის ამ მასივში უწყვეტად, ამუშავებს თითოეულ შესაბამის ელემენტს თანმიმდევრულად და შემდეგ იმეორებს. ამჟამად 6 განსხვავებული ელემენტია.

მენიუს ელემენტები - ეს არ აჩვენებს ინფორმაციას, მაგრამ შეხებისას ასრულებს დაკავშირებულ ქვეგანვითარებას, რომელიც იდენტიფიცირებულია ელემენტის პარამეტრებში

ციფრული ელემენტები - ეკრანზე გამოსახულია როგორც წითელი ან მწვანე ყუთი, რაც დამოკიდებულია ციფრული შეყვანის პინ -ის სტატუსზე. კონსოლის მაგალითი არის ჩართული 8 ციფრული ქინძისთავისთვის, მაგრამ ეს შეიძლება გაიზარდოს ან შემცირდეს სურვილისამებრ.

ანალოგური ელემენტები - აჩვენეთ სავარაუდო ძაბვა, რომელიც იზომება ასოცირებულ ანალოგიურ პინზე. ოთხი თავდაპირველად არის მითითებული.

ზუსტი ელემენტები - აჩვენეთ შეყვანა გარე სიზუსტის ვოლტი/მიმდინარე მეტრის მოდულიდან. მათგან მხოლოდ სამია, მაგრამ მეორე ან მესამე მოდულის დამატება შეიძლება.

წინააღმდეგობის ელემენტი - ეს არის ერთი ელემენტი, რომელიც აჩვენებს შეყვანის წინააღმდეგობის მრიცხველს.

შეხება - ეს არის ერთადერთი რუტინა, რომელიც ყოველთვის სრულდება იმის დასადგენად, შეეხო თუ არა ეკრანს და შემდეგ მიიღე გადაწყვეტილება იმის მიხედვით, თუ რა შეეხო. ანუ, თუ მენიუს ელემენტია, რას ნიშნავს ამის ჩვენება შემდეგში.

ეკრანს აქვს სამი სტატუსის რეჟიმი, ნორმალური, დიდი და სრული ეკრანი და ყველა ელემენტი ცვლის თავის მოქმედებას სტატუსის მიხედვით. სამი რეჟიმი არის შერჩეული მენიუდან ელემენტზე და მასთან დაკავშირებული მენიუს პარამეტრზე შეხებით.

ნორმალური რეჟიმი - აჩვენებს 8 ციფრულ შეყვანას, ოთხი ანალოგური ძაბვის შეყვანას, სამ ზუსტ ელემენტს, წინააღმდეგობის ელემენტს და მენიუს ოთხ ელემენტს. მენიუდან Normal- ის არჩევა ეკრანს ამ რეჟიმში აყენებს.

დიდი რეჟიმი - არჩეულია ეკრანზე რომელიმე ელემენტის შეხებით, რასაც მოყვება დიდი. არჩევისას, ეს ელემენტის ტიპი არის მხოლოდ არჩეული ტიპი და ამ ტიპის ელემენტები გადაწყობილია მთელი ეკრანის შესავსებად.

სრული ეკრანის რეჟიმი - არჩეულია ეკრანზე რომელიმე ელემენტის შეხებით, რასაც მოყვება სრული ეკრანი. არჩევისას, ეს ელემენტი არის ერთადერთი ელემენტი ნაჩვენები და გადაწყობილია მთლიანი ეკრანის შესავსებად, რაც ამ ერთეულის მაქსიმალურ ხილვადობას იძლევა.

დამატებითი ფუნქციონირების დასამატებლად საჭიროა შემდეგი რუტინების დამატება

"დახაზეთ" რუტინა, რომელსაც ეძახიან ამ ელემენტის შესახებ ინფორმაციის მისაღებად, დარეკეთ ეკრანის განახლების შესაბამის რუტინაზე და დაარეგისტრირეთ დაბრუნებული შეხების ინფორმაცია

"ლოგიკური" რუტინა, რომელიც იღებს ინფორმაციას გათამაშების რუტინიდან და იყენებს ეკრანის დრაივერის შესაბამის რუტინას, რომ განათავსოს ინფორმაცია ეკრანზე და დააბრუნოს შეხების სწორი ინფორმაცია დახატული ეკრანის არეზე

"დაყენების" რუტინა, რომელსაც უწოდებენ არდუინოს დაყენების ნაწილს

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

ნაბიჯი 8: არდუინოს ბიბლიოთეკების რედაქტირება

არდუინოს ბიბლიოთეკების რედაქტირება
არდუინოს ბიბლიოთეკების რედაქტირება
არდუინოს ბიბლიოთეკების რედაქტირება
არდუინოს ბიბლიოთეკების რედაქტირება

ჩვენება, რომელიც მე გამოვიყენე, მშვენივრად მუშაობს Arduino Uno– სთან და მისთვის დაწერილ ძირითად ბიბლიოთეკებთან, მაგრამ მუშაობს ნელა, როდესაც პირდაპირ გადადის Arduino Mega– ზე. ეკრანის სწორად მართვისთვის, საჭიროა გამოიყენოთ მონაცემთა ბალიშების სხვადასხვა ნაკრები და ეს გამოყენების ცვლილება უნდა დაყენდეს ბიბლიოთეკებში. ეს არის მარტივი ცვლილება და გამიზნული იყო ავტორის მიერ. სურათები ხაზს უსვამს განხორციელებულ ცვლილებებს.

ორი ფაილი ინახება MCUFRIEND_kbv / კომუნალური საქაღალდეში mcufriend_shield.h და mcufriend_special.h. საჭირო ცვლილებები არის პირველი "ფარის" სათაურის ფაილში, რათა უზრუნველყოს პირველი სტრიქონის წაკითხვა

#განსაზღვრეთ USE_SPECIAL

რათა უზრუნველყოს "სპეციალური" სათაურის ფაილის ჩატვირთვა.

სათაურის "სპეციალური" ფაილი ასევე უნდა განახლდეს, რათა უზრუნველყოს, რომ ხაზი

#განსაზღვრეთ USE_MEGA_8BIT_PROTOSHIELD

არის კომენტირებული

ეს ორი ცვლილება ნიშნავს, რომ ამ ეკრანის ჩვენების კოდი იმუშავებს Arduino Mega– ზე 20-29 ქინძისთავების ნაცვლად Uno– ზე ნაგულისხმევი 3-10 – ის ნაცვლად.

ნაბიჯი 9: ეკრანის კადრები

ეკრანის კადრები
ეკრანის კადრები
ეკრანის კადრები
ეკრანის კადრები
ეკრანის კადრები
ეკრანის კადრები

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

პირველ ეკრანზე ნაჩვენებია "ნორმალური" ეკრანი მენიუების ზედა ნაწილში, ძაბვის გაზომვები LHS- ზე, ძაბვისა და მიმდინარე გაზომვები RHS- ზე და ციფრული პინის სტატუსი ქვედა ნაწილში, წითელი "ყალბი/დაბალი", მწვანე "ჭეშმარიტი/მაღალი" '. საბოლოოდ ცენტრში არის წინააღმდეგობის გაზომვა.

მეორე ეკრანზე ნაჩვენებია დიდი რეჟიმში ჩართული ციფრული შეყვანა, თითოეული შეყვანა ნათლად არის ნაჩვენები.

მესამე ეკრანი აჩვენებს ძაბვის შეყვანას დიდ რეჟიმში.

ნაბიჯი 10: ჩატვირთეთ არდუინოს კოდი

კოდი თან ერთვის, მაგრამ როგორც უკვე აღვნიშნეთ, გარკვეული დროის განმავლობაში დაიდება github– ზე და აქ დაემატება ადგილი. ძირითადი კოდის ფაილი არის Arduino_Workbench_v01.ino და სხვა რუტინებია სხვადასხვა ფუნქციების უზრუნველსაყოფად.

თუ ბიბლიოთეკები კარგად არის შეცვლილი და Arduino Mega2650 დადგენილია როგორც Arduino IDE– ს სამიზნე პლატფორმა, მაშინ კოდი უნდა შედგენილი იყოს პირველად.

ბიბლიოთეკები, რომლებიც უნდა იყოს ჩატვირთული, არის Adafruit GFX და Touchscreen ბიბლიოთეკები, რომლებიც ხელმისაწვდომი უნდა იყოს Arduino ბიბლიოთეკის მენეჯერისგან, MCUFRIEND_kbv– ის ასლი გადმოწერილი github– დან და INA3221– ისთვის, SwitchDocLabs ბიბლიოთეკა SDL_Arduino_INA3221 ასევე გადმოწერილი github– დან google ძებნა

ნაბიჯი 11: საბოლოო შეხება

საბოლოო შეხებები
საბოლოო შეხებები
საბოლოო შეხებები
საბოლოო შეხებები
საბოლოო შეხებები
საბოლოო შეხებები
საბოლოო შეხებები
საბოლოო შეხებები

იდეა ის არის, რომ გამოვიყენოთ პროექტისათვის, ასე რომ, მოსახსნელი პანელი დამზადებულია Arduino- ს დაფებისა და ბორბლის შესაცვლელად, მთლიანად მიმაგრებულია სახურავით velcro- ით, რათა მოხდეს მათი მოხსნა და სხვადასხვა დაფების დამზადება პროექტებისა და რომ ყუთი შეიძლება გამოყენებულ იქნას სხვადასხვა პროექტებისთვის ერთდროულად.

ველოდები, რომ ეს იქნება წყარო რამდენიმე იდეისთვის, რომ შექმნას რაღაც განსხვავებული, უკეთესი ან ორივე. მე დავამატებ ჩემს მიერ ნახსენებ დამატებით ფუნქციებს და დავამატებ მათ, მაგრამ თუ ეს რაიმე სახის დახმარებას მოგცემთ, გთხოვთ აიღოთ ის, რაც გსურთ და ისიამოვნეთ. თუ რაიმე აშკარა საკითხია, გთხოვთ შემატყობინოთ.

ახლავე ვიწყებ და გამოვიყენებ მას, მაქვს რამდენიმე პროექტი სამუშაოდ!

გირჩევთ: