Სარჩევი:

არდუინო ციცინათელები: 11 ნაბიჯი (სურათებით)
არდუინო ციცინათელები: 11 ნაბიჯი (სურათებით)

ვიდეო: არდუინო ციცინათელები: 11 ნაბიჯი (სურათებით)

ვიდეო: არდუინო ციცინათელები: 11 ნაბიჯი (სურათებით)
ვიდეო: წიგნი ჩემი პირველი არდუმიკრონის წრეა 2024, ნოემბერი
Anonim
Image
Image
რაც დაგჭირდებათ
რაც დაგჭირდებათ

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

ნაბიჯი 1: რა დაგჭირდებათ

რაც დაგჭირდებათ
რაც დაგჭირდებათ

შეცდომების მოციმციმედ დაგჭირდებათ ეს კომპონენტები:

  • არდუინო. დავიწყე ნანოთი, თუმცა ნებისმიერი Arduino თავსებადი მიკროკონტროლი გააკეთებს.
  • ყვითელი ები, 5 მმ. თქვენ შეგიძლიათ გამოიყენოთ 6 -მდე მათგანი.
  • რეზისტორები. დენის შეზღუდვისთვის დაგჭირდებათ ერთი რეზისტორი თითო LED- ზე. მე გამოვიყენე 470 ოჰმა, მაგრამ 150 ოჰზე ზემოთ ყველაფერი კარგი უნდა იყოს თქვენი მიკრო კონტროლერის დასაცავად.
  • პურის დაფა.
  • ჯუმბერის მავთული.

თქვენი ეზოს პროექტის დასასრულებლად დაგჭირდებათ:

  • ამინდის დამცავი პროექტის ყუთი.
  • 9 ვოლტიანი ბატარეა კონექტორით. (გთხოვთ იხილოთ შენიშვნები ამ განყოფილების ბოლოში.)
  • გადართვა. (მე ავირჩიე ეს წყალგაუმტარი ჩამრთველები. თუ ამას გარედან არ იყენებთ, ნებისმიერი გადამრთველი გააკეთებს.)
  • რამდენიმე იარდი მავთული, რომ განათავსოთ LED- ები ბაღის გარშემო. მე გამოვიყენე დაახლოებით 10 ფუტი Cat5 Ethernet მავთული თითო LED- ზე.
  • პატარა პურის დაფა ან რაიმე პერფ დაფა.
  • ამინდის მტკიცებულება საკაბელო ჯირკვალი, რომლის მეშვეობითაც LED მავთულები გადის. (თქვენ შეგიძლიათ გამოტოვოთ ეს, თუ ამას გარედან არ იყენებთ.)
  • სითბოს შემცირება მილები დაიცვას თქვენი LED bug კონდახები.
  • მწვანე კაკვისა და მარყუჟის (მაგ. ველკრო) ზოლები, რათა LED ციცინათელები მიამაგროთ თქვენს ბაღში არსებულ მცენარეებსა და სვეტებზე.
  • მამრობითი სათაურები კომპონენტების ჩასართავად თქვენს პატარა დაფაზე.

ინსტრუმენტები:

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

რამდენიმე შენიშვნა აქ:

1. ბატარეის არჩევანი იყო სწრაფი და მარტივი გაშვებისთვის. 9 ვოლტიანი ბატარეის მუდმივად გამოყენება ცოტა ფუჭია. უმჯობესია გამოიყენოთ 4x AA ბატარეის დამჭერი უფრო დიდი ხნის განმავლობაში (თუმცა თქვენ დაგჭირდებათ უფრო დიდი პროექტის ყუთი, რომელშიც მოათავსებთ მას).

2. თუ თქვენ აირჩევთ Cat 5 Ethernet კაბელის მავთულხლართების დაშლას, დარწმუნდით, რომ ისინი სპილენძის ბირთვია და ლამაზად გადაახვიეთ ისინი PVC– ში, რათა ისინი ორგანიზებული იყოს მუშაობის დროს. ერთხელ, მე გამოვიყენე დაახლოებით 10 ფუტი მავთული თითო LED- ზე. თუ გსურთ შუქების შორს გაშლა, აუცილებლად გამოიყენეთ უფრო გრძელი მავთულები!

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

ნაბიჯი 2: შექმენით წრე

ააშენეთ წრე
ააშენეთ წრე
ააშენეთ წრე
ააშენეთ წრე
ააშენეთ წრე
ააშენეთ წრე

ეს პროექტი იყენებს პულსის სიგანის მოდულაციის ქინძისთავებს თქვენს არდუინოზე. მიკროკონტროლერს აქვს 6 ქინძისთავი და შეგიძლიათ გამოიყენოთ რამდენიც გსურთ. წრე საკმაოდ სწორია წინ. მავთულის მთელი ძალა პულსის სიგანის მოდულაციის (PWM) ქინძისთავებიდან D3, D5, D6, D9, D10 და D11 თქვენი LED- ების პოზიტიურ ბოლოებამდე. შეაერთეთ უარყოფითი ბოლოები რეზისტორებთან და შემდეგ საერთო ადგილზე. (რეზისტორებს შეუძლიათ LED- ს წინ ან უკან. არ აქვს მნიშვნელობა, თუ არ გსურთ მოკლე დინებებისგან თავის დაცვა მაღალი დენებისაგან). (დიაგრამები შეიქმნა Fritzing დიზაინის პროგრამული უზრუნველყოფის გამოყენებით.)

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

Image
Image

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

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

/*

ეს სკრიპტი ანათებს 6 LED (რა თქმა უნდა, ყვითელს) შემთხვევითი თანმიმდევრობით შემთხვევითი ინტერვალებით PWM გამოყენებით. თითოეული LED კონტროლდება საკუთარი ფუნქციით. */ int led1 = 3; // LED დაკავშირებული PWM pin 3 და ა.შ. მე გამოვიყენე ყველა 6 PWM ქინძისთავები. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; გრძელი რანდუმი; // რანდუმი აკონტროლებს ციმციმებსა და ხანგრძლივ რენდბუგს შორის დროის ინტერვალს; // randbug აკონტროლებს რომელი ხარვეზი ანათებს. void setup () {pinMode (led1, OUTPUT); // ყველა PWM ქინძისთავის დაყენება გამოსავლებად. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = შემთხვევითი (3, 12); // randbug შემთხვევით ირჩევს შესასრულებელ ფუნქციას, // ამრიგად შემთხვევით ირჩევს შეცდომას, რომ აანთოს. if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * თითოეული ეს ფუნქცია მუშაობს ერთნაირად. 'მარყუჟებისათვის' იზრდება, შემდეგ მცირდება * ამ პინის გამომუშავება LED სიკაშკაშის გასაკონტროლებლად. * 'randnum' არის შემთხვევითი დროის ინტერვალი 10 -დან 3000 ms * -მდე და ირჩევს დროის ინტერვალს შეცდომების ციმციმებს შორის. * 'შეფერხება 10' მხოლოდ ქრებოდა ეფექტისთვის. */ void bug1 () {randnum = შემთხვევითი (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); დაგვიანება (10); } დაყოვნება (რანდუმი); } void bug2 () {randnum = შემთხვევითი (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); დაგვიანება (10); } დაყოვნება (რანდუმი); } void bug3 () {randnum = შემთხვევითი (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); დაგვიანება (10); } დაყოვნება (რანდუმი); } void bug4 () {randnum = შემთხვევითი (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); დაგვიანება (10); } დაყოვნება (რანდუმი); } void bug5 () {randnum = შემთხვევითი (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); დაგვიანება (10); } დაყოვნება (რანდუმი); } void bug6 () {randnum = შემთხვევითი (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); დაგვიანება (10); } დაყოვნება (რანდუმი); }

ნაბიჯი 4: შექმენით ყუთი

ბაგების მშენებლობა!
ბაგების მშენებლობა!

მას შემდეგ რაც თქვენი არდუინო კოდით ააფეთქეთ და თქვენი ციცინათელები იმუშავებენ ისე, როგორც მოგწონთ, შეიძლება დაგჭირდეთ მათი ბაღში განთავსება; ეს ნიშნავს პროექტის ყუთს და სითბოს შემცირებას არდუინოსა და LED- ების სიმშრალის შესანარჩუნებლად. Მოდი გავაკეთოთ!

ნაბიჯი 5: ააშენეთ შეცდომების კონდახი

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

ნაბიჯი 6: მოამზადეთ პროექტის ყუთი

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

შენიშვნა: ზემოთ მოცემულ ფოტოში თქვენ ნახავთ, რომ მე გავაკეთე "დუმილი კაბელი". ეს არის 6 წყვილი მავთულის პაკეტი, რომელიც მე გამოვიყენე LED- ებისთვის სითბოს შესამცირებლად, რათა მათ ერთმანეთთან ერთად გამომეყენებინა. მე მას ვიყენებდი იმისთვის, რომ დავრწმუნებულიყავი, რომ საკაბელო ჯირკვალი მშვენივრად მოერგებოდა საკაბელო მტევანს და ასევე შევამოწმე ყუთის წყალგამძლეობა მას შემდეგ რაც გადამრთველი, საკაბელო ჯირკვალი და სახურავი იყო ჩართული. (24 საათის განმავლობაში წყალში ჩაძირვის შემდეგ, მას ძალიან მცირე ტენიანობა ჰქონდა. სიამოვნებით დავარქმევდი ამ ყუთს "ამინდისადმი მდგრადი".)

ნაბიჯი 7: მოიტანე ძალა

მოიყვანე ძალა!
მოიყვანე ძალა!
მოიყვანე ძალა!
მოიყვანე ძალა!
  • განსაზღვრეთ რამდენი ბატარეა და გადამრთველი გჭირდებათ თქვენი Arduino– ს მისაღწევად, პროექტის ყუთში უხეშად მოთავსებით სამივე კომპონენტი. მორთეთ გადამრთველის მავთულები და 9 ვ ბატარეის კონექტორი. გაწურეთ და მოაყარეთ ბოლოები. გადაიტანეთ სითბოს შემცირება ადგილზე შემდეგი ნაბიჯისათვის.
  • მოაცილეთ ორი მამრობითი სათაურის ქინძისთავი თქვენი ზოლიდან (ოღონდ შეინახეთ ერთმანეთთან ერთად).
  • შეაერთეთ 9 ვ ბატარეის კონექტორის წითელი გამყვანი გადამრთველის ერთ ბოლოზე. შეაერთეთ გადამრთველის მეორე ბოლო მამაკაცის სათაურის პინზე. შეაერთეთ შავი აკუმულატორი სხვა მამრობითი სათაურის პინზე.
  • როგორც ზემოთ დიაგრამაზეა ნაჩვენები, სათაურის ქინძისთავები შევა პურის დაფაზე ნანოს ჩართვისთვის VIN (დადებითი) და GND (უარყოფითი). VIN პინს შეუძლია გაუმკლავდეს 7 -დან 12 ვოლტს. თუ თქვენ გეგმავთ თქვენი Arduino– ს ენერგიას სხვაგვარად, ვიდრე 9 ვ ბატარეა, გამოიყენეთ სხვა კვების ბლოკი.

ნაბიჯი 8: საჭიროების შემთხვევაში შეცვალეთ ნანო

საჭიროების შემთხვევაში შეცვალეთ ნანო
საჭიროების შემთხვევაში შეცვალეთ ნანო

ვინაიდან ჩემი პროექტის ყუთი საკმაოდ ზედაპირული იყო, ICSP– ის სათაურის ქინძისთავების ამოღება მჭირდებოდა. ეს ქინძისთავები მეორადი ინტერფეისია თქვენს არდუინოსთან. მათი ამოღება არ დააზიანებს თქვენს ნანოს, რადგან თქვენ ყოველთვის შეგიძლიათ სკრიპტების ჩატვირთვა USB პორტის საშუალებით.

შენიშვნა: თუ თქვენი ნანო საჭიროებს სათაურის ქინძისთავებს გასაკინძებლად, უბრალოდ გამოტოვეთ ეს ქინძისთავები თქვენი არდუინოს აწყობისას.

ნაბიჯი 9: მავთული შიგნით

Image
Image
მავთული შიგნით
მავთული შიგნით
მავთული შიგნით
მავთული შიგნით
  • მიამაგრეთ საკაბელო ჯირკვლის პორტი პროექტის ყუთში იმ ხვრელში, რომლისთვისაც თქვენ გაბურღეთ. თუ თქვენ დაბნეული ხართ, თუ როგორ გამოიყენოთ საკაბელო ჯირკვალი, ეს ვიდეო, რომელიც მე ვიპოვე YouTube– ზე, აჩვენებს ერთის აწყობას. (სწრაფად 0:57 საათამდე.) თქვენსას შეიძლება ჰქონდეს რეზინის სარეცხი მანქანა. ეს მიდის საპროექტო ყუთსა და საკაბელო ჯირკვლის გარე თხილს შორის.
  • შეაგროვეთ LED მავთულის ფხვიერი ბოლოები. ეს დრო დაუთმეთ მათ თანაბარ სიგრძეზე, გაწურეთ და ბოლოები მოაკარით. შესანახი ბოლოები საკაბელო ჯირკვლის თავსახურით და გამოიყენეთ ნაჭერი სითბოს შესამცირებლად, რათა ბოლოები ერთმანეთზე დაიხუროს, დატოვეთ საკმარისი სიგრძე, რათა მიაღწიოთ პურის დაფას ყუთის შიგნით.
  • მიაწოდეთ მავთულები საკაბელო ჯირკვლის პორტში პროექტის ყუთში და გადაახვიეთ ჯირკვლის თავსახური, რათა მავთულები დაიხუროს ადგილზე, სასურველია სითბოს შემცირების გარშემო, რომელსაც ისინი ერთად აწყობდით.
  • მიწიერი მავთულები გამოყავით პოზიტიური მავთულისგან (დაიმახსოვრეთ რომელი აირჩიე ადრე). შეაერთეთ ყველა მიწის მავთული ერთ საერთო ადგილზე. მიამაგრეთ მოკლე მავთული ამ მტევანიდან და დაასრულეთ 1 მამრობითი სათაურით. გამოიყენეთ სითბოს შემცირება თქვენი შიშველი შედუღების სახსრების დასაცავად.
  • თითოეული პოზიტიური მავთულის ბოლოებზე შეაერთეთ მამრობითი სათაურები. კვლავ გამოიყენეთ სითბოს შემცირება.
  • ჩასვით პოზიტიური ბოლო მამრობითი სათაურები პურის დაფაზე, რათა დაუკავშირდეთ PWM ქინძისთავებს Arduino– ზე.
  • ჩადეთ საერთო საფუძველი პურის დაფაში ისე, რომ ის გაივლის მიმდინარე შემზღუდველ რეზისტორს და შემდეგ GND- ს არდუინოზე.
  • მოათავსეთ ბატარეაში და მოათავსეთ გადამრთველი იმ ხვრელში, რომელიც ადრე გახვრიტეს. მოათავსეთ რეზინის გამრეცხი პროექტის ყუთსა და ხრახნიან სახურავს შორის. შეაერთეთ კვების ბლოკი პურის დაფაზე.
  • მიამაგრეთ ან დააფარეთ სახურავი ყუთზე. Მზად ხარ!

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

ნაბიჯი 10: გამოიყენეთ იგი

Გამოიყენე
Გამოიყენე

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

ნაბიჯი 11: შემდგომი…

როგორც უკვე აღვნიშნეთ, ეს არის ამ პროექტის ადრეული ვერსია, მაგრამ სავსეა ამდენი პოტენციალით! გაუშვით მეტი LED- ები ცვლის რეგისტრატორის ჩართვით (იხილეთ JColvin91– ის ეს ინსტრუქცია იმის გასაგებად, თუ როგორ.) დაამატეთ სინათლის სენსორი, მზის დამტენი და ტაიმერი „დააყენეთ და დაივიწყეთ“ფუნქციისთვის! შეურიეთ კოდს, რომ დაამატოთ თქვენივე სროლა შეცდომებზე. გაუზიარე რასაც აკეთებ და ისიამოვნე !!

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

წადი. Გააკეთოს!!!

გირჩევთ: