Სარჩევი:
- ნაბიჯი 1: კომპონენტები
- ნაბიჯი 2: RGB ზოლის გაძლიერება ტრანზისტორებით და ენერგიის წყაროსთან
- ნაბიჯი 3: RGB LED ზოლის ფერების კონტროლი
- ნაბიჯი 4: გააკონტროლეთ RGB LED ზოლის ფერი სენსორის კითხვის მიხედვით
- ნაბიჯი 5: საბოლოო კოდი
- ნაბიჯი 6: თქვენ დასრულებული ხართ
ვიდეო: RGB თერმომეტრი PICO– ს გამოყენებით: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ეს იყო ჩვენი დღევანდელი ძალისხმევის საბოლოო შედეგი. ეს არის თერმომეტრი, რომელიც გაცნობებთ რამდენად თბილია თქვენს ოთახში, აკრილის კონტეინერში მოთავსებული RGB LED ზოლის გამოყენებით, რომელიც ტემპერატურის სენსორთან არის დაკავშირებული ტემპერატურის წასაკითხად. ჩვენ ვიყენებთ PICO– ს, რომ ეს პროექტი გაცოცხლდეს.
ნაბიჯი 1: კომპონენტები
- PICO, ხელმისაწვდომია mellbell.cc ($ 17)
- 1 მეტრიანი RGB LED ზოლები
- 3 TIP122 დარლინგტონის ტრანზისტორი, შეფუთვა 10 იბეიზე ($ 3.31)
- 1 PCA9685 16 არხიანი 12 ბიტიანი PWM დრაივერი, ხელმისაწვდომია ebay– ზე ($ 2.12)
- 12 ვ კვების წყარო
- 3 1k ohm რეზისტორი, 100 პაკეტი ebay– ზე ($ 0.99)
- პურის დაფა, ხელმისაწვდომია ebay– ზე ($ 2.30)
- მამაკაცი - ქალი ჯუმბერის მავთულები, 40 პაკეტი იბეიზე ($ 0.95)
ნაბიჯი 2: RGB ზოლის გაძლიერება ტრანზისტორებით და ენერგიის წყაროსთან
LED ზოლები არის მოქნილი მიკროსქემის დაფები, რომლებიც დასახლებულია LED- ებით. ისინი გამოიყენება მრავალმხრივ, რადგან შეგიძლიათ გამოიყენოთ ისინი სახლში, მანქანაში ან ველოსიპედში. თქვენ შეგიძლიათ შექმნათ მაგარი RGB ტანისამოსი მათი გამოყენებით.
მაშ, როგორ მუშაობენ ისინი? ეს მართლაც საკმაოდ მარტივია. LED- ების ყველა LED- ი პარალელურად არის დაკავშირებული და ისინი მოქმედებენ როგორც ერთი უზარმაზარი RGB LED. მისი გასაშვებად, თქვენ უბრალოდ უნდა დააკავშიროთ ზოლები 12 ვ მაღალი სიმძლავრის დენის წყაროსთან.
მიკროკონტროლით LED ზოლის გასაკონტროლებლად, თქვენ უნდა გამოყოთ ენერგიის წყარო საკონტროლო წყაროსგან. იმის გამო, რომ LED ზოლს სჭირდება 12 ვ, და ჩვენი მიკროკონტროლი ვერ გვთავაზობს ამდენ გამომავალ ძაბვას და ამიტომაც ვუკავშირდებით გარე 12 ვ მაღალი დენის წყაროს, ხოლო საკონტროლო სიგნალებს ვგზავნით ჩვენი PICO– დან.
ასევე, თითოეული RGB უჯრედის ამჟამინდელი გათამაშება მაღალია, რადგან მასში შემავალი თითოეული LED - წითელი, მწვანე და ლურჯი LED– ები საჭიროებს 20 mA მუშაობას, რაც იმას ნიშნავს, რომ ჩვენ გვჭირდება 60 mA ერთი RGB უჯრედის გასანათებლად. და ეს ძალიან პრობლემურია, რადგან ჩვენს GPIO ქინძისთავებს შეუძლიათ მიაწოდონ მხოლოდ მაქსიმუმ 40 mA თითო პინზე, ხოლო RGB ზოლის პირდაპირ PICO– სთან დაკავშირება დაწვავს მას, ასე რომ გთხოვთ ნუ გააკეთებთ ამას.
მაგრამ, არსებობს გამოსავალი და მას ჰქვია დარლინგტონის ტრანზისტორი, რომელიც არის ტრანზისტორი წყვილი, რომელსაც აქვს ძალიან მაღალი დენის მოგება, რაც დაგვეხმარება გავზარდოთ ჩვენი მიმდინარეობა ჩვენი მოთხოვნილებების დასაკმაყოფილებლად.
მოდით, უფრო მეტი გავიგოთ მიმდინარე მოგების შესახებ. მიმდინარე მოგება არის ტრანზისტორების თვისება, რაც იმას ნიშნავს, რომ ტრანზისტორში გამავალი დენი გამრავლდება მასზე და მისი განტოლება ასე გამოიყურება:
დატვირთვის დენი = შეყვანის დენი * ტრანზისტორის მომატება.
ეს კიდევ უფრო ძლიერია დარლინგტონის ტრანზისტორში, რადგან ეს არის ტრანზისტორი წყვილი და არა ერთი და მათი ეფექტები მრავლდება ერთმანეთზე, რაც გვაძლევს მასიურ მიმდინარე მოგებას.
ჩვენ ახლა LED ზოლს დავუკავშირებთ გარე ენერგიის წყაროს, ტრანზისტორს და რა თქმა უნდა ჩვენს PICO- ს.
- ბაზა (ტრანზისტორი) → D3 (PICO)
- კოლექტორი (ტრანზისტორი) → B (LED ზოლები)
- გამცემი (ტრანზისტორი) GND
- +12 (LED ზოლები) → +12 (ენერგიის წყარო)
არ დაგავიწყდეთ PICO– ს GND დაკავშირება დენის წყაროებთან
ნაბიჯი 3: RGB LED ზოლის ფერების კონტროლი
ჩვენ ვიცით, რომ ჩვენს PICO– ს აქვს ერთი PWM pin (D3), რაც იმას ნიშნავს, რომ მას არ შეუძლია ჩვენი 16 LED- ის კონტროლი. სწორედ ამიტომ ჩვენ წარმოგიდგენთ PCA9685 16-არხიან 12 ბიტიან PWM I2C მოდულს, რომელიც საშუალებას გვაძლევს გავაფართოვოთ PICO– ს PWM ქინძისთავები.
პირველ რიგში, რა არის I2C?
I2C არის საკომუნიკაციო პროტოკოლი, რომელიც მოიცავს მხოლოდ 2 მავთულს ერთ ან მეტ მოწყობილობასთან კომუნიკაციისთვის მოწყობილობის მისამართის მისამართით და რომელი მონაცემების გაგზავნა.
არსებობს ორი სახის მოწყობილობა: პირველი არის სამაგისტრო მოწყობილობა, რომელიც არის პასუხისმგებელი მონაცემების გაგზავნაზე, ხოლო მეორე არის მონა მოწყობილობა, რომელიც იღებს მონაცემებს. აქ მოცემულია PCA9685 მოდულის პინები:
- VCC → ეს არის ძალა გამგეობისთვის. 3-5 ვ მაქსიმუმი
- GND → ეს არის უარყოფითი პინი და ის ჩართული უნდა იყოს GND– თან, რათა დაასრულოს წრე.
- V+ → ეს არის სურვილისამებრ კვების ბლოკი, რომელიც მიაწვდის ენერგიას სერვისს, თუ რომელიმე მათგანი თქვენს მოდულთან არის დაკავშირებული. თქვენ შეგიძლიათ დატოვოთ იგი გათიშული, თუ არ იყენებთ რაიმე სერვისს.
- SCL ial სერიული საათის პინი და ჩვენ მას ვუკავშირდებით PICO– ს SCL– ს.
- SDA → Serial Data pin და ჩვენ ვუკავშირდებით მას PICO- ს SDA- ს.
- OE → გამომავალი ჩართულია პინი, ეს პინი აქტიურია დაბალი, როდესაც პინი არის დაბალი ყველა გამოსავალი ჩართულია, როდესაც ის მაღალია ყველა გამოსავალი გამორთულია. და ეს არჩევითი პინი გამოიყენება მოდულის ქინძისთავების სწრაფად ჩართვის ან გამორთვისთვის.
არის 16 პორტი, თითოეულ პორტს აქვს V+, GND, PWM. თითოეული PWM pin მუშაობს სრულიად დამოუკიდებლად და ისინი შექმნილია სერვისებისთვის, მაგრამ თქვენ შეგიძლიათ მარტივად გამოიყენოთ ისინი LED- ებისთვის. თითოეულ PWM– ს შეუძლია გაუმკლავდეს 25 mA დენს, ასე რომ ფრთხილად იყავით.
ახლა, როდესაც ჩვენ ვიცით რა არის ჩვენი მოდულის ქინძისთავები და რას აკეთებს ის, მოდით გამოვიყენოთ ის PICO– ს PWM ქინძისთავების რაოდენობის გასაზრდელად, ასე რომ ჩვენ შეგვიძლია გავაკონტროლოთ ჩვენი RGB LED ზოლები.
ჩვენ ვაპირებთ გამოვიყენოთ ეს მოდული TIP122 ტრანზისტორებთან ერთად და ეს არის ის, თუ როგორ უნდა დააკავშიროთ ისინი თქვენს PICO– სთან:
- VCC (PCA9685) → VCC (PICO).
- GND (PCA9685) GND.
- SDA (PCA9685) → D2 (PICO).
- SCL (PCA9685) → D3 (PICO).
- PWM 0 (PCA9685) → BASE (პირველი TIP122).
- PWM 1 (PCA9685) AS BASE (მეორე TIP122).
- PWM 2 (PCA9685) AS BASE (მესამე TIP122).
არ დაგავიწყდეთ PICO- ს GND დაკავშირება კვების ბლოკის GND– თან. და დარწმუნდით, რომ არ დაუკავშიროთ PCA9685 VCC პინი კვების ბლოკის +12 ვოლტს, წინააღმდეგ შემთხვევაში ის დაზიანდება
ნაბიჯი 4: გააკონტროლეთ RGB LED ზოლის ფერი სენსორის კითხვის მიხედვით
ეს არის ბოლო ნაბიჯი ამ პროექტში და მასთან ერთად ჩვენი პროექტი "სულელურიდან" გადაიზრდება ჭკვიანურად და ექნება უნარი მოიქცეს გარემოდან გამომდინარე. ამისათვის ჩვენ ვაპირებთ დავაკავშიროთ ჩვენი PICO LM35DZ ტემპერატურის სენსორთან.
ამ სენსორს აქვს ანალოგური გამომავალი ძაბვა, რომელიც დამოკიდებულია მის გარშემო არსებულ ტემპერატურაზე. ის იწყება 0v ტემპერატურაზე 0 გრადუსი ცელსიუსით და ძაბვა იზრდება 10mV თითოეული გრადუსით 0C– ზე ზემოთ. ეს კომპონენტი ძალიან მარტივია და მხოლოდ 3 ფეხი აქვს და ისინი დაკავშირებულია შემდეგნაირად:
- VCC (LM35DZ) → VCC (PICO)
- GND (LM35DZ) → GND (PICO)
- გამომავალი (LM35DZ) A0 (PICO)
ნაბიჯი 5: საბოლოო კოდი
ახლა, როდესაც ჩვენ ყველაფერი გვაქვს დაკავშირებული ჩვენს PICO– სთან, დავიწყოთ მისი დაპროგრამება ისე, რომ LED- ები შეიცვალოს ფერი ტემპერატურის მიხედვით.
ამისათვის ჩვენ გვჭირდება შემდეგი:
კონსტ. ცვლადი სახელწოდებით "tempSensor" A0 მნიშვნელობით, რომელიც იღებს კითხვას ტემპერატურის სენსორიდან
მთელი ცვლადი სახელად "sensorReading" საწყისი მნიშვნელობით 0. ეს არის ცვლადი, რომელიც დაზოგავს ნედლეულის სენსორის კითხვას
მცურავი ცვლადი სახელწოდებით "ვოლტი" საწყისი მნიშვნელობით 0. ეს არის ცვლადი, რომელიც გადაარჩენს გადაკეთებული სენსორის ნედლი კითხვის მნიშვნელობას ვოლტებში
მცურავი ცვლადი სახელწოდებით "ტემპი" საწყისი მნიშვნელობით 0. ეს არის ცვლადი, რომელიც დაზოგავს გადაკეთებული სენსორის ვოლტის კითხვას და გადააქცევს მას ტემპერატურაზე
მთლიანი ცვლადი სახელწოდებით "mapped" საწყისი მნიშვნელობით 0. ეს დაზოგავს PWM მნიშვნელობას, რომლის დროსაც ჩვენ ვადგენთ temp ცვლადს და ეს ცვლადი აკონტროლებს LED ზოლის ფერს
ამ კოდის გამოყენებით, PICO წაიკითხავს ტემპერატურის სენსორის მონაცემებს, გადააქცევს მას ვოლტებად, შემდეგ ცელსიუსში და ბოლოს ასახავს ცელსიუსის ხარისხს PWM მნიშვნელობად, რომლის წაკითხვაც შესაძლებელია ჩვენი LED ზოლის საშუალებით და ეს არის ზუსტად ის, რაც ჩვენ გვჭირდება.
ნაბიჯი 6: თქვენ დასრულებული ხართ
ჩვენ ასევე გავაკეთეთ აკრილის კონტეინერი LED ზოლისთვის, რათა ის ლამაზად დადგეს. თქვენ შეგიძლიათ იპოვოთ CAD ფაილები აქ, თუ გსურთ მათი ჩამოტვირთვა.
ახლა თქვენ გაქვთ გასაოცარი LED თერმომეტრი, რომელიც ავტომატურად გეუბნებათ ტემპერატურას, როდესაც უყურებთ მას, რაც რბილად რომ ვთქვათ საკმაოდ მოსახერხებელია: P
დატოვეთ კომენტარი, თუ თქვენ გაქვთ რაიმე შემოთავაზება ან გამოხმაურება და არ დაგავიწყდეთ გამოგვყევით facebook– ზე ან გვეწვიეთ mellbell.cc– ზე უფრო გასაოცარი შინაარსისთვის.
გირჩევთ:
როგორ გააკეთოთ თერმომეტრი Arduino და LM35 გამოყენებით: 6 ნაბიჯი
როგორ გავაკეთოთ თერმომეტრი Arduino და LM35 გამოყენებით: დღეს მე ვაპირებ გაჩვენოთ როგორ გააკეთოთ თერმომეტრი Arduino და LM35 ტემპერატურის სენსორით, LCD დისპლეით, მავთულხლართებთან ერთად. ის აჩვენებს ტემპერატურას ცელსიუსსა და ფარენჰეიტში. ჩვენ დააკვირდა
DIY ოთახის თერმომეტრი OLED მოდულის გამოყენებით: 7 ნაბიჯი (სურათებით)
DIY ოთახის თერმომეტრი OLED მოდულის გამოყენებით: ჩვენ ვსწავლობთ როგორ ავაშენოთ ოთახის თერმომეტრი DS18B20 სენსორის და OLED მოდულის გამოყენებით. ჩვენ ვიყენებთ Piksey Pico- ს, როგორც მთავარ დაფას, მაგრამ ესკიზი ასევე თავსებადია Arduino UNO და Nano დაფებთან, ასე რომ თქვენ შეგიძლიათ გამოიყენოთ ისინიც
გამოიყენეთ სმარტფონი როგორც უკონტაქტო თერმომეტრი / პორტატული თერმომეტრი: 8 ნაბიჯი (სურათებით)
გამოიყენეთ სმარტფონი როგორც უკონტაქტო თერმომეტრი / პორტატული თერმომეტრი: სხეულის ტემპერატურის გაზომვა უკონტაქტო / უკონტაქტო თერმო იარაღის მსგავსად. მე შევქმენი ეს პროექტი, რადგან თერმო იარაღი ახლა ძალიან ძვირია, ამიტომ მე უნდა მივიღო ალტერნატივა საკუთარი ხელების გასაკეთებლად. და მიზანი არის დაბალი ბიუჯეტის ვერსიით.მომარაგებაMLX90614 არდუ
ციფრული თერმომეტრი DHT11 ESP8266 გამოყენებით: 4 ნაბიჯი
ციფრული თერმომეტრი DHT11 ESP8266– ის გამოყენებით: წინა სტატიაში მე უკვე განვიხილე DH11 და როგორ გამოვაჩინო ის გამომავალ მოწყობილობებზე, როგორიცაა 7 სეგმენტი, LCD, სერიული მონიტორი და RGB ბეჭედი. და ამ სტატიაში მე გაჩვენებთ თუ როგორ უნდა აკონტროლოთ ტემპერატურა და ტენიანობა მობილური ტელეფონის ბრაუზერის გამოყენებით
არდუინოს საფუძველზე არაკონტაქტური ინფრაწითელი თერმომეტრი - IR დაფუძნებული თერმომეტრი არდუინოს გამოყენებით: 4 ნაბიჯი
არდუინოს საფუძველზე არაკონტაქტური ინფრაწითელი თერმომეტრი | IR დაფუძნებული თერმომეტრი Arduino– ს გამოყენებით: გამარჯობა ბიჭებო ამ ინსტრუქციებში ჩვენ გავაკეთებთ უკონტაქტო თერმომეტრს arduino– ს გამოყენებით. ვინაიდან ზოგჯერ თხევადი/მყარი ტემპერატურა ძალიან მაღალია ან დაბალია და შემდეგ ძნელია მასთან კონტაქტის დამყარება და მისი წაკითხვა ტემპერატურა მაშინ ამ სცენარში