Სარჩევი:

Arduino DIY მსუბუქი მეტრი BH1750 სენსორით: 6 ნაბიჯი (სურათებით)
Arduino DIY მსუბუქი მეტრი BH1750 სენსორით: 6 ნაბიჯი (სურათებით)

ვიდეო: Arduino DIY მსუბუქი მეტრი BH1750 სენსორით: 6 ნაბიჯი (სურათებით)

ვიდეო: Arduino DIY მსუბუქი მეტრი BH1750 სენსორით: 6 ნაბიჯი (სურათებით)
ვიდეო: how to make Motion detection light on off PIR sensor project #howto 2024, ივლისი
Anonim
Image
Image
Arduino DIY მსუბუქი მეტრი BH1750 სენსორით
Arduino DIY მსუბუქი მეტრი BH1750 სენსორით

ამ ინსტრუქციაში მე ვაპირებ გაჩვენოთ როგორ ავაშენოთ სინათლის მრიცხველი დიდი Nokia 5110 LCD დისპლეით Arduino– ს გამოყენებით.

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

ნაბიჯი 1: მიიღეთ ყველა ნაწილი

მიიღეთ ყველა ნაწილი
მიიღეთ ყველა ნაწილი

ამ პროექტის შესაქმნელად საჭირო ნაწილებია:

  • არდუინო უნო ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • პატარა პურის დაფა ▶
  • მავთულები ▶

პროექტის ღირებულება დაახლოებით 12 დოლარია.

ნაბიჯი 2: BH1750 სინათლის სენსორი

BH1750 სინათლის სენსორი
BH1750 სინათლის სენსორი

BH1750 სინათლის ინტენსივობის სენსორი არის შესანიშნავი და ძალიან მარტივი სენსორი. ამ ბრეაკოუტ დაფს გააჩნია ჩამონტაჟებული 16 ბიტიანი AD კონვერტორი, რომელსაც შეუძლია უშუალოდ გამოუშვას ციფრული სიგნალი, არ არის საჭირო რთული გათვლები.

ეს დაფა უკეთესია ვიდრე LDR, რომელიც მხოლოდ ამუშავებს ძაბვას. BH1750 სინათლის სენსორის საშუალებით ინტენსივობის გაზომვა შესაძლებელია პირდაპირ ლუქსმეტრით, გამოთვლების გარეშე. ამ სენსორის მიერ გამომავალი მონაცემები პირდაპირ გამოდის ლუქსში (Lx).

სენსორი იყენებს I2C ინტერფეისს, ასე რომ მისი გამოყენება Arduino– თან ძალიან ადვილია. თქვენ მხოლოდ 2 მავთულის დაკავშირება გჭირდებათ.

ასევე სენსორის ფასი ძალიან დაბალია, ეს არის დაახლოებით 2 $.

შეგიძლიათ მიიღოთ აქ: ▶

ნაბიჯი 3: Nokia 5110 LCD

Image
Image
შენდება სინათლის მეტრი
შენდება სინათლის მეტრი

Nokia 5110 არის ჩემი საყვარელი ეკრანი ჩემი Arduino პროექტებისთვის.

Nokia 5110 არის ძირითადი გრაფიკული LCD ეკრანი, რომელიც თავდაპირველად განკუთვნილი იყო როგორც მობილური ტელეფონის ეკრანი. იგი იყენებს PCD8544 კონტროლერს, რომელიც არის დაბალი სიმძლავრის CMOS LCD კონტროლერი/დრაივერი. ამის გამო ამ ეკრანს აქვს შთამბეჭდავი ენერგიის მოხმარება. ის იყენებს მხოლოდ 0.4 mA- ს, როდესაც ის ჩართულია, მაგრამ უკანა განათება გამორთულია. ის იყენებს 0.06 mA- ზე ნაკლებს ძილის რეჟიმში! ეს არის ერთ -ერთი მიზეზი, რის გამოც ეს ჩვენება ჩემი საყვარელი გახდა. PCD8544 აკავშირებს მიკროკონტროლებთან სერიული ავტობუსის ინტერფეისის საშუალებით. ეს ხდის ეკრანის გამოყენებას Arduino– სთან ერთად.

თქვენ მხოლოდ 8 მავთულის დაკავშირება გჭირდებათ და გამოიყენეთ შემდეგი ბიბლიოთეკა:

ეს შთამბეჭდავი ბიბლიოთეკა შემუშავებულია ჰენინგ კარლსენის მიერ, რომელმაც დიდი ძალისხმევა დახარჯა არდუინოს საზოგადოების დასახმარებლად თავისი ბიბლიოთეკების წინსვლაში.

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

ჩვენების ღირებულება დაახლოებით 4 დოლარია.

შეგიძლიათ მიიღოთ აქ: ▶

ნაბიჯი 4: სინათლის მეტრის შექმნა

შენდება სინათლის მეტრი
შენდება სინათლის მეტრი

მოდით, ახლა დავაკავშიროთ ყველა ნაწილი ერთმანეთთან.

თავდაპირველად ჩვენ ვაკავშირებთ BH1750 სინათლის სენსორის მოდულს. მას აქვს მხოლოდ 5 ქინძისთავი, მაგრამ ჩვენ მათ 4 დავუკავშირებთ.

ძაბვის სენსორის დაკავშირება

Vcc Pin მიდის Arduino– ს 5V– ზე

GND Pin მიდის Arduino– ს GND– ზე

SCL პინი გადადის Arduino Uno– ს ანალოგიურ პინზე 5

SDA Pin მიდის Arduino Uno– ს ანალოგიურ პინზე 4

მისამართის პინი არ არის დაკავშირებული

შემდეგი ნაბიჯი არის Nokia 5110 LCD ეკრანის დაკავშირება.

Nokia 5110 LCD ეკრანის დაკავშირება

RST გადადის Arduino– ს ციფრულ პინზე 12

CE გადადის Arduino– ს ციფრულ პინზე 11

DC გადადის Arduino– ს ციფრულ პინზე 10

DIN გადადის Arduino– ს ციფრულ პინზე 9

CLK გადადის Arduino– ს ციფრულ პინზე 8

VCC მიდის Arduino 3.3V LIGHT გადადის Arduino GND– ზე (განათება ჩართულია)

GND გადადის Arduino GND– ზე

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

ნაბიჯი 5: პროექტის კოდი

Image
Image
პროექტის ტესტირება
პროექტის ტესტირება

პროექტის კოდი შედგება 3 ფაილისგან.

splash.cui.c

უი.გ

BH1750LightMeter.ino

კოდი - Splash Screen Image

პირველ ფაილში splash.c, არის splash ეკრანის ორობითი მნიშვნელობები, რომელიც ნაჩვენებია Nokia 5110 LCD ეკრანზე პროექტის ჩატვირთვისას. გთხოვთ ნახოთ თანდართული ვიდეო, რომელიც მე მოვამზადე, რათა ნახოთ თუ როგორ უნდა ჩატვირთოთ თქვენი პერსონალური გრაფიკა თქვენს არდუინოს პროექტში.

ui.c კოდი - მომხმარებლის ინტერფეისი

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

UVMeter.ino კოდი - მთავარი პროგრამა

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

void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // სენსორის შუქის წაკითხვა = სიმებიანი (ლუქსი); // კონვერტაცია სიმებიანი stringLength = light.length (); // ჩვენ უნდა ვიცოდეთ სიმების სიგრძე lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // დაბეჭდეთ სტრიქონი ჩვენებაზე lcd.update (); დაგვიანება (150); }

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

ნაბიჯი 6: პროექტის ტესტირება

პროექტის ტესტირება
პროექტის ტესტირება
პროექტის ტესტირება
პროექტის ტესტირება

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

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

გირჩევთ: