Სარჩევი:

ორნიშნა ჩვენება ერთჯერადი 8x8 ლედ მატრიცის გამოყენებით: 3 ნაბიჯი
ორნიშნა ჩვენება ერთჯერადი 8x8 ლედ მატრიცის გამოყენებით: 3 ნაბიჯი

ვიდეო: ორნიშნა ჩვენება ერთჯერადი 8x8 ლედ მატრიცის გამოყენებით: 3 ნაბიჯი

ვიდეო: ორნიშნა ჩვენება ერთჯერადი 8x8 ლედ მატრიცის გამოყენებით: 3 ნაბიჯი
ვიდეო: How to use LED seven segment display and calculate its resistors value 2024, ივლისი
Anonim
ორნიშნა ჩვენება ერთჯერადი 8x8 ლედ მატრიცის გამოყენებით
ორნიშნა ჩვენება ერთჯერადი 8x8 ლედ მატრიცის გამოყენებით

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

მარაგები

  1. არდუინო ნანო x1
  2. DHT11 ტემპერატურის და ტენიანობის სენსორი x1
  3. 8x8 LED მატრიცა MAX7219 x1
  4. 10K რეზისტორი x1
  5. სათაურის მავთულები
  6. 5V კვების ბლოკი x1
  7. მუყაოს ყუთი (4x8x13 სმ)

ნაბიჯი 1: სქემატური

სქემატური
სქემატური

DHT11 ციფრული ტემპერატურისა და ტენიანობის სენსორი აწვდის ტემპერატურას 0 - 50 ° C- მდე და ტენიანობას 20% -დან 90% –მდე. ტემპერატურის სიზუსტე არის ± 2 ° C (მაქსიმალური) და ტენიანობის სიზუსტე ± 5%.

DHT11 ასევე იძლევა dew წერტილის მნიშვნელობებს. ნამი წერტილი არის ტემპერატურა, რომლის დროსაც ჰაერი უნდა გაცივდეს, რათა გაჯერდეს წყლის ორთქლით. შემდგომი გაცივებისას ჰაერში წყლის ორთქლი კონდენსირდება და ქმნის თხევად წყალს.

ნაბიჯი 2: გაყვანილობა და კრივი

გაყვანილობა და კრივი
გაყვანილობა და კრივი
გაყვანილობა და კრივი
გაყვანილობა და კრივი
გაყვანილობა და კრივი
გაყვანილობა და კრივი
გაყვანილობა და კრივი
გაყვანილობა და კრივი

ჯერ მუყაოს ყუთი დავხატე აკრილის საღებავის გამოყენებით და 1 დღის გაშრობის შემდეგ დავამთავრე თმის ლაქი. მე გავაკეთე კვადრატული ფანჯარა LED ეკრანის წინა ყდაზე. ასევე გავხსენი პატარა ოთხკუთხედის ხვრელი Arduino Nano დენის წყაროსთვის და რამდენიმე ხვრელი დავდე DHT11 სენსორთან ახლოს.

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

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

იმის გამო, რომ ყუთის დახურვის მხარეს არდუინო და სენსორი დავდე, ბოლომდე ვერ დავხურე?. ჯობია მეორე მხარე აირჩიო:).

ნაბიჯი 3: კოდი

კოდი
კოდი
კოდი
კოდი
კოდი
კოდი

ჯერ ატვირთეთ ბიბლიოთეკა DHT11 (https://github.com/adidax/dht11) და LED მატრიცისთვის (https://github.com/wayoda/LedControl), თუ ეს უკვე არ გაქვთ.

კოდი იყენებს LED მატრიცის პირველ 4 სტრიქონს ათეულად და ბოლო 4 სტრიქონს ერთეულად. მაგალითად, თუ თქვენ შეამოწმებთ კოდს "ერთი", ნახავთ "11" -ს, რომელიც გადატრიალებულია 90 ° საათის ისრის მიმართულებით. თუ გსურთ შეცვალოთ ეს კოდები გთხოვთ გაუფრთხილდეთ ამ დეტალს.

ბაიტი ერთი = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

სენსორის კითხვისგან ციფრების მიღების კოდებია:

ერთეული = ტენიანი % 10; ათეული = (ტენიანი /10) % 10;

ათობით ციფრისთვის მარყუჟი for შემდეგნაირად მუშაობს:

if (ათობით == 1) {for (int c = 0; c <4; c ++) {lc.setRow (0, c, one [c]); }

ციფრული ერთეულებისთვის for მარყუჟი მუშაობს შემდეგნაირად:

if (ერთეული == 1) {for (int c = 4; c <8; c ++) {lc.setRow (0, c, one [c]); }

ჩვენების ბრძანება არის მარყუჟში შემდეგნაირად:

"° C" -> ტემპერატურა -> "hum" -> ტენიანობა -> "dp" -> dew წერტილი -> dew წერტილის მნიშვნელობა (ახსნილი ქვემოთ)

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

დპ <10: მშრალი

9 <დპ <15: კარგი (გ..დ)

14 <დპ <18: სველტრია (სვ)

17 <დპ <24: ზნეობა პლუს (სვ +)

დპ> 23: სველი

ამ სიტყვის ჩვენება არ არის კარგი, მაგრამ მაინც გასაგებია ერთი 8x8 დისპლეისთვის

გირჩევთ: