
Სარჩევი:
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50

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

-3,2 ფუტი ნეოპიქსელის ზოლები
-HC-SR04 ულტრაბგერითი სენსორი (ან ნებისმიერი სხვა ულტრაბგერითი სენსორი)
-დახრის გადამრთველი
-3 3.7 ვ ლითიუმის იონური ბატარეა (18650)
-გამაძლიერებელი კონვერტორი (ახსნილია სიმძლავრის საფეხურზე)
-ფოტო რეზისტორი (ნებისმიერი მნიშვნელობა)
-ანალოგური ხმის სენსორი
-2 დკ ძრავები 6 ვ
-l293d (ძრავის მძღოლი)
-პლასტიკური ფურცელი
-მუყაო
-საჭის საჭე
ნაბიჯი 2: ნეოპიქსელები


მჭიდრო ბიუჯეტიდან გამომდინარე, ჩემი რობოტების ემოციების გაცოცხლების უმარტივესი და იაფი გზა არის ნეოპიქსელები, მათ აქვთ მხოლოდ 3 შესავალი და გამოსავალი. შეყვანის სამი ქინძისთავები იწერება 5v, DIN (მონაცემები in) და GND (ადგილზე); გამომავალი შეაფასა იგივე, რაც შეყვანა, მაგრამ მონაცემების ნაცვლად მის DO (მონაცემები გარეთ). ამ led- ის დაკავშირების გზა არის ერთმანეთთან პარალელურად დაკავშირება, ასე რომ 5v უკავშირდება 5v სხვა led- ს და GND უკავშირდება სხვა led GND- ს, პირველი led- ის DO უკავშირდება მეორე led- ს და შემდეგ ეს პროცესი გრძელდება მანამ, სანამ არ მიაღწევთ სასურველ led სიგრძის სიგრძეს. ნეოპიქსელების მთელ ზოლს მხოლოდ ერთი ციფრული გამომავალი პინი სჭირდება შესასვლელიდან, ეს იმიტომ ხდება, რომ DO და DIN დაკავშირებულია გრძელ ჯაჭვში, ამიტომ ისინი ყველა იზიარებენ მონაცემებს ერთმანეთთან. ეს აუცილებელია, რადგან ჩვენ გვჭირდება გამორთვა და გამორთვა კონკრეტულ დროს. ამის შესახებ დამხმარე ინსტრუქციაა NEOPIXEL HELP
ნაბიჯი 3: სქემატური

წრე ძალიან მარტივია, რადგან რობოტის უმეტესობა დაპროგრამებულია, ძრავები მუშაობს 7 ვ -ის მახლობლად l293d ძრავით, რათა გააკონტროლონ ძრავები უკანა მიმართულებით. სხვა კავშირები არის სენსორები არდუინოსთან. და ეს არის ის!
ნაბიჯი 4: კოდი
პირველი რაც გავაკეთე იყო საჭირო ბიბლიოთეკების გადმოწერა, რომ კოდირება ცოტა გამიადვილებულიყო, ბიბლიოთეკები, რომლებსაც ვიყენებ, არის "FastLED.h" და "NewPing.h". სწრაფი ლიდერი არის led- ებისთვის და ახალი პინგი ულტრაბგერითი სენსორებისთვის. შემდეგი რაც გავაკეთე იყო ყველა განსაზღვრება ჩემს მიერ გამოყენებულ ქინძისთავებისთვის, ამის შემდეგ ბათილი იყო დაყენება, სადაც შევქმენი პინის რეჟიმები და neostrip "FastLED.addLeds (leds, NUM_LEDS);" მე განვსაზღვრე NUM_LEDS, როგორც 56, ვინაიდან მე გამოვიყენე 56 led, კონფიგურაცია leds იქნება ახსნილი სახის ნაბიჯი. შემდეგ მე შევქმენი რამოდენიმე ფუნქცია ჩემი რობოტისათვის წინ და უკან მოძრაობისათვის და ასევე გარკვეული ემოცია, ამის შემდეგ მივდივარ ბათილ მარყუჟამდე, სადაც მე ვიძახებ ჩემს ყველა ფუნქციას გარკვეული თანმიმდევრობით, როგორც მე მინდა, მაგალითად, მე რომ მინდოდა ჩემს რობოტს გაეღიმა, მაშინ ღიმილს დავდებდი ();. თუ მინდოდა გარკვეული led ჩართული ვდებ, leds [45] = CRGB:: მწვანე;, ეს დააყენებს, რომ 45 იყოს მწვანე. როდესაც მე შავ ფერს ვაყენებ, ეს უბრალოდ გამორთვას ნიშნავს. ახლა გახსოვდეთ, რომ ეს არის ჩემი ერთ -ერთი პირველი პროგრამა, ასე რომ აშკარად არ არის სრულყოფილი, მაგრამ მაინც მუშაობდა.
ᲙᲝᲓᲘ
ნაბიჯი 5: სახე

სახისთვის გამოვიყენე 56 led, რაც თითქმის 3.2 ფუტიანი ნეოპიქსელის ზოლია. მე დავჭრა ზოლები 8 ზოლის 7 ზოლად, მე გამოვიყენე პირველი 3 ზოლი თვალებისთვის და ბოლო 4 პირი. მე შევაერთე ზოლები გველის სახით ერთგვარი კავშირი, დიაგრამაზე უკეთესად გესმით იმედია. როდესაც დავამთავრე სახე, მაშინ დავდე თხელი პლასტმასის ფურცელი (დაახლოებით 2 მმ სისქის) წამყვანი ზოლები.
ნაბიჯი 6: ბედნიერი ფუნქცია

ეს ფუნქცია ყველაზე ადვილია, რადგან ის არ იყენებს სენსორებს, სამაგიეროდ როგორც კი ბოტს ჩართავთ, ის მაშინვე გაგიღიმებთ. მაგრამ ის არა მხოლოდ იღიმება; როდესაც ის იღიმება, ის ასევე დაბრკოლებას არიდებს რეჟიმს. დაბრკოლების თავიდან აცილების რეჟიმი ჩემს კოდში წარმოდგენილია როგორც ფუნქციის როუმი. დაბრკოლება, რომელიც თავს არიდებს რეჟიმს ან მოძრაობას, მუშაობს ორი ულტრაბგერითი სენსორის გამოყენებით რობოტების მხარეს, როდესაც სენსორი 30 სმ -ით მოდის ყველაფერზე, რასაც ის დაუბრუნებს და ან მარჯვნივ ან მარცხნივ მიემართება ობიექტთან ყველაზე ახლოს მდებარე სენსორის მიხედვით.
ნაბიჯი 7: სევდიანი ფუნქცია


იმისათვის, რომ რობოტი სევდიანი ყოფილიყო, მე უნდა მომეფიქრებინა ამ რობოტის პიროვნული თვისება, ამიტომ გადავწყვიტე მისი მოწყენა, როდესაც ის ბნელ გარემოში იმყოფებოდა. ამისათვის მე გამოვიყენე ფოტო რეზისტორი სინათლის აღქმის მიზნით. რაც უფრო ბნელია გარემო მით უფრო მაღალია წინააღმდეგობა და რაც უფრო მსუბუქია გარემო მით უფრო დაბალია წინააღმდეგობა. წრე მუშაობს როგორც ძაბვის გამყოფი, რომელიც არის წრე ორი რეზისტორით, რომლებიც დაკავშირებულია სერიულად +5v და GND– ზე, რეზისტორული კავშირის შუაგულში არის ძაბვა, რომელიც შეიძლება განისაზღვროს ამ განტოლებით: შეყვანის ძაბვა*(R2/R1 +R2). როდესაც Arduino Analog Pin კითხულობს ამ მნიშვნელობას, ის გარდაქმნის ძაბვას დიაპაზონში 0 -დან 1023 -მდე.
ნაბიჯი 8: გაბრაზებული ფუნქცია


რობოტის გაბრაზების მიზნით, მე გადავწყვიტე მისი გადაბრუნება/დაცემა. ეს მუშაობს დახრის გადამრთველის გამოყენებით და დახრის გადამრთველი ძირითადად ნორმალური გადამრთველია, მაგრამ ღილაკის ან როკერის ნაცვლად გაქვთ ვერცხლისწყლის ბურთი, რომელიც თუ დახრილია გარკვეული კუთხით დააკავშირებს ორ კონტაქტს და ჩართავს; აქედან გამომდინარე, მნიშვნელობა არის 0 ან 1, 0 გამორთვისთვის და 1 გაგრძელებისთვის. როდესაც რობოტი გაბრაზებულია, ის ასევე იგნორირებას უკეთებს დაბრკოლებას, რომელიც არიდებს რეჟიმს და რისხვას აყენებს წინსვლის მიმართულებით, თავისი რისხვის გამო.
ნაბიჯი 9: შეშინებული ფუნქცია


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


ახლა, როდესაც თქვენ ააშენეთ ყველაფერი, რაც გჭირდებათ მის გასაძლიერებლად, მე თავდაპირველად ვცდილობდი ამ ენერგიის მომარაგებას 8 AA ბატარეით, მაგრამ მე ძალიან მოცულობითი და არაპრაქტიკული ვიყავი. შემდეგ გამოვიყენე 3 ლითიუმის იონური ბატარეა, რომელთაგან თითოეული ინახავს 3.5 ვ -ს, მე დავუკავშირე ერთი ბატარეა გამაძლიერებელ კონვერტორთან, რომელიც არის ძაბვის გამაძლიერებელი, ამან გაზარდა ჩემი 3.5 ვ -დან 5 ვ -მდე არდუინოს დასაყენებლად, შემდეგ გამოვიყენე ორი ბატარეა და უშუალოდ დაკავშირებული ეს არის ძრავები და LED- ები, ეს არ არის ისეთი კარგი იდეა, რადგან ძაბვა არ იყო რეგულირებული, მაგრამ მე არ მქონდა ძაბვის რეგულატორი, თუ თქვენ ცდილობთ ამის აშენებას, გირჩევთ გამოიყენოთ ძაბვის რეგულატორი, ვიდრე 5 ვ. დაახლოებით 2-3 ამპერზე, ამის მაგალითია LM78S05. ან შეგიძლიათ გამოიყენოთ LM7805 Arduino– ს გასაძლიერებლად და ამის ნაცვლად მიიღოთ ქვევით გადასაყვანი კონვერტორი ან გადასაყვანი კონვერტორი ძაბვის შესამცირებლად და LED– ებისა და ძრავების შესამცირებლად.
ნაბიჯი 11: გაერთეთ !

ვიმედოვნებ, რომ თქვენ ააშენებთ ამ რობოტს და გაერთობით, ასევე იმედი მაქვს, რომ თქვენ დააბრუნებთ ამ რობოტს და შექმნით საკუთარ ემოციებს, რათა ის ცოცხალი გახადოთ !!!
გირჩევთ:
დაბრკოლება LEGO რობოტის თავიდან აცილება: 8 ნაბიჯი (სურათებით)

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

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

როგორ გავხადოთ დაბრკოლება რობოტის თავიდან აცილების მიზნით: დაბრკოლება რობოტის თავიდან აცილება არის მარტივი რობოტი, რომელსაც მართავს არდუინო და ის რასაც აკეთებს ის არის, რომ ის უბრალოდ ტრიალებს და თავს არიდებს დაბრკოლებებს. ის აღმოაჩენს დაბრკოლებებს HC-SR04 ულტრაბგერითი სენსორით, სხვა სიტყვებით რომ ვთქვათ, თუ რობოტი გრძნობს ობიექტს სიახლოვეს
როგორ შევქმნათ დაბრკოლება რობოტის თავიდან აცილების მიზნით Arduino– ს გამოყენებით: 5 ნაბიჯი

როგორ გავხადოთ დაბრკოლება რობოტის თავიდან აცილების მიზნით Arduino– ს გამოყენებით: ამ სასწავლო ინსტრუქციაში მე გასწავლით თუ როგორ უნდა გააკეთოთ დაბრკოლება რობოტის თავიდან აცილების მიზნით, რომელიც მუშაობს Arduino– სთან ერთად. თქვენ უნდა იცნობდეთ Arduino– ს. Arduino არის კონტროლერი, რომელიც იყენებს ატმეგა მიკროკონტროლერს. თქვენ შეგიძლიათ გამოიყენოთ Arduino– ს ნებისმიერი ვერსია, მაგრამ მე
როგორ გააკეთოთ OAWR (დაბრკოლება რობოტის თავიდან აცილების მიზნით): 7 ნაბიჯი (სურათებით)

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