Სარჩევი:
- ნაბიჯი 1: რა გჭირდებათ ამ პროექტში:
- ნაბიჯი 2: სქემის დიაგრამა
- ნაბიჯი 3: Arduino UNO პროგრამირება
- ნაბიჯი 4: მშვენიერია
ვიდეო: როგორ გააკეთოთ წვრილმანი Arduino დაბრკოლება რობოტის თავიდან ასაცილებლად სახლში: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
გამარჯობა ბიჭებო, ამ ინსტრუქციებში თქვენ შექმნით დაბრკოლებას რობოტის თავიდან აცილების მიზნით. ეს ინსტრუქცია გულისხმობს რობოტის შექმნას ულტრაბგერითი სენსორით, რომელსაც შეუძლია აღმოაჩინოს ახლომდებარე ობიექტები და შეცვალოს მათი მიმართულება ამ ობიექტების თავიდან ასაცილებლად. ულტრაბგერითი სენსორი მიმაგრებული იქნება სერვო ძრავაზე, რომელიც გამუდმებით სკანირებს მარცხნივ და მარჯვნივ და ეძებს საგნებს გზაზე.
ასე რომ, ყოველგვარი გატაცების გარეშე, დავიწყოთ!
ნაბიჯი 1: რა გჭირდებათ ამ პროექტში:
აქ მოცემულია ნაწილების სია:
1) არდუინო უნო
2) საავტომობილო მძღოლის ფარი
3) გადაცემათა კოლოფი, ჩარჩო და ბორბლები
4) სერვო ძრავა
5) ულტრაბგერითი სენსორი
6) Li-ion ბატარეა (2x)
7) ბატარეის დამჭერი
8) მამრობითი და მდედრობითი Jumper მავთულები
9) შედუღების რკინა
10) დამტენი
ნაბიჯი 2: სქემის დიაგრამა
მუშაობს:
პროექტზე მუშაობის დაწყებამდე მნიშვნელოვანია იმის გაგება, თუ როგორ მუშაობს ულტრაბგერითი სენსორი. ულტრაბგერითი სენსორის მუშაობის ძირითადი პრინციპი შემდეგია:
გარე გამშვები სიგნალის გამოყენებით, ულტრაბგერითი სენსორის Trig pin არის ლოგიკური მაღალი მინიმუმ 10µs. იგზავნება გადამცემი მოდულიდან ხმოვანი აფეთქება. იგი შედგება 8 იმპულსისაგან 40KHz.
სიგნალები ბრუნდება ზედაპირზე დარტყმის შემდეგ და მიმღები აღმოაჩენს ამ სიგნალს. Echo pin მაღალია სიგნალის გაგზავნისა და მიღების მომენტიდან. ეს დრო შეიძლება გადაკეთდეს მანძილზე შესაბამისი გამოთვლების გამოყენებით.
ამ პროექტის მიზანია განახორციელოს დაბრკოლება რობოტის თავიდან აცილების მიზნით ულტრაბგერითი სენსორისა და არდუინოს გამოყენებით. ყველა კავშირი ხდება სქემის დიაგრამის მიხედვით. პროექტის მუშაობა ქვემოთ არის აღწერილი.
როდესაც რობოტი ჩართულია, რობოტის ორივე ძრავა ნორმალურად იმუშავებს და რობოტი წინ მიიწევს. ამ დროის განმავლობაში, ულტრაბგერითი სენსორი მუდმივად ითვლის მანძილს რობოტსა და ამრეკლ ზედაპირს შორის.
ეს ინფორმაცია დამუშავებულია არდუინოს მიერ. თუ რობოტსა და დაბრკოლებას შორის მანძილი 15 სმ -ზე ნაკლებია, რობოტი ჩერდება და სკანირდება მარცხენა და მარჯვენა მიმართულებით ახალი მანძილისთვის Servo Motor და ულტრაბგერითი სენსორის გამოყენებით. თუ მარცხენა მხარეს მანძილი უფრო მეტია ვიდრე მარჯვენა, მაშინ რობოტი მოემზადება მარცხენა მოსახვევისთვის. მაგრამ ჯერ ის ოდნავ უკან იხევს და შემდეგ ააქტიურებს მარცხენა ბორბლის ძრავას პირიქით მიმართულებით.
ანალოგიურად, თუ მარჯვენა მანძილი უფრო მეტია ვიდრე მარცხენა მანძილი, რობოტი ამზადებს მარჯვენა ბრუნვას. ეს პროცესი სამუდამოდ გრძელდება და რობოტი განაგრძობს მოძრაობას ყოველგვარი დაბრკოლების გარეშე.
ნაბიჯი 3: Arduino UNO პროგრამირება
#ჩართეთ
#ჩართეთ
#ჩართეთ
# განსაზღვრეთ TRIG_PIN A1
# განსაზღვრეთ ECHO_PIN A0
# განსაზღვრეთ MAX_DISTANCE 200
# განსაზღვრა MAX_SPEED 255 // ადგენს DC ძრავების სიჩქარეს
# განსაზღვრეთ MAX_SPEED_OFFSET 20
NewPing სონარი (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor3 (3, MOTOR34_1KHZ);
AF_DCMotor motor4 (4, MOTOR34_1KHZ); სერვო მისერვო;
ბული მიდის წინ = ყალბი;
int მანძილი = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); დაგვიანება (2000); მანძილი = readPing (); დაგვიანება (100); მანძილი = readPing (); დაგვიანება (100); მანძილი = readPing (); დაგვიანება (100); მანძილი = readPing (); დაგვიანება (100); }
ბათილი მარყუჟი () {
int მანძილი R = 0; int მანძილი L = 0; დაგვიანება (40);
if (მანძილი <= 15) {moveStop (); დაგვიანება (100); moveBackward (); დაგვიანება (300); moveStop (); დაგვიანება (200); მანძილი R = lookRight (); დაგვიანება (200); მანძილი L = lookLeft (); დაგვიანება (200);
თუ (მანძილი R> = მანძილი ლ) {
turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } მანძილი = readPing (); }
int lookRight () {
myservo.write (50); დაგვიანება (500); int მანძილი = readPing (); დაგვიანება (100); myservo.write (115); დაბრუნების მანძილი; }
int lookLeft () {
myservo.write (170); დაგვიანება (500); int მანძილი = readPing (); დაგვიანება (100); myservo.write (115); დაბრუნების მანძილი; დაგვიანება (100); }
int readPing () {
დაგვიანება (70); int cm = sonar.ping_cm (); თუ (სმ == 0) {სმ = 250; } დაბრუნება სმ; }
void moveStop () {
motor3.run (გათავისუფლება);
motor4.run (გათავისუფლება); }
void moveForward () {
თუ (! მიდის წინ) {
goForward = true;
motor3.run (წინ);
motor4.run (წინ); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // ნელა აწიეთ სიჩქარე, რათა თავიდან აიცილოთ ბატარეები ძალიან სწრაფად {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); დაგვიანება (5); }}}
void moveBackward () {
goForward = false;
motor3. გაშვება (BACKWARD);
motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // ნელა აწიეთ სიჩქარე, რათა თავიდან აიცილოთ ბატარეები ძალიან სწრაფად {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); დაგვიანება (5); }}
void turnRight () {
motor3.run (წინ);
motor4.run (BACKWARD); დაგვიანება (500);
motor3.run (წინ);
motor4.run (წინ); }
void turnLeft () {
motor3. გაშვება (BACKWARD);
motor4.run (წინ); დაგვიანება (500);
motor3.run (წინ);
motor4.run (წინ); }
1) ჩამოტვირთეთ და დააინსტალირეთ Arduino Desktop IDE
- ფანჯრები -
- Mac OS X -
- Linux -
2) ჩამოტვირთეთ და ჩასვით NewPing ბიბლიოთეკა (ულტრაბგერითი სენსორის ფუნქციის ბიბლიოთეკა) ფაილი Arduino ბიბლიოთეკების საქაღალდეში.
- ჩამოტვირთეთ NewPing.rar ქვემოთ
- ამოიღეთ იგი ბილიკზე - C: / Arduino / ბიბლიოთეკები
3) ატვირთეთ კოდი Arduino დაფაზე USB კაბელის საშუალებით
გადმოტვირთვის კოდი:
ნაბიჯი 4: მშვენიერია
ახლა თქვენი რობოტი მზად არის თავიდან აიცილოს ნებისმიერი დაბრკოლება…
სიამოვნებით გიპასუხებდით ნებისმიერ კითხვაზე
ელ.ფოსტა: [email protected]
საიტი:
გამოიწერეთ ჩემი YouTube არხი:
Instagram:
ფეისბუქი:
Გმადლობთ:)
გირჩევთ:
დაბრკოლება LEGO რობოტის თავიდან აცილება: 8 ნაბიჯი (სურათებით)
დაბრკოლების თავიდან აცილება LEGO რობოტს: ჩვენ გვიყვარს LEGO და ჩვენ ასევე გვიყვარს Crazy Circuits, ასე რომ ჩვენ გვინდოდა გავაერთიანოთ ეს ორი უბრალო და სახალისო რობოტად, რომელსაც შეუძლია თავიდან აიცილოს კედლებსა და სხვა საგნებში მოხვედრა. ჩვენ გაჩვენებთ თუ როგორ ავაშენეთ ჩვენი და განვსაზღვრავთ საფუძვლებს, რომ თქვენ შეძლოთ საკუთარი
როგორ გავხადოთ დაბრკოლება რობოტის თავიდან აცილების მიზნით: 6 ნაბიჯი
როგორ გავხადოთ დაბრკოლება რობოტის თავიდან აცილების მიზნით: დაბრკოლება რობოტის თავიდან აცილება არის მარტივი რობოტი, რომელსაც მართავს არდუინო და ის რასაც აკეთებს ის არის, რომ ის უბრალოდ ტრიალებს და თავს არიდებს დაბრკოლებებს. ის აღმოაჩენს დაბრკოლებებს HC-SR04 ულტრაბგერითი სენსორით, სხვა სიტყვებით რომ ვთქვათ, თუ რობოტი გრძნობს ობიექტს სიახლოვეს
წვრილმანი Arduino დაბრკოლება ავტომობილის თავიდან აცილება სახლში: 5 ნაბიჯი
წვრილმანი Arduino დაბრკოლება ავტომობილის თავიდან აცილება სახლში: ამ სტატიაში მე ვაპირებ გაჩვენოთ, თუ როგორ უნდა გააკეთოთ Arduino დაბრკოლება ავტომობილის თავიდან აცილება სახლში
როგორ შევქმნათ დაბრკოლება რობოტის თავიდან აცილების მიზნით Arduino– ს გამოყენებით: 5 ნაბიჯი
როგორ გავხადოთ დაბრკოლება რობოტის თავიდან აცილების მიზნით Arduino– ს გამოყენებით: ამ სასწავლო ინსტრუქციაში მე გასწავლით თუ როგორ უნდა გააკეთოთ დაბრკოლება რობოტის თავიდან აცილების მიზნით, რომელიც მუშაობს Arduino– სთან ერთად. თქვენ უნდა იცნობდეთ Arduino– ს. Arduino არის კონტროლერი, რომელიც იყენებს ატმეგა მიკროკონტროლერს. თქვენ შეგიძლიათ გამოიყენოთ Arduino– ს ნებისმიერი ვერსია, მაგრამ მე
როგორ გააკეთოთ OAWR (დაბრკოლება რობოტის თავიდან აცილების მიზნით): 7 ნაბიჯი (სურათებით)
როგორ გააკეთოთ OAWR (დაბრკოლების თავიდან აცილების საშუალება რობოტი): ეს ინსტრუქცია გვიჩვენებს, თუ როგორ უნდა გააკეთოთ პატარა მოსიარულე რობოტი, რომელიც თავს არიდებს დაბრკოლებებს (ისევე როგორც ბევრი კომერციულად ხელმისაწვდომი ვარიანტი). მაგრამ რა არის სახალისო სათამაშოს ყიდვისას, როდესაც შეგიძლია დაიწყო ძრავით, პლასტმასის ფურცელითა და ჭანჭიკებით და პროფესიონალებით