Სარჩევი:
- ნაბიჯი 1: ააშენეთ IR მიმღების წრე
- ნაბიჯი 2: შეაერთეთ სერვო, სვეტი და ტელეფონის დამჭერი
- ნაბიჯი 3: შეაერთეთ LCD ეკრანი Servo Readout– ისთვის
- ნაბიჯი 4: გამოიყენეთ კოდი და ბიბლიოთეკები, რომლებიც თან ერთვის არდუინოს პროგრამას
- ნაბიჯი 5: შეაერთეთ სასურველი კვების წყარო Arduino– სთან და გამოიყენეთ დისტანციური მთა როტაციისთვის
- ნაბიჯი 6: წაიკითხეთ ეს წყაროს კოდის ახსნისთვის
- ნაბიჯი 7: ნახეთ ჩემი Youtube ვიდეო დახმარებისთვის
ვიდეო: ტელეფონის მბრუნავი მთა: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ეს ინსტრუქცია შეიქმნა სამხრეთ ფლორიდის უნივერსიტეტის მაკიაჟის პროექტის მოთხოვნების შესასრულებლად (www.makecourse.com).
გსურთ გააკეთოთ ტელეფონის მბრუნავი სამონტაჟო, ასე რომ თქვენ შეგიძლიათ ნახოთ თქვენი ტელეფონის შინაარსი პორტრეტულ ან ლანდშაფტურ ორიენტაციაში, მისი შეკავების გარეშე? მაშინ, აღარ შეხედო.
ამ პროექტის შესაქმნელად დაგჭირდებათ:
- Arduino მიკროკონტროლი და IDE
- USB კაბელი კოდის ასატვირთად
- პურის დაფა
- მხტუნავ მავთულხლართებს
- LCD ეკრანი
- სერვო
- სვეტი, რომელსაც შეუძლია სერვოზე მიმაგრება
- IR დისტანციური
- IR მიმღები
- 10k ohm რეზისტორი
- კენუს საჰაერო ჩარჩო+ ტელეფონის კლიპი (ან რამე ტელეფონის დასაკავებლად)
- 9 ვ ბატარეა პორტატული სიმძლავრისთვის ან უბრალოდ USB- ით აღჭურვილი Arduino
ნაბიჯი 1: ააშენეთ IR მიმღების წრე
პირველი, გადახვიდეთ GND და +5V არდუინოდან დენის რელსებზე თქვენს დაფაზე. შემდეგ გადადით თქვენი 10k ohm რეზისტორი +5V დენის სარკინიგზოდან თქვენი IR მიმღების ფოტოტრანსისტორის გამომავალ პინზე. შემდეგი, გამოიყენეთ ჯუმბერის მავთული, რომ დაუკავშიროთ Arduino– ს პინ 11 – ს IR მიმღების გამომავალი პინიდან. შემდეგ, გამოიყენეთ ორი ჯუმბერის მავთული, რომ გააგზავნოთ მიწა და +5V IR მიმღების შესაბამის ქინძისთავებზე. RC ფილტრი, რომელიც გამოსახულია ზემოთ სქემატურად, არ არის აუცილებელი. და ბოლოს, მე არ შევადგინე ამ ნაბიჯში ნაჩვენები სქემა, და ამის წყარო მოცემულია სურათზე.
ნაბიჯი 2: შეაერთეთ სერვო, სვეტი და ტელეფონის დამჭერი
ახლა გამოიყენეთ ორი მხტუნავი მავთული მიწიდან გადასასვლელად და +5V პურის დაფის რელსები სერვოს ყავისფერ და წითელ მავთულებში, შესაბამისად. შემდეგ, გამოიყენეთ ერთი ჯუმბერის მავთული, რომ მიამაგროთ პინ 9 არდუინოზე სერვოს ნარინჯისფერ მავთულზე.
შემდეგ, მიამაგრეთ სვეტი სერვოს თავზე, როგორც ნაჩვენებია მეორე სურათზე.
დაბოლოს, მიამაგრეთ რამე ტელეფონის დასაკავებლად სვეტზე, როგორიცაა Kenu Airframe+, როგორც ეს ნაჩვენებია მესამე სურათზე.
ნაბიჯი 3: შეაერთეთ LCD ეკრანი Servo Readout– ისთვის
გადახტომა ადგილზე და +5V თქვენი breadboard დენის რელსებიდან შესაბამის ეკრანზე LCD ეკრანზე. ასევე, გადადით SDA და SCL ქინძისთავები LCD– დან Ardiuno– ზე. Arduino– ს SDA და SCL ქინძისთავები შეიძლება განისაზღვროს Arduino დაფის უკნიდან და არის ორი PIN ზემოთ AREF და Ground ზემოთ PIN 13. SCL pin არის ყველაზე მაღალი. ეს საშუალებას აძლევს LCD ეკრანს წაიკითხოს მიმდინარე სერვო პოზიცია.
ნაბიჯი 4: გამოიყენეთ კოდი და ბიბლიოთეკები, რომლებიც თან ერთვის არდუინოს პროგრამას
ჩამოტვირთეთ RotatingMountCode.zip ფაილი. დააინსტალირეთ Arduino IDE და გადმოტვირთეთ გადმოწერილი ფაილი Documents / Arduino– ში. დარწმუნდით, რომ დააკოპირეთ ჩემი ჩანახატების და ბიბლიოთეკების საქაღალდის ესკიზები და ბიბლიოთეკების საქაღალდეში. გახსენით ServoIRandLCD ესკიზი და ატვირთეთ თქვენს არდუინოში.
იხილეთ კოდის ახსნის შემდგომი ნაბიჯები.
ნაბიჯი 5: შეაერთეთ სასურველი კვების წყარო Arduino– სთან და გამოიყენეთ დისტანციური მთა როტაციისთვის
ან დატოვეთ Arduino ჩართული თქვენს კომპიუტერში, ან გამორთეთ კომპიუტერიდან და გამოიყენეთ 9 ვ ბატარეა, რომ უზრუნველყოთ DC ენერგია Arduino– სთვის. დაბოლოს, გამოიყენეთ იაფი IR დისტანციური მართვა, რათა გააკონტროლოთ სერვო და, შესაბამისად, ტელეფონის დამონტაჟების ორიენტაცია!
დისტანციური მართვის პუნქტზე ნომერმა 1 უნდა დააყენოს სერვო პოზიცია 0 გრადუსზე, რიცხვი 2 -დან 90 გრადუსზე და რიცხვი 3 -დან 180 გრადუსზე. იმავდროულად, დისტანციური მართვის ღილაკზე + და - უნდა გაიზარდოს ან შემცირდეს სერვოს კუთხე, შესაბამისად, 1 გრადუსით.
შენიშვნა: თუ თქვენ იყენებთ სხვა IR დისტანციურს, ვიდრე აქ გამოსახული, შესაძლებელია შეიცვალოს სხვადასხვა ღილაკების შესაბამისი IR კოდები. თუ ასეა, შეცვალეთ ServoIRandLCD ესკიზი, რომ გამოიყენოთ ნაცვლად ეს IR კოდები.
ნაბიჯი 6: წაიკითხეთ ეს წყაროს კოდის ახსნისთვის
Arduino ესკიზის საწყისი კოდი შეგიძლიათ იხილოთ ქვემოთ ან ადრე მიმაგრებულ.zip ფაილში. საჭირო ბიბლიოთეკები შეგიძლიათ იხილოთ მხოლოდ ადრე მიმაგრებულ.zip ფაილში, ნაბიჯი 4.
პირველი რასაც კოდი აკეთებს მოიცავს საჭირო ბიბლიოთეკებს, რომლებიც საჭიროა ესკიზის ყველა ფუნქციის გასაშვებად. შემდეგი, ის აცხადებს Arduino– ს პინ 9 – ს, როგორც სერვოს PWM ჩართული სიგნალის პინს. იგი ასევე ამზადებს 11 პუნქტს არდუინოზე, რომელიც გამოიყენება IR მიმღებისთვის. შემდეგი, ის აცხადებს მთელ ცვლადს, რომელიც გამოიყენება სერვოს პოზიციის თვალყურის დევნება გრადუსებში და ადგენს მას 0 გრადუსზე, თავდაპირველად. შემდეგ, ის მყისიერად ასახავს საჭირო ობიექტებს IRrecv ობიექტისთვის, servo ობიექტისთვის და myDisplay LCD ობიექტისთვის (რომელიც ასევე კონფიგურირებულია იმავე ხაზში), რათა შემდგომში ეს ობიექტები გამოვიყენოთ.
შემდეგი, კონფიგურაციის ფუნქციაში, სერიული პორტი იწყება 9600 ბიტი/წმ სიჩქარით, ასე რომ სერიული მონიტორი შეიძლება გამოყენებულ იქნას სერვოის პოზიციის თვალყურის დევნების შემთხვევაში. იგი ასევე მიამაგრებს myservo ობიექტს პინ 9 -ზე, იწყებს IR მიმღებს და ახდენს LCD ეკრანის ინიციალიზაციას.
მთავარი მარყუჟის ფუნქციაში, რომლის სხეულიც მხოლოდ იმ შემთხვევაში ხდება, თუ IR გადაცემა მიიღება IR მიმღებიდან, IR მიმღები დეკოდირების (და შედეგების) ფუნქციის გამოყენებით მას გაგზავნის სიგნალს IR დისტანციიდან და შემდეგ თუ განცხადებები განსაზღვრავს რა დააყენეთ servo დამოკიდებულია მიღებული IR ღირებულებიდან. ჩაწერის ფუნქცია გამოიყენება სერვოს მის შესაბამის ხარისხზე დასაყენებლად, ხოლო წაკითხვის ფუნქცია გამოიყენება სერვოს ამჟამინდელი კუთხის საპოვნელად და საჭიროების შემთხვევაში გაზრდის ან ამცირებს მას.
დაბოლოს, სერვოს მიმდინარე კუთხე იგზავნება როგორც სერიულ მონიტორზე, ასევე LCD ეკრანზე myservo.read () ფუნქციის გამოყენებით და ძირითადი მარყუჟები განუსაზღვრელი ვადით იმეორებს.
Საწყისი კოდი:
#მოიცავს // Arduino სტანდარტული ბიბლიოთეკა #მოიცავს // IR ბიბლიოთეკა #მოიცავს "Wire.h" //Wire.h LCD (ზოგჯერ საჭიროა) #მოიცავს "LiquidCrystal_I2C.h" // LCD ბიბლიოთეკა
#განსაზღვრეთ servopin 9 // ეს განსაზღვრავს pin 9- ს, როგორც pin- ს, რომელიც გამოიყენება servo კონტროლის ტყვიისთვის (ნარინჯისფერი)
int RECV_PIN = 11; // IR ფოტო-ტრანზისტორი აგზავნის გამომავალს პინ 11-ზე
int currentAngle = 0; // გამოაცხადე currentAngle მთელი რიცხვითი ცვლადი და დააყენე 0
IRrecv irrecv (RECV_PIN); // IR მიმღების ობიექტის ინსტალაცია decode_results results; // გააქტიურეთ დეკოდი_რეზულტატების ობიექტი. ეს ობიექტი ცალკეა IR მიმღებისგან.
სერვო მისერვო; // დააინსტალირეთ Servo ობიექტი სახელწოდებით 'myservo' // მაქსიმუმ რვა servo ობიექტის შექმნა შესაძლებელია
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // დააინსტალირეთ LCD ობიექტი და დააყენეთ კონფიგურაცია
void setup () {
სერიული.დაწყება (9600); // სერიული პორტის დაწყება
myservo.attach (servopin); // მიმაგრებს servo პინ 9 -ზე servo ობიექტს
irrecv.enableIRIn (); // დაწყება მიმღები
myDisplay.init (); // LCD– ის ინიციალიზაცია
myDisplay.backlight (); // ჩართეთ LCD განათება
}
ბათილი მარყუჟი () {
თუ (irrecv.decode (& შედეგები)) // თუ გადაცემა მიღებულია…
{Serial.print ("მიღებული IR ღირებულება:");
Serial.println (results.value); // მიღებული მნიშვნელობის ჩვენება
// მიღებული ბრძანებების ინტერპრეტაცია… if (results.value == 16724175) // 1 {// left myservo.write (0); }
if (results.value == 16718055) // 2 {// შუა myservo.write (90); }
if (results.value == 16743045) // 3 {// right myservo.write (180); }
if (results.value == 16754775) //+ {// increment currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// შემცირება currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
უკონკურენტო რეზიუმე (); // მიიღეთ შემდეგი მნიშვნელობა
// სერიული მონიტორის ბეჭდვა Serial.print ("ამჟამინდელი servo პოზიცია:");
Serial.println (myservo.read ()); // ეს იღებს სერვო პოზიციას და აგზავნის მას სერიულ მონიტორზე
// LCD ბეჭდვა myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
დაგვიანება (200); // სერვო აქტივაციის სტაბილური გახანგრძლივება
}
ნაბიჯი 7: ნახეთ ჩემი Youtube ვიდეო დახმარებისთვის
იხილეთ ჩემი გამოუქვეყნებელი YouTube ვიდეო, რომელიც სრულად განიხილავს და აჩვენებს პროექტს, თუ თქვენ გაქვთ რაიმე შეკითხვა!
გირჩევთ:
ულტრაბგერითი სენსორი რეგულირებადი მთა: 9 ნაბიჯი (სურათებით)
ულტრაბგერითი სენსორი რეგულირებადი მთა: გამარჯობა! მე ალეხანდრო ვარ. მე ვარ მე –8 კლასში და მე ვარ ტექნოლოგიური ინსტიტუტის სტუდენტი IITA. ამ კონკურსისთვის მე გავაკეთე რეგულირებადი მთა რობოტექნიკის ულტრაბგერითი სენსორისთვის, რომელიც შეიძლება მიმაგრდეს პირდაპირ რობოტზე ან სერვოზე და მე
ტელეფონის ტელეფონის მიკროფონი: 9 ნაბიჯი
ტელეფონის ტელეფონის მიკროფონი: რამდენიმე ხნის წინ ჩემმა შეყვარებულმა მკითხა, გავხდი თუ არა მას ისეთი ტელეფონის მიკროფონიდან, როგორიც აქვს ყველა იმ ჰიპსტერ ბენდს. ასე რომ, მე, რა თქმა უნდა, ვუთხარი მას, რომ ასე იქნებოდა. ბევრი დრო გავიდა და შემდეგ ეს გავაკეთე. ეს შექმნილია იმისთვის, რომ იმუშაოს
ლეპტოპის ლეგოს ვებკამერა/გაჯეტის მთა: 5 ნაბიჯი
ლეპტოპის ლეგოს ვებკამერა/გაჯეტის მთა: აქ არის ვებკამერის ან ჩემს შემთხვევაში ლეპტოპის სპიკერის დამონტაჟების საშუალება. დიზაინი შეიძლება ადვილად შეიცვალოს საუკეთესო მორგებისთვის
სერვო მთა: 4 ნაბიჯი
სერვო მთა: როდესაც თქვენ უნდა მოათავსოთ სერვოები თქვენს თვითმფრინავზე/ნავში/მანქანაში ან რობოტიკის პროექტში, ხშირად ჩვენ გვაკლია მთა. და რადგან ჩვენ არ გვინდა, რომ დავამთავროთ სერვო ხვრელები ჩვენს ჩარჩოში, არამედ ჩავამატოთ სერვო ჩარჩოში მთაზე, მე შევქმენი სერ
ტელეფონის ტელეფონის რეტრო დატენვის სადგური: 10 ნაბიჯი (სურათებით)
რეტრო ტელეფონის ტელეფონის დამტენი სადგური: მე მომწონს რთველის მბრუნავი ტელეფონის სახე და რამოდენიმე მათგანი იწვა ირგვლივ და ითხოვდნენ რომ დაებრუნებინათ სიცოცხლეში. შთაგონების წყაროდ, მე გადავწყვიტე დაქორწინება ფორმაზე და ფუნქციებზე. ასე იბადება ტელეფონის რეტრო ტელეფონის დამტენი სადგური