Სარჩევი:

მსუბუქი კონტროლირებადი სტეპერიანი ძრავა + კედლის ფრჩხილი/სადგამი: 6 ნაბიჯი
მსუბუქი კონტროლირებადი სტეპერიანი ძრავა + კედლის ფრჩხილი/სადგამი: 6 ნაბიჯი

ვიდეო: მსუბუქი კონტროლირებადი სტეპერიანი ძრავა + კედლის ფრჩხილი/სადგამი: 6 ნაბიჯი

ვიდეო: მსუბუქი კონტროლირებადი სტეპერიანი ძრავა + კედლის ფრჩხილი/სადგამი: 6 ნაბიჯი
ვიდეო: საქართველოს თავდაცვის ძალები ახალი M249 ტიპის მსუბუქი ტყვიამფრქვევებით აღიჭურვა 2024, ივლისი
Anonim
მსუბუქი კონტროლირებადი სტეპერიანი ძრავა + კედლის ფრჩხილი/სადგამი
მსუბუქი კონტროლირებადი სტეპერიანი ძრავა + კედლის ფრჩხილი/სადგამი

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

ნაბიჯი 1: ინგრედიენტები

ამ პროექტის დასაწყებად დაგჭირდებათ;

- 2 Arduino ჩიპ-კომპლექტი- Arduino საავტომობილო ფარი- Arduino LCD ეკრანი- 1 პური დაფა- 1 ორპოლარული სტეპერიანი ძრავა- 1 D ბატარეა- 1 სინათლისგან დამოუკიდებელი რეზისტორი- 1 10k Ω Resistor- 10 მამრობითი სქესის მავთულები- 6 მამაკაცი- ქალი მავთულები- 3D პრინტერზე წვდომა

ნაბიჯი 2: არდუინოს მშენებლობა

არდუინოს მშენებლობა
არდუინოს მშენებლობა

ჯერ გააფორმეთ საავტომობილო ფარი არდუინოს ქინძისთავებით და მას შემდეგ რაც ისინი გაფორმდებიან, მტკიცედ დადეთ ქვემოთ. შემდეგ მიამაგრეთ სტეპერიანი ძრავის სადენები საავტომობილო ფარის 8, 9, 10 და 11 -ში. ამის შემდეგ შეაერთეთ D ბატარეა სლოტებში, როგორც ნაჩვენებია დიაგრამაში. შემდეგი თქვენ მოისურვებთ 6 მავთულის (მამაკაცის ქალი) LCD ეკრანი და შეაერთეთ ისინი Arduino– ს სხვა ერთეულში, როგორც ეს ნაჩვენებია წრიულ დიაგრამაში. შემდეგ დააყენეთ LDR, როგორც ზემოთ ნაჩვენებია, რეზისტორი კი უარყოფით რიგს აკავშირებს. LDR- ის დამატებისას, რეზისტორის გვერდით, დაამატეთ A0 კავშირები და მოპირდაპირე მხარეს, დაამატეთ 1 5V შეყვანა თითოეულ დაფაზე, რომელსაც თქვენ იყენებთ, ასე რომ, თუ თქვენ იყენებთ 2 დაფას, თქვენ გინდათ თითოეულ მათგანს ჰქონდეს 5V და A0 pin LDR– ზე გადასასვლელად.

შეაერთეთ ყველა მავთული ისე, როგორც დიაგრამა- 2 შეყვანა LDR– ზე- 2 გამოსავალი LDR– დან და მიწასთან დამაკავშირებელი რეზისტორი- 8 მავთული LCD– ზე, 1 5V, 1 Ground და 6 შესასვლელი- 4 მავთული სტეპერი- 2 კავშირი ბატარეასთან- დაფის დაფა უნდა იყოს დაკავშირებული

ნაბიჯი 3: კოდირება Arduino

კოდირება არდუინო
კოდირება არდუინო

აქ არის რამოდენიმე კოდის ნიმუში, რომ შეცვალოთ მექანიზმის სტატუსი LDR- ის საფუძველზე

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

#defineLDRA0 // განსაზღვრავს ცვლადს "LDR" A0 pin#include// მოყვება სტეპერიანი ძრავის კოდი

constintstepsPerRevolution = 200; // როდესაც სტეპერიანი ძრავა გააქტიურებულია, მისი სრული ბრუნვა უდრის 200 საფეხურს

SteppermyStepper (ნაბიჯები PerRevolution, 8, 9, 10, 11); // განსაზღვრავს სტეპერის შეყვანას, როგორც ქინძისთავები 8, 9, 10, 11

voidsetup () {myStepper.setSpeed (60); // ადგენს რამდენად სწრაფად აკეთებს ძრავა rotationpinMode (LDR, INPUT); // განსაზღვრავს ცვლადს "LDR" როგორც შეყვანის Serial.begin (9600); // იწყებს სერიულ კითხვას }

voidloop () {intlightlevel = analogRead (LDR); // განსაზღვრავს ცვლადს "lightlevel", როგორც მოქმედებას, რომელიც კითხულობს მნიშვნელობას "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // ბეჭდავს "მსუბუქი დონის" მნიშვნელობას ზემოთ წარწერით

/* ახლა არის მარყუჟი, რომელიც ადგენს სინათლის დონეს ყოველ წერტილში* 3 ვარიანტი არის შესაძლებელი, ახვიდე, ჩამოდი ქვემოთ, დარჩი იმავე პოზიციაზე* ის შექმნილია ისე, რომ თუ სინათლის დონე იგივე დარჩება, ის იქნება იყავი იგივე, თუ არა ის შეიცვლება * ანუ თუ არის 950, მაშინ მიდის 952 – ზე, არაფერი მოხდება, თუმცა თუ ის 950 – დან 600 – მდე გადადიოდა, ფარდას მაღლა აწევდა და პირიქით * ყოველი ნაბიჯი აღინიშნება წერილით საფეხურის წინ თვალყური ადევნეთ სად არის მარყუჟში სერიული მონიტორის საშუალებით */

if (lightlevel> = 900) {Serial.println ("A"); // რომელი საფეხურია ის loopmyStepper.step (3*stepsPerRevolution); // სტეპერი აკეთებს 3 წინ გადატრიალებას. თუ ის უარყოფითია, ის უკან იხევს (30000); // ტოვებს იქ 5 წუთის განმავლობაში intlightlevel = analogRead (LDR); // განსაზღვრავს ცვალებად "lightlevel" - ს, როგორც უახლეს კითხვას LDRSerial.print ("სინათლის დონე:"); // ბეჭდავს ტექსტს ცვლადის წინ Serial.println (lightlevel) // ბეჭდავს სინათლის დონის მნიშვნელობას

if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); დაგვიანებით (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (მსუბუქი დონის);

if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); დაგვიანებით (500); intlightlevel = analogRead (LDR); Serial.print ("სინათლის დონე:"); Serial.println (მსუბუქი დონე);}

else {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); დაგვიანებით (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

else {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); დაგვიანებით (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); დაგვიანებით (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (მსუბუქი დონე);}

else {Serial.println ("G"); myStepper.step (0); დაგვიანებით (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

}

else {Serial.println ("H"); myStepper.step (0); დაგვიანებით (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3*stepsPerRevolution); დაგვიანებით (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); სერიული.println (მსუბუქი დონე);

if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); შეფერხება (500); intlightlevel = analogRead (LDR); Serial.print ("სინათლის დონე:"); Serial.println (მსუბუქი დონე);}

else {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); დაგვიანებით (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

else {Serial.println ("L"); myStepper.step (0); დაგვიანებით (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); დაგვიანებით (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (მსუბუქი დონე);}

else {Serial.println ("N"); myStepper.step (0); დაგვიანებით (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

}

}

ნაბიჯი 4: სურვილისამებრ: LCD ეკრანი

ეს დაბეჭდავს LDR- ით დადგენილ სინათლის დონეს LCD ეკრანზე.

#ჩართეთ

  • // ამატებს თხევადი კრისტალების ბიბლიოთეკას დამატებითი კოდით#განსაზღვრეთ ldr A0 // განსაზღვრავს ცვლადს "ldr" A0 პინზე

    LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // ბიბლიოთეკის ინიციალიზაცია ინტერფეისის ქინძისთავების ნომრებით

    voidsetup () {// კოდი, რომელიც გადის ერთხელ startlcd.begin (16, 2); // დააყენეთ LCD სვეტებისა და ხაზების რაოდენობა შესაბამისადpinMode (ldr, INPUT); // განსაზღვრავს ldr როგორც შეყვანის pinSerial.begin (9600); // იწყებს კომუნიკაციას სერიულ მონიტორთან

    }

    voidloop () {// კოდი, რომელიც განმეორებით განმეორდებაSerial.println (analogRead (ldr)); // ბეჭდავს წაკითხვის ldr იღებს (რიცხვი 0-1023) სერიულ monitorlcd.setCursor (6, 0); // დააყენეთ კურსორი სვეტზე 6, სტრიქონი 0lcd.print (analogRead (ldr)); // ბეჭდავს ამ კითხვას LCD ეკრანზე (1000); // აყოვნებს მომდევნო ბრძანებას ერთი წამით

    }

    ნაბიჯი 5: ნაბეჭდი ნაწილები

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

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

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

    ნაბიჯი 6: განთავსება

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

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

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

    გილოცავთ!

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

    თქვენ დაასრულეთ. ისიამოვნეთ თქვენი ახალი ქმნილებით.

გირჩევთ: