Talaan ng mga Nilalaman:

'BOB' V2.0: 6 Mga Hakbang (na may Mga Larawan)
'BOB' V2.0: 6 Mga Hakbang (na may Mga Larawan)

Video: 'BOB' V2.0: 6 Mga Hakbang (na may Mga Larawan)

Video: 'BOB' V2.0: 6 Mga Hakbang (na may Mga Larawan)
Video: Biglang nag Trending sa tiktok Ang Bata na nag dance ng sa malamig🙀 2024, Nobyembre
Anonim
'BOB' V2.0
'BOB' V2.0

Ito ay isang sumunod na pangyayari, kaya't sa pagsasalita, ng itinuturo na 'Obstacle-Avoiding Robot with a Personality'. Sa pagtuturo na iyon, nagpasya akong tawagan ang robot na 'BOB'. Ang BOB ay may ilang mga kakulangan at sagabal, kaya't napabuti ko ang BOB sa ilang mga paraan. (Siya? Ito?) Ngayon ay may mas mahusay:

  • Tibay (pinahusay na sistema ng kuryente)
  • 'Paningin' (labis na mga sensor)
  • 'Nerve' (ang mga koneksyon ay ginawang mas ligtas)
  • Brainpower (iba't ibang microcontroller)

Gumagamit na ngayon si Bob ng switching regulator at isang 9.6V RC na baterya para sa lakas, mas mahusay na pag-mount ng sensor, isang sobrang GP2D12 IR sensor, isang panning servo para sa ultrasonic rangefinder, at isang AVR ATmega168 microcontroller sa isang Arduino development board. Palagi kong gustung-gusto ang mga proyekto sa pagbuo ng mga microcontroller, at kung ano ang mas mahusay kaysa sa pagbuo ng isang robot na may isa upang maipakita ang buong kakayahan ng microcontroller!

Hakbang 1: Listahan ng Mga Bahagi

Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi

Narito ang isang listahan ng kung ano ang binubuo ng BOB, at kung saan makukuha ang mga ito: Mga servos:

  • 1x Futaba S3003 (Hobby Servo) - Hobbytown USA, Futaba.com
  • 2x Parallax Patuloy na Pag-ikot ng Mga Serbisyo - Parallax.com, Acroname.com

Prototyping Hardware / Cables:

  • 1x 3-Wire Sensor Cable - Anumang online na nagbebenta ng mga bahagi ng robotic. Nakuha ko ang akin mula sa Trossenrobotics.com.
  • 4x 'Board Mounting Analog Jacks'. - Nakuha ko ito DITO. Sa palagay ko maaari mo rin silang makuha mula sa Digikey.
  • Breadboard - Radioshack
  • Iba't ibang haba ng kawad (para sa mga koneksyon sa breadboard). Gumamit ako ng isang breadboard dahil HATE ako sa paghihinang. Ginagamit ang breadboard para sa paggawa ng lahat ng mga koneksyon sa pagitan ng mga sensor at ng microcontroller.
  • Mga Header ng Lalaki - Nagkaroon ako ng ilang nakuha mula sa sparkfun DITO.

Mga Sensor:

  • 3x Sharp GP2D12 IR Sensors (na may mga 3-wire cable) - Acroname, Trossen Robotics (doon ko nakuha ang minahan), Devantech
  • 'Ping)))' Ultrasonic Rangefinder - Parallax.com, sa palagay ko nakita ko ito sa iba pang mga lugar sa online …

Lakas:

  • 9.6V Ni-Cd Rechargeable Battery (o anumang iba pang 8-AA cell baterya pack / anumang rechargeable batter yback sa itaas 9V) - Nagkaroon ako ng isang ito mula sa isang mahabang oras ang nakalipas nang minsan itong ginamit para sa isang RC racecar. Maaari kang makakuha ng mga praktikal na ito sa anumang hobby shop.
  • 5V 1A Switching Voltage Regulator - Dimension Engineering.com o Trossen Robotics (kung saan nakuha ko ang akin)
  • Naaangkop na konektor upang magkasya ang baterya na iyong ginagamit (para sa paggawa ng koneksyon sa pagitan ng baterya at ng electronics).

Computer:

Arduino Microcontroller (Arduino Diecimila; Alam ko ang larawan ay nagpapakita ng isang NG; aksidente iyon. Sinadya kong mag-upload ng isang larawan ng Diecimila. Ginamit ko ang Diecimila, ngunit hindi mo kailangang magkaroon ng pinakabagong modelo ng Arduino para sa robot na ito.)

Chassis:

Ang ginamit kong chassis ay isang nakuha ko mula sa isang kit mula sa Parallax na tinawag na 'BOE-Bot Kit'. Maaari kang gumamit ng plexiglass, isang naaangkop na laki ng sheet ng plastik, isang paunang naka-chassis na chassis mula sa isang online retailer, o kahit isang bloke ng kahoy

Pamamahala ng kable:

Mga Tali ng Cable - (mga puti, plastik na bagay na matatagpuan sa pag-iimpake para sa pagsasama-sama ng mga bagay) Maaari mong makuha ang mga ito sa home depot, lowes, o halos anumang tindahan ng hardware

Iba pa:

  • 1x Piezo Speaker / Element - Ginamit ko ito bilang isang tagapagpahiwatig; ang Arduino ay nagbubunyi kapag nagsimulang tumakbo ang programa
  • 1x LED
  • 1x 200ohm risistor (para sa LED)

Hakbang 2: Simula ng Assembly - Pag-mount ng Sharp IR Sensor Bracket

Simula ng Assembly - Pag-mount ng Biglang IR Sensor Bracket
Simula ng Assembly - Pag-mount ng Biglang IR Sensor Bracket
Simula ng Assembly - Pag-mount ng Biglang IR Sensor Bracket
Simula ng Assembly - Pag-mount ng Biglang IR Sensor Bracket
Simula ng Assembly - Pag-mount ng Biglang IR Sensor Bracket
Simula ng Assembly - Pag-mount ng Biglang IR Sensor Bracket

Mayroong ilang mga slits na pumila kasama ang mga butas at slits sa chassis. I-secure ang sensor mounting bracket na may dalawang turnilyo at mani sa ilalim.

Hakbang 3: I-mount ang Pan Servo at Ultrasonic Rangefinder

I-mount ang Pan Servo at Ultrasonic Rangefinder
I-mount ang Pan Servo at Ultrasonic Rangefinder
I-mount ang Pan Servo at Ultrasonic Rangefinder
I-mount ang Pan Servo at Ultrasonic Rangefinder
I-mount ang Pan Servo at Ultrasonic Rangefinder
I-mount ang Pan Servo at Ultrasonic Rangefinder

Naghahatid ang panning servo upang i-pan ang Ping))) pahalang para sa isang malawak na hanay ng pagtuklas ng bagay, pati na rin ang pagsukat ng mga distansya sa iba't ibang mga anggulo upang matukoy ang pinakamalinaw na landas ng paglalakbay. Gumamit ako ng ilang mga standoff upang mai-mount ang servo, at ilan sa mga tornilyo na mayroon ako. Ang laki na nais mong gamitin para sa hardware na ito ay talagang maliit; Hindi ako nakahanap ng mga turnilyo ng naaangkop na 'thread' saanman ngunit sa online. Nakukuha ko ang hardware na ito alinman sa Sparkfun Electronics o Parallax (parehong online). Pareho sa mga nagtitingi na iyon ang mayroong lahat ng parehong laki na mga turnilyo at standoff. Ngayon, para sa ultrasonic rangefinder. Ginawa kong pasadya ang isang mounting bracket para sa Ping))) ultrasonic ranger dahil hindi ko nais na gugulin ang sobrang pera sa isang online. Gumamit ako ng ilang plexiglass, isang tuwid na gilid (talim ng labaha), at isang c-clamp para sa pagkakawatak ng plastik. Ang kailangan mo lang gawin upang magawa ang mounting na ito ay sukatin ang ultrasonic rangefinder, gupitin ang dalawang magkaparehong piraso ng plexiglass ng isang pares na mm mas malaki kaysa sa laki ng ultrasonic ranger, i-drill ang mga butas kung kinakailangan, at idikit ang mga ito sa tamang anggulo tulad ng ipinakita. Panghuli, mag-drill ng isang maliit na butas na medyo mas malaki pa kaysa sa tornilyo na nakalakip sa servo head, ipasok ang tornilyo, at pagkatapos ay ilakip ang buong pagpupulong sa servo. Maaari akong maging mahusay sa pag-program at pagkamalikhain, ngunit ang pag-macho ng hardware para sa isang home-brew robot ay tiyak na hindi isa sa aking mataas na puntos. Kaya't ano ang ibig sabihin nito? Kung magagawa ko ito, tiyak na makakaya mo! Mga tala tungkol sa servo: Hindi mo kailangang bumili ng partikular sa isang Futaba S3003 tulad ng ginamit ko; maaari mong gamitin ang anumang servo na gusto mo, hangga't mayroon itong malawak na antas ng paggalaw; mahalaga iyon para sa proyektong ito! Sa palagay ko ang Futaba servo na ginamit ko ay may ~ 180 degree na galaw. Nang maghanap ako ng isang servo na gagamitin bilang panning servo para sa BOB, hinanap ko ang pinaka-mura na mahahanap ko, at ang ginagamit ko ay perpekto ang trabaho. Kung mayroon kang isang standard na libangan na servo na may ~ 180 degree na paggalaw, pagkatapos ay handa ka na para sa bahaging ito, NGUNIT - maaaring kailanganin mong ayusin ang mga halagang PWM sa source code upang magkasya ang iyong servo, dahil kung hindi ka 't, maaari mong PASIRAIN ANG SERVO. Nasira ko ang isang servo nang hindi sinasadya tulad noon, kaya mag-ingat sa paggamit ng isang bagong servo; alamin ang mga 'limitasyon' ng mga halagang PWM, kung hindi man ay susubukan nitong lumayo kaysa sa pisikal na kaya nito (ang mga servo ay 'pipi'), at masisira nito ang mga gears sa loob nito (maliban kung bumili ka ng isang talagang maganda sa mga metal na gears).

Hakbang 4: Idagdag ang Utak ng BOB (ang Arduino) at Gawin ang Mga Koneksyon

Idagdag ang Utak ng BOB (ang Arduino) at Gawin ang Mga Koneksyon
Idagdag ang Utak ng BOB (ang Arduino) at Gawin ang Mga Koneksyon
Idagdag ang Utak ng BOB (ang Arduino) at Gawin ang Mga Koneksyon
Idagdag ang Utak ng BOB (ang Arduino) at Gawin ang Mga Koneksyon
Idagdag ang Utak ng BOB (ang Arduino) at Gawin ang Mga Koneksyon
Idagdag ang Utak ng BOB (ang Arduino) at Gawin ang Mga Koneksyon

Para sa isang mas mabilis na 'utak', nagpasya akong gamitin ang Arduino (ATmega168) na, sa kabila ng pagtakbo sa 16Mhz lamang (kumpara sa 20Mhz ng BS2), ay mas mabilis kaysa sa BS2 dahil wala itong kasangkot na interpreter na mayroon ang BASIC Stamp gamitin Habang ang BASIC Stamp ay mahusay para sa mga simpleng proyekto at madaling gamitin, hindi sila ganoon kalakas, at hindi akma sa singil (tulad ng nalaman kong mahirap na paraan sa 'BOB V1.0'). Sa isang lugar sa 'net, nakakita ako ng isang murang kahalili sa' Arduino Proto Shield '; ang kailangan mo lang gawin ay kumuha ng isa sa mga dilaw na radioshack breadboard, at i-strap ito sa likuran ng arduino gamit ang isang goma! Maaari mong dalhin ang mga kinakailangang pin sa paligid ng breadboard na may ilang maikling kawad. Magpo-post ako ng isang eskematiko, ngunit walang mga circuit na kailangan mong buuin, ang mga koneksyon lamang ng signal, vcc, at gnd. Ang mga koneksyon ay:

  • Pin (Analog) 0: Kaliwa GP2D12
  • Pin (Analog) 1: Center GP2D12
  • Pin (Analog) 2: Kanan GP2D12
  • Pin 5: Pan Servo
  • Pin 6: Kaliwang Drive Servo
  • Pin 7: Ultrasonic Rangefinder ('Ping)))')
  • Pin 9: Right Drive Servo
  • Pin 11: Tagapagsalita ng Piezo

Hindi ako gumamit ng anumang labis na mga capacitor ng filter dahil ang 5V switching regulator ay naka-built in sa kanila. Ang tanging hilaw na sangkap na kailangan mong gamitin ay isang resistor na 220 ohm para sa LED na naka-hook up sa VCC (+) bilang isang tagapagpahiwatig ng kuryente.

Hakbang 5: Gawing Robot ang Paggawa ng Hardware

Narito ang code para sa BOB. Mayroong maraming mga puna doon upang makatulong na maunawaan kung ano ang nangyayari. Mayroon ding code na 'nagkomento' na alinman ay hindi ginagamit, o ginagamit para sa pag-debug. Ang seksyon ng code na humahawak sa mga pagbabasa ng ultrasound rangefinder ay ginawa ng ibang may-akda; Nakuha ko ito sa Arduino site. Ang kredito sa seksyong iyon ay napupunta sa may-akdang iyon. * MAHALAGA *: Nalaman ko na upang matingnan ang code, kailangan mong buksan ito sa isang word processor (Microsoft Word, Notepad, Wordpad, OpenOffice, atbp.). Para sa ilang kadahilanan ay nagde-default ito sa pagiging isang 'Windows Media TMP File'.

Hakbang 6: Huling Mga Tala

Mapapalawak ko ang mga kakayahan ng BOB - Inaasahan kong magdagdag kaagad ng isang sensor ng tunog, isang light sensor, isang sensor ng PIR para sa pagtuklas ng mga tao, at marahil kahit na sa iba pang mga sensor. Sa kasalukuyang oras, iniiwasan lamang ng BOB ang mga hadlang. Ang 3 IR sensor ay nagsisilbi para sa pagtuklas ng mga bagay habang ang robot ay sumusulong, at ang ultrasonic ranger ay naroroon para sa: A) kapag ang robot ay sumusulong, nakakakita ng mga bagay sa mga blind spot ng IR sensor, at B) kapag nakita ng BOB ang napakaraming mga bagay sa loob ng isang naibigay na oras, siya ay 'maghanap' para sa cleares landas ng paglalakbay; pag-pan sa servo at pag-check sa iba't ibang mga anggulo para sa isang mas malinaw na landas. Sa palagay ko ang BOB ay magtatagal ng tungkol sa 1hr 20mins sa isang buong singil gamit ang switching voltage regulator at ang 9.6V na baterya. Gayundin, alam ko na ang paraan ng breadboard at ang Arduino ay nakaupo sa chassis ay medyo walang katiyakan, ngunit mananatili ito sa isang goma na bandang huli ay makakahanap ako ng ilang paraan upang ilakip ito sa ilang mga hardware at samakatuwid ay gawin itong mas makintab. Dadaragdag ko ito sa itinuturo sa hinaharap … Nasa ibaba ang isang video nito sa pagkilos! Isinama ko rin ang mga manwal para sa mga sensor tulad ng itinuturo sa BOB 1.0 ("Obstacle-Avoiding Robot With A Personality"). Ang 'DE- ……' s para sa switching regulator.

Inirerekumendang: