Სარჩევი:
- ნაბიჯი 1: პროგრამული უზრუნველყოფა
- ნაბიჯი 2: აპარატურა
- ნაბიჯი 3: შეამოწმეთ მოწყობილობა
- ნაბიჯი 4: დანართი: ATtiny85
ვიდეო: Arduino 1 მავთულის ზოგადი კლიენტი/მონა მოწყობილობა (სენსორი): 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
გთხოვთ წაიკითხოთ ჩემი ინსტრუქციის შესავალი და ნაბიჯი 2 იმის შესახებ, თუ როგორ უნდა შექმნათ Arduino 1 მავთულის ჩვენება (144 სიმბოლო), რათა მიიღოთ მეტი ინფორმაცია სიტუაციისა და ბიბლიოთეკების შესახებ. როგორც იქ არის განმარტებული, ჩვენ გამოვიყენებთ OneWire-Hub ბიბლიოთეკას (OneWire მონა მოწყობილობის ემულატორი) ორგუას მიერ (მიაქციეთ ყურადღება სხვა ჩანგლებია ირგვლივ), რათა შევქმნათ საერთო 1 მავთულის მოწყობილობები (მაგ. სენსორები) არდუინოს გამოყენებით.
ნაბიჯი 1: პროგრამული უზრუნველყოფა
ყველაზე მნიშვნელოვანი ის არის, რომ შევქმნათ მოწყობილობა, რომელსაც შეუძლია დაუბრუნოს ძირითადად ნებისმიერი სახის ღირებულება მარტივი წესით. რაც იმას ნიშნავს, რომ სტანდარტული პროგრამული უზრუნველყოფა შეიძლება გამოყენებულ იქნას ყველა მნიშვნელობის პირდაპირ წასაკითხად (არ არის საჭირო საუბარი ან ორობითი მანიპულირება). ამისათვის ჩვენ გვჭირდება ძალიან მარტივი ნაგულისხმევი 1 მავთულიანი მოწყობილობა, რომელსაც შეუძლია დაბრუნდეს მცურავი და ფართოდ არის მხარდაჭერილი. ერთადერთი არჩევანი, რაც მე ვიცი არის DS18B20 თერმომეტრი (DS2438 ბატარეის მონიტორი არის საინტერესო და სასარგებლო, მაგრამ საკმაოდ რთული და ამდენად ნელი სხვა ნაკლოვანებებს შორის). OneWire-Hub ბიბლიოთეკა შეიცავს მაგალითს სახელწოდებით DS18B20_asInterface, რომელიც ზუსტად იმას აკეთებს რაც ჩვენ გვჭირდება. ის ქმნის რამოდენიმე DS18B20, რომელთაგან თითოეული წარმოადგენს ერთ მცურავ მნიშვნელობას, რომლის დაბრუნებაც ჩვენ გვინდა ჩვენი სენსორიდან. შეზღუდვები აქ არის რეზოლუცია და მნიშვნელობები უნდა იყოს დიაპაზონში -55, 0… 125, 0. რისი მიღწევაც ადვილია - უარეს შემთხვევაში ხელახლა გამოხმაურება - და რეალურად უკეთესია, ვიდრე ის ღირებულებები, რომლებიც შეიძლება წარმოდგენილი იყოს მაგ. DS2438 მნიშვნელობები (1.5 დან 10 ვ). ალტერნატიულად, ფასეულობების უფრო დიდი დიაპაზონი შეიძლება დაინიშნოს გამოყენებით:
setTemperatureRaw (static_cast (მნიშვნელობა * 16.0f));
მაგრამ ამ ღირებულებების წაკითხვა და დამუშავება შეიძლება არ იყოს მხარდაჭერილი ყველა პროგრამული უზრუნველყოფის მიერ, რადგან ის სპეციფიკის გარეშეა.
რაც უნდა იცოდეთ არის ის, რომ თავდაპირველად მონების მაქსიმალური რაოდენობა შეზღუდულია 8 – ით, მაგრამ შეიძლება შეიცვალოს „OneWireHub_config.h“- ში HUB_SLAVE_LIMIT– ით 32 – მდე გაზრდით. ასევე თქვენ უნდა დარწმუნდეთ, რომ მიიღებთ ONEWIRE_TIME_MSG_HIGH_TIMEOUT საჭიროების შემთხვევაში. 1 მავთულის ქსელი (მაგ. X10), როგორც ეს განმარტებულია Arduino 1 მავთულის ეკრანის მე –2 საფეხურზე (144 სიმბოლო). და გამოიყენეთ IDE ვერსია> = 1.8.3, რომ შეადგინოთ და ატვირთოთ კოდი თქვენს არდუინოში.
აქ მოცემულია, მაგალითად, მოწყობილობის კოდი, რომელიც მე ახლახანს შევქმენი. როგორც ვვარაუდობ, თქვენ არ გამოიყენებთ სენსორების იმავე კომბინაციას, რასაც მე ვაკეთებ, მე არ გავაგრძელებ დეტალებს აქ, შეამოწმეთ კოდი და დაუსვით კითხვები, თუ დახმარება გჭირდებათ.
ნაბიჯი 2: აპარატურა
ძირითადად ყველაფერი, რისი დაკავშირებაც შესაძლებელია არდუინოსთან, შეიძლება გამოყენებულ იქნას როგორც თქვენი არჩევანის სენსორი. ერთადერთი შეზღუდვა ის არის, რომ სენსორის კითხვა უნდა იყოს რაც შეიძლება სწრაფად, რათა დარჩეს დიდი დრო 1 მავთულის კომუნიკაციისთვის (მიანიჭეთ ჩემი ინსტრუქციის მეორე ნაბიჯი Arduino 1-wire Display (144 Chars) თანმიმდევრობით) მაგალითის მისაღებად).
შესაძლო ტექნიკის მაგალითი შეიძლება იყოს ამინდის სადგური, მაგალითად:
https://shop.boxtec.ch/wetter-messer-p-41289.html
დამატებით ან თქვენს ნაცვლად, შეიძლება დაგჭირდეთ გამოიყენოთ Arduino როგორც სენსორი. თქვენ შეგიძლიათ წაიკითხოთ მეტი ამის შესახებ ჩემს ინსტრუქციებში Arduino– ს შესახებ ნაკლებად ცნობილი მახასიათებლების შესახებ - შესაძლო მნიშვნელობებია წყაროს ძაბვა და შიდა ტემპერატურა.
აქ არის მაგალითი იმ მოწყობილობის სურათისა, რომელიც მე ახლახანს ავაშენე. როგორც ვვარაუდობ, თქვენ არ გამოიყენებთ სენსორების იმავე კომბინაციას, რასაც მე ვაკეთებ, მე არ გავაგრძელებ დეტალებს აქ, შეამოწმეთ კოდი და დაუსვით კითხვები, თუ დახმარება გჭირდებათ.
ნაბიჯი 3: შეამოწმეთ მოწყობილობა
შეაერთეთ იგი თქვენს ქსელში და შეამოწმეთ თქვენი პროგრამული უზრუნველყოფა, რომ ყველა ROM პირადობის მოწმობა იყოს და ღირებულებები, რომლებიც ისინი ბრუნდება ტემპერატურის მიხედვით.
ნაბიჯი 4: დანართი: ATtiny85
ერთჯერადი მოწყობილობები (მეხსიერების შეზღუდვა) ასევე შეიძლება გაკეთდეს ATtiny85– ზე. ამას სჭირდება რამდენიმე ნაბიჯი, როდესაც ჩვენ ვაპროგრამებთ ATtiny85– ს Arduino Uno– ს ISP– ით Arduino IDE– ს დახმარებით:
-
ბმულები
- https://playground.boxtec.ch/doku.php/arduino/att…
- https://sebastian.expert/could-not-find-usbtiny-d…
- https://learn.sparkfun.com/tutorials/tiny-avr-pro…
- https://forum.arduino.cc/index.php?topic=425532.0
- https://forum.arduino.cc/index.php?topic=128963.0
- გამოიყენეთ Arduino IDE> = 1.8.3
-
დააინსტალირეთ ATtiny ვარიანტი IDE– ზე
- ფაილი> პარამეტრები> დაფების მენეჯერის დამატებითი მისამართები:
- ინსტრუმენტები> დაფა: ??? > დაფების მენეჯერი…
- მოძებნეთ: "პაწაწინა" და დააინსტალირეთ
-
ატვირთეთ ინტერნეტ პროვაიდერის ესკიზი Uno– ში
ფაილი> მაგალითები> ArduinoISP> ArduinoISP
-
ჩადეთ ATtiny85 პროგრამირების (ნულოვანი ძალის) სოკეტში და შეაერთეთ იგი:
- Arduino Pin MOSI D11 to ATtiny Pin 5
- Arduino Pin MISO D12 to ATtiny Pin 6
- Arduino Pin SCK D13 to ATtiny Pin 7
- Arduino Pin გადატვირთეთ D10 ATtiny Pin 1 -ში
- Arduino Pin GND to ATtiny Pin 4
- Arduino Pin VCC to ATtiny Pin 8
- (> = 10uF ქუდი Arduino Uno RESET პინზე შეიძლება დაგჭირდეთ)
-
აირჩიეთ ATtiny85 (იხ. სურათი):
- დაფა: "ATtiny25/45/85"
- ტაიმერი 1 საათი: "CPU"
- B. O. D.: "B. O. D. გამორთულია"
- LTO (მხოლოდ 1.6.11 +): "გამორთულია"
- ჩიპი: "ATtiny85"
- საათი: "8 MHz (შიდა)" (თავსებადია ATtiny85 და ATtiny84)
- საათი: "16 MHz (PLL)" (ალტერნატიული პარამეტრი მხოლოდ ATtiny85– ისთვის)
- პორტი: ???
-
აირჩიეთ პროგრამისტი:
ინსტრუმენტები> პროგრამისტი: "Arduino როგორც ISP" (არა "ArduinoISP"!)
-
დააყენეთ დაუკრავენ პარამეტრები (საათი და ა.შ.):
ინსტრუმენტები> ჩამტვირთავი ჩამტვირთავი
- ატვირთეთ ეს კოდი (პროგრამისტის შეცდომის LED უნდა იყოს გამორთული, სხვაგვარად გადატვირთეთ)
-
ATtinyX5 Pin განლაგება (ATtiny85):
- პინი 1: PB5 (RST)
- პინი 2: PB3 (A3) - სურვილისამებრ დაკავშირებულია 220ohm– ით 1 <-TX– თან
- პინი 3: PB4 (A2) - დაკავშირებულია 1 მავთულის მონაცემებთან
- პინი 4: GND - დაკავშირებულია GND– თან
- პინი 5: PB0 (PWM) - დაკავშირებულია სენსორთან I2C SDA
- პინი 6: PB1 (PWM) - უკავშირდება LED- ს 4.7k GND- თან
- პინი 7: PB2 (A1) - დაკავშირებულია სენსორთან I2C SCL
- პინი 8: VCC - უკავშირდება 5 ვ
ATTiny85– თან მუშაობას ცოტა მეტი შრომა სჭირდება, რადგან თქვენ გჭირდებათ დამატებითი ბიბლიოთეკების მიღება I2C comm (adafruit/TinyWireM) და სერიული გამომუშავებისთვის (TinyDebugSerial). გარდა ამისა, რადგან მეხსიერება საკმაოდ შეზღუდულია, შეიძლება დაგჭირდეთ ბევრი იმუშაოთ #განსაზღვრეთ მაგ. სერიული გამართვის მოსაშორებლად. მაგალითში თქვენ შეგიძლიათ ნახოთ ეს ყველაფერი ერთად გადაყრილი.
ტესტირებისთვის პირველი ნაბიჯი არის იმის შემოწმება, ანათებს თუ არა LED სწორი სიხშირით, 0.5 ჰც. შემდეგ შეაერთეთ იგი 1 მავთულის ავტობუსთან და შეამოწმეთ ახალი მოწყობილობა.
გირჩევთ:
ASS მოწყობილობა (ანტისოციალური სოციალური მოწყობილობა): 7 ნაბიჯი
ASS მოწყობილობა (ანტისოციალური სოციალური მოწყობილობა): თქვით, რომ თქვენ ხართ ისეთი ადამიანი, ვისაც უყვარს ადამიანების გვერდით ყოფნა, მაგრამ არ მოსწონს ისინი ძალიან ახლოს. თქვენ ასევე ხართ ხალხის მოსიყვარულე და გიჭირთ უარის თქმა ხალხზე. ასე რომ თქვენ არ იცით როგორ უთხრათ რომ უკან დაიხიონ. აბა, შეიყვანეთ - ASS მოწყობილობა! Y
წვრილმანი პერიმეტრის მავთულის გენერატორი და სენსორი: 8 ნაბიჯი
წვრილმანი პერიმეტრის მავთულის გენერატორი და სენსორი: მავთულის მართვის ტექნოლოგია ფართოდ გამოიყენება ინდუსტრიაში, კერძოდ, საწყობებში, სადაც დამუშავება ავტომატიზირებულია. რობოტები მიჰყვებიან მიწაში ჩაფლულ მავთულის მარყუჟს. შედარებით დაბალი ინტენსივობისა და სიხშირის ალტერნატიული დენი 5Kz– დან 40 – მდე
5 მავთულის რეზისტენტული შეხების სენსორი: 10 ნაბიჯი
5 მავთულის რეზისტენტული შეხების სენსორი: გამარჯობა გამარჯობა! უკვე კარგა ხანია რაც ვმუშაობ ამ საიტზე და როგორც ჩანს საკმაოდ ბევრი რამ შეიცვალა! მე საბოლოოდ მზად ვარ საჭესთან დავბრუნდე სხვა პროექტისთვის და ვფიქრობ, დროა შეცვალო რაღაცეები მე თვითონ! მე მქონდა მხედველობაში რაღაც
ფლოგერი: მოწყობილობა ამინდის მონიტორინგის მოწყობილობა: 6 ნაბიჯი
Floger: მოწყობილობა ამინდის პარამეტრების მონიტორინგისთვის: პატარა დაკავშირებული და AUTONOMUS მოწყობილობა რამდენიმე სასარგებლო ხერხის მონიტორინგისთვის, რომელიც დაგეხმარებათ მებაღეობაში. ეს მოწყობილობა შექმნილია სხვადასხვა ამინდის პარამეტრების გასაზომად: იატაკისა და ჰაერის ტემპერატურა იატაკისა და ჰაერის ტენიანობის სიკაშკაშე აჩვენებს მას
HC - 06 (მონა მოდული) შეცვლის "NAME" გამოყენების გარეშე "მონიტორი სერიული Arduino" რომ "მუშაობს მარტივად": უნაკლო გზა!: 3 ნაბიჯი
HC - 06 (მონა მოდული) იცვლება "სახელი" გამოყენების გარეშე "მონიტორი სერიული არდუინო" … რომ "მუშაობს მარტივად": უნაკლო გზა!: შემდეგ " დიდხანს " ცდილობს შეცვალოს სახელი HC - 06 (მონა მოდული), გამოყენებით " Arduino– ს სერიული მონიტორი, " წარმატება ", მე ვიპოვე კიდევ ერთი მარტივი გზა და გაზიარების საშუალება მაქვს! გაერთეთ მეგობრებო