Სარჩევი:

Arduino Pro-mini მონაცემთა მრიცხველი: 15 ნაბიჯი
Arduino Pro-mini მონაცემთა მრიცხველი: 15 ნაბიჯი

ვიდეო: Arduino Pro-mini მონაცემთა მრიცხველი: 15 ნაბიჯი

ვიდეო: Arduino Pro-mini მონაცემთა მრიცხველი: 15 ნაბიჯი
ვიდეო: How to Make PLC LCD HMI || FLProg 2024, ივლისი
Anonim
Arduino Pro-mini მონაცემთა მრიცხველი
Arduino Pro-mini მონაცემთა მრიცხველი

შექმენით ინსტრუქციები ღია კოდის პრო მინი Arduino მონაცემების ჩამწერებისთვის

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

უპირველეს ყოვლისა, მადლობა უნდა გადავუხადო და ხელი შევუწყო იმ ნიჭიერ ადამიანებს, რომლებმაც შთააგონეს ამ მონაცემების შემქმნელის იდეა და წვლილი შეიტანეს გამოყენებულ კოდსა და სენსორებში. უპირველეს ყოვლისა, მონაცემთა შემქმნელის იდეა წარმოიშვა ედუარდ მალონის ძალიან კარგად შემუშავებული და კარგად ახსნილი (უკაცრავად, ჩვენი სამეურვეო პროგრამა არ არის კარგი): https://thecavepearlproject.org/2017/06/19/ არდუინი…

მეორეც, აქ გამოყენებული ღია ტენიანობის სენსორები, ისევე როგორც კოდი/ბიბლიოთეკა მათ გასაშვებად, შემუშავებულია და აშენებულია Catnip Electronics– ის მიერ. ეს არის მაღალი ხარისხის სენსორები და ძალიან გამძლე. ინფორმაცია იმის შესახებ, თუ სად უნდა იყიდოთ ისინი და მიიღოთ კოდი მათ გასაშვებად (მადლობა ინგო ფიშერს) მოცემულია ქვემოთ.

ნაბიჯი 1: საჭირო მასალები, ინსტრუმენტები, აღჭურვილობა

საჭირო მასალები, ინსტრუმენტები, აღჭურვილობა
საჭირო მასალები, ინსტრუმენტები, აღჭურვილობა

პრო-მინი Arduino დაფა. ამ პროგრამისთვის ჩვენ ვიყენებთ ღია კოდს (ისევე როგორც ყველა ჩვენს ნაწილს) ჩინური წარმოების პრო-მინი კლონებს (5V, 16MHz, ATmega 326 მიკროპროცესორი) (სურ. 1 ა). ამ დაფების შეძენა შესაძლებელია ალიექსპრესზე, ებეიზე და მსგავს ვებგვერდებზე 2 აშშ დოლარზე ნაკლები. თუმცა, სხვა დაფები შეიძლება გამოყენებულ იქნას ისევე მარტივად (გაითვალისწინეთ საჭირო სენსორების ძაბვის მოთხოვნები, ასევე პროგრამის მეხსიერების მოთხოვნები).

SD ბარათი და რეალურ დროში საათის (RTC) ჟურნალის მოდული, რომელიც გამოქვეყნდა Deek-Robot– ის მიერ (ID: 8122) (სურათი 1 ბ). ეს მოდული მოიცავს DS13072 RTC და micro-sd ბარათის მკითხველს. ეს დაფები ღირს 2 აშშ დოლარზე ნაკლები და ძალიან გამძლეა.

Arduino nano (დიახ-"ნანო") ხრახნიანი ტერმინალის ადაპტერი, ასევე გამოუშვა Deek-Robot, რომლის შეძენაც შესაძლებელია 2 $ -ზე ნაკლებ დოლარად Aliexpress– ისგან ან მსგავსიდან (სურ. 1c). როგორც ხედავთ, ჩვენ უბრალოდ გვიყვარს ალიექსპრესი.

22 gage მყარი ბირთვის იზოლირებული მავთული (ნახ. 1 დ).

მონაცემთა მრიცხველის ყუთი (სურ. 1 ე). ჩვენ ვიყენებთ "კვლევის ხარისხის" ყუთებს, მაგრამ იაფი პლასტმასის ნაწარმი მშვენივრად მუშაობს უმეტეს სიტუაციებში.

ბატარეის 4 AA NiMh ბატარეისთვის (სურ. 1 ვ). მათი შეძენა შესაძლებელია ალიექსპრესზე დაახლოებით. თითოეული $ 0.20 (დიახ - 20 ცენტი). ნუ დახარჯავთ ფულს უფრო ძვირი ბატარეის ყუთებზე.

6V, დაახლოებით 1W მზის პანელი. შეძენა შესაძლებელია ალიექსპრესზე $ 2 აშშ დოლარზე ნაკლები.

Soldering რკინის, solder და წარსული ტიპის ნაკადი.

ცხელი წებოს იარაღი.

ნაბიჯი 2: შექმენით ინსტრუქცია

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

ასაშენებლად საჭირო დრო: დაახლოებით 30-60 წთ.

მოამზადეთ ნანო ტერმინალის ადაპტერი შესადუღებლად.

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

howtomechatronics.com/tutorials/arduino/ho…

www.arduino.cc/en/Reference/Wire

ნანო ხრახნიანი გადამყვანების გამოყენების იდეა აღებულია ედუარდ მალონის მშვენიერი მონაცემების შემქმნელის დიზაინიდან:

thecavepearlproject.org/2017/06/19/arduino…

გაჭერით კვალი ხრახნიანი ტერმინალის უკანა მხარეს დიდ და პატარა ქინძისთავებს შორის 3, 5, 9, 10 და 11 პოზიციებზე (ტერმინალის ზემოდან დათვლა) (სურ. 2). ეს კვალი შეესაბამება წარწერებს "RST", "A7", "A3", "A2" და "A1" ხრახნიანი ტერმინალზე. კვალის გაჭრა გაცილებით ადვილია, თუ გაქვთ "დრემელის" ტიპის ინსტრუმენტი, მაგრამ თუ არა, პატარა დანა ადვილად იმუშავებს. თავს ნუ მოიკლავ! გაითვალისწინეთ, რომ ხრახნიანი ტერმინალისა და პრო-მინი-ის ეტიკეტები არ არის ერთი და იგივე (ნანოსა და პრო-მინის აქვს რამდენიმე ქინძისთავები სხვადასხვა ადგილას). ეს არის ამ დიზაინის ერთ-ერთი უხერხულობა, მაგრამ სურვილისამებრ ადვილია ტერმინალის დაფის ხელახლა წარწერა.

ფრთხილად წაშალეთ (დრემელის ან პატარა დანის გამოყენებით) ეპოქსიდის თხელი ფენა უშუალოდ მსხვილ ქინძისთავებთან 9, 10 და 11 (ეტიკეტით "A3", "A2", "A1" ნანო ტერმინალზე) (ნახ. 2) რა ეპოქსიდის ქვეშ დაფარული სპილენძის საფარი დაფუძნებულია Arduino პრო-მინი დაფაზე. ჩვენ მოგვიანებით გავაფართოვებთ ამ დაუცველ მონაკვეთს მიმდებარე ქინძისთავებს, რითაც უზრუნველვყოფთ სამ დამიწებულ ხრახნიან ტერმინალს.

ნაბიჯი 3: შექმენით ინსტრუქცია

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

გათიშეთ რვა 8 სმ სიგრძის იზოლირებული 22 ლიანდაგიანი მავთული და ერთი ბოლოდან 5 მმ იზოლაცია და მეორე ბოლოდან 3 მმ. ჩვენ გირჩევთ გამოიყენოთ მყარი ძირითადი მავთულები.

აიღეთ ოთხი მავთული, ერთი ბოლო მოხარეთ 90 გრადუსით (ბოლო 5 მმ -ით ან გაშლილი მავთულით) და შედგით * * (ანუ, მიამაგრეთ ყველა ქინძისთავები უხვი შედუღებით და ნაკადით) შემდეგ წერტილებზე:

მავთული 1: დიდი ქინძისთავები 3, 4 და 5 (ეტიკეტით 'RST', '5V', 'A7' ნანო ტერმინალზე). ჩვენ შევცვლით ამ სამ ხრახნიან ტერმინალს სამ VCC ტერმინალში (სურათი 3).

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

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

მავთული 2: დიდი ქინძისთავები 9, 10 და 11 (ეტიკეტით 'A3', 'A2', 'A1' ნანო ტერმინალზე), ასევე სპილენძის დაფარული საფარი, რომელიც ადრე იყო გამოვლენილი. გამოიყენეთ უამრავი შედუღება. არ ინერვიულოთ, თუ ის ბინძურად გამოიყურება. ჩვენ შევცვლით ამ სამ ხრახნიან ტერმინალს სამ ძირითად ტერმინალში (-) ტერმინალში (სურ. 4).

ნაბიჯი 5: შექმენით ინსტრუქცია

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

მავთული 3: დიდი ქინძისთავები 13, 14 და 15 (ეტიკეტით 'REF', '3V3', 'D13' ნანო ტერმინალზე). ჩვენ შევცვლით ამ სამ ხრახნიან ტერმინალს სამ A5 SCL ტერმინალში I2C კომუნიკაციებისთვის (სურ. 5).

ნაბიჯი 6: შექმენით ინსტრუქცია

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

მავთული 4: დიდი ქინძისთავები 28, 29 და 30 (ეტიკეტით 'D10', 'D11', 'D12' ნანო ტერმინალზე). ჩვენ შევცვლით ამ სამ ხრახნიან ტერმინალს სამ A4 SDA ტერმინალში I2C კომუნიკაციებისთვის (სურ. 6).

ნაბიჯი 7: შექმენით ინსტრუქცია

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

შეაერთეთ თითო მავთული თითოეულ პატარა (კიდევ ერთხელ ვამბობ - პატარა) ქინძისთავებს 9, 10 და 11 (ეტიკეტით 'A3', 'A2', 'A1' ნანო ტერმინალზე) (სურ. 7).

ნაბიჯი 8: შექმენით ინსტრუქცია

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

Solder

დარჩენილი მავთულები დიდ პინ 22 –ზე (ნანო ტერმინალზე წარწერით „D4“) (სურ. 8).

ნაბიჯი 9: შექმენით ინსტრუქცია

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

შეაერთეთ თითოეული მავთულის თავისუფალი ბოლო მის შესაბამის პინ-ხვრელებში Deek-Robot მონაცემების ჩამწერი ფარი (სურათი 9):

დიდი pin 'RST+5V+A7' 5V pin ხვრელში

დიდი PIN 'A3+A2+A1' GND pin ხვრელში

პატარა pin 'A3' SCK pin ხვრელში

პატარა pin 'A2' MISO pin ხვრელში

პატარა pin 'A1' MOSI pin ხვრელში

დიდი pin 'REF+3V3+D13' SCL pin ხვრელში

დიდი pin 'D10+D11+D12' SDA pin ხვრელში

და დიდი pin 'D4' CS pin ხვრელში

ნაბიჯი 10: შექმენით ინსტრუქცია

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

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

შეაერთეთ ორი 6 სმ სიგრძის მავთული A4 და A5 ხვრელებში პრო-დაფის ქვედა მხრიდან (სურ. 10).

ნაბიჯი 11: შექმენით ინსტრუქცია

შექმენით ინსტრუქციები
შექმენით ინსტრუქციები

შეაერთეთ ქინძისთავები პრო-მინი დაფაზე და ჩადეთ იგი დასრულებულ ხრახნიან ტერმინალში. ნუ დაგავიწყდებათ, რომ ჩაწეროთ A5 და A4 მავთულები D12 (A4) და D13 (A5) ტერმინალებში ნანო დაფაზე. ყოველთვის დაიმახსოვრე, რომ არდუინოს და ხრახნიანი ტერმინალის ეტიკეტებზე დაყენებული ქინძისთავები ზუსტად არ იქნება გასწორებული (პრო-მინი და ნანო დაფებს აქვთ განსხვავებული ქინძისთავები).

ჩადეთ CR 1220 ბატარეა და micro-sd ბარათი ლოგერის დაფაზე. ჩვენ ვიყენებთ SD ბარათებს 15 GB– ზე ნაკლები მოცულობით, რადგან ჩვენ გვქონდა პრობლემა უფრო დიდი მოცულობის ბარათებთან დაკავშირებით. ჩვენ ვიყენებთ ბარათების ფორმატს FAT32- ზე.

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

დაფა ახლა მზად არის გამოსაყენებლად. დასრულებული დაფა ახლა ასე უნდა გამოიყურებოდეს: სურ.11.

ნაბიჯი 12: მონაცემთა ჟურნალის დაყენება საველე გამოყენებისთვის

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

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

ნაბიჯი 13:

გამოსახულება
გამოსახულება

ჩვენ ვიყენებთ ღია წყაროს I2C ტევადობის ტიპის ტენიანობის სენსორებს. ჩვენ ვყიდულობთ მათ Catnip Electronics– დან (ვებ – გვერდი ქვემოთ). მათი შეძენა შესაძლებელია Tindie– ზე და ღირს 9 აშშ დოლარი სტანდარტული მოდელისთვის და დაახლოებით 22 აშშ დოლარი უხეში მოდელისთვის. ჩვენ გამოვიყენეთ უხეში ვერსია საველე ექსპერიმენტებში. ისინი ძალიან გამძლეა და გვთავაზობენ მსგავს შესრულებას, როგორც ბევრად უფრო ძვირი კომერციული ალტერნატივები (ჩვენ არავის დავდებთ ფრონტ სტრიტზე, მაგრამ თქვენ ალბათ იცნობთ ჩვეულებრივ ეჭვმიტანილებს).

Catnip Electronics I2C სენსორი ნაჩვენებია ამ სახელმძღვანელოში:

იყიდეთ აქ:

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

arduino ბიბლიოთეკა Github– ზე:

მიამაგრეთ ყვითელი მავთული I2C სენსორიდან A5 ხრახნიან ტერმინალზე. მიამაგრეთ მწვანე მავთული I2C სენსორიდან ერთ -ერთ A4 ტერმინალზე. სენსორიდან წითელი და შავი მავთულები მიდის შესაბამისად VCC და მიწის ტერმინალებზე.

მოათავსეთ ოთხი დამუხტული NiMh ბატარეა ბატარეის კოლოფში. მიამაგრეთ წითელი (+) მავთული მონაცემთა მრიცხველზე RAW პინზე (ანუ, RAW პინი პრო-მინი დაფაზე) (მაგრამ იხილეთ განყოფილება "ენერგიის დაზოგვის" ქვემოთ). მიამაგრეთ შავი (-) მავთული მონაცემების ჩამწერი ერთ-ერთი დამჭერ მიამაგრეთ.

საველე გრძელვადიანი გამოყენებისათვის, მიამაგრეთ 6V 1W მზის პანელი ხეზე. მზის პანელი გამოყენებული იქნება მონაცემთა დამგროვებლის გასაშვებად და ბატარეის პაკეტის დასატენად დღის განმავლობაში და მუშაობს მოღრუბლული ცის ქვეშაც (თუმცა თოვლი პრობლემაა).

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

მიამაგრეთ (+) ტერმინალი მზის პანელიდან (ანუ დიოდი) RAW პინზე ლოგერზე (ანუ RAW პინი პრო-მინიზე) და (-) ტერმინალი მზის პანელიდან ერთ მიწაზე ტერმინალები ლოგერზე.

ეს პარამეტრი საშუალებას აძლევს ჩაშენებული ძაბვის რეგულატორს პრო-მინი დაფაზე დაარეგულიროს ძაბვა, რომელიც მოდის როგორც მზის პანელიდან, ასევე ბატარეიდან. ახლა … მე ვიტყვი, რომ ეს არ არის იდეალური კომპლექტი NiMh ბატარეების დასატენად (რთულია თუნდაც სრულყოფილ პირობებში). თუმცა, მზის პანელები გამოვიყენეთ დაახლოებით 150mA სრული მზის პირობებში, რაც შეესაბამება დაახლოებით 0.06 C (C = ბატარეის ტევადობა), რაც ჩვენთვის დამტკიცებულია, რომ არის მარტივი, უსაფრთხო და საიმედო დატენვის მეთოდი ჩვენი მჭრელებისთვის. ჩვენ გვყავს ისინი ამ გზით გაშვებული სფეროში ერთ წლამდე კოლორადოში. თუმცა, გთხოვთ იხილოთ პასუხისმგებლობის უარყოფა - ჩვენს ხეებს აქვთ აბსოლუტურად არანაირი გარანტია ან გარანტია. ნებისმიერ დროს, როდესაც თქვენ იყენებთ ბატარეებს ან მზის პანელებს მინდორში, თქვენ რისკავთ ცეცხლის დაწყებას. Ფრთხილად იყავი. გამოიყენეთ ეს დიზაინი თქვენი რისკის ქვეშ!

შეინახეთ მონაცემების ჩამწერი და ბატარეის პაკეტი ამინდის დამცავი ყუთში (სურ. 13).

ნაბიჯი 14: ენერგიის დაზოგვა

ჩვენ ხშირად ვთიშავთ დენის შუქდიოდებს როგორც პრო-მინი, ასევე მონაცემთა ჩამწერი დაფებიდან. ამ LED- ების კვალი შეიძლება საგულდაგულოდ გაჭრა razor blade (იხილეთ ბმული ქვემოთ). თითოეული LED მოიხმარს დაახლოებით 2.5mA დენს 5V- ზე (ქვემოთ მოყვანილი ბმული). თუმცა, მრავალი პროგრამისთვის ენერგიის დაკარგვის ეს რაოდენობა უმნიშვნელო იქნება და მკვლევარს შეუძლია უბრალოდ დატოვოს ელექტროენერგიის LED- ები ისე, როგორც არის.

www.instructables.com/id/Arduino-low-Proje…

ჩვენ ასევე ვაწარმოებთ ბიბლიოთეკას "LowPower.h" ("rocketscream"; ქვემოთ მოცემული ბმული), რომლის გამოყენება ძალიან ადვილია და მნიშვნელოვნად ამცირებს ენერგიის მოხმარებას შესვლის ინტერვალებს შორის.

github.com/rocketscream/Low-Power

დენის LED- ების ამოღების შემდეგ პრო-მინიდან და მონაცემების ჟურნალიდან და LowPower.h ბიბლიოთეკის გაშვების შემდეგ (იხილეთ 'კოდი' ქვემოთ), ლოგერი მოიხმარს დაახლ. ძილის დროს 1 mA დენი 5 ვ -ზე. სამი I2C სენსორის ერთდროულად გაშვებით, ძილის რეჟიმში (შერჩევის გამეორებებს შორის) ლოგერი მოიხმარს დაახლოებით 4.5mA 5V- ზე და დაახლოებით 80mA შერჩევისას. თუმცა, იმის გამო, რომ შერჩევა ხდება ძალიან სწრაფად და საკმაოდ იშვიათად, 80mA მიმდინარე გათამაშება არ უწყობს ხელს ბატარეის დაცლას.

მზის ენერგიის დაზოგვისას მეტი ენერგიის დაზოგვა შესაძლებელია (+) ბატარეის ტერმინალის პირდაპირ LCC- ის ლოგერთან დაკავშირებით. თუმცა, უშუალოდ VCC– თან დაკავშირება და არა RAW პინი, თავს არიდებს ბორტზე ძაბვის მარეგულირებელს, ხოლო სენსორების დენი არ იქნება ისეთივე მუდმივი, როგორც ეს იქნებოდა მარეგულირებლის მეშვეობით. მაგალითად, ძაბვა მცირდება, რადგან ბატარეა იწურება დღეების და კვირის განმავლობაში, და ხშირ შემთხვევაში, ეს გამოიწვევს სენსორული მაჩვენებლების მნიშვნელოვან ცვალებადობას (იმის მიხედვით, თუ რა სენსორებს იყენებთ). არ დაუკავშიროთ მზის პანელი პირდაპირ VCC– ს.

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

ჩვენ ჩავრთეთ ორი მონახაზი მონაცემთა დამგროვებლის გასაშვებად სამი I2C ნიადაგის ტენიანობის სენსორით. პირველი ესკიზი 'logger_sketch' იქნება აღებული თითოეული სენსორიდან და შეყვანის ტევადობის და ტემპერატურის მონაცემებს sd ბარათში ყოველ 30 წუთში (მაგრამ ის ადვილად შეიცვლება მომხმარებლის მიერ). მეორე ესკიზი 'ChangeSoilMoistureSensorI2CAddress' საშუალებას მისცემს მომხმარებელს მიანიჭოს სხვადასხვა I2C მისამართი თითოეულ სენსორს, რათა მათ ერთდროულად გამოიყენონ მონაცემთა შემქმნელმა. მისამართები 'logger_sketch' - ში შეიძლება შეიცვალოს 25, 26 და 27 სტრიქონებში. სენსორის გასაშვებად საჭირო ბიბლიოთეკები შეგიძლიათ იხილოთ Github– ზე.

გირჩევთ: