Cov txheej txheem:

Rotating Xov Tooj Mount: 7 Kauj Ruam
Rotating Xov Tooj Mount: 7 Kauj Ruam

Video: Rotating Xov Tooj Mount: 7 Kauj Ruam

Video: Rotating Xov Tooj Mount: 7 Kauj Ruam
Video: Xov Xwm 20/3/23 Raug Neeg Phem Nkaug Tuag & Tus Ntxhais No Ploj & Noj Cov Kab No Tag Raws Plab Sab 2024, Kaum ib hlis
Anonim
Rotating Xov Tooj
Rotating Xov Tooj

Cov lus qhia no tau tsim los ua kom tau raws txoj haujlwm xav tau ntawm Makecourse ntawm University of South Florida (www.makecourse.com).

Xav ua lub xov tooj tig tig kom koj tuaj yeem pom cov ntsiab lus ntawm koj lub xov tooj hauv kev teeb tsa lossis toj roob hauv pes yam tsis tas yuav tuav nws? Tom qab ntawd, tsis saib ntxiv lawm.

Txhawm rau tsim txoj haujlwm no, koj yuav xav tau:

- Arduino Microcontroller thiab IDE

- USB Cable txhawm rau upload tus lej

- Cov qhob cij

- Jumper Hlau

- LCD Zaub

- Kev pabcuam

- Kab uas tuaj yeem txuas rau servo

- IR Chaw Taws Teeb

- Tus Txais IR

-10k ohm resistor

- Kenu Airframe+ Xov Tooj Clip (lossis qee yam los tuav lub xov tooj hauv qhov chaw)

- 9 V Roj teeb rau lub zog nqa lossis tsuas yog USB siv Arduino

Kauj Ruam 1: Tsim IR Tus Txais Txais Circuit

Tsim IR Tus Neeg Txais Circuit
Tsim IR Tus Neeg Txais Circuit
Tsim IR Tus Neeg Txais Circuit
Tsim IR Tus Neeg Txais Circuit

Ua ntej, dhia GND thiab +5V los ntawm Arduino mus rau txoj kab hluav taws xob ntawm koj lub khob cij. Tom qab ntawd, dhia koj li 10k ohm resistor los ntawm +5V fais fab kev tsheb nqaj hlau mus rau tus pin tso tawm ntawm koj tus IR receiver phototransistor. Tom ntej no, siv lub xov hlau txuas los txuas rau tus pin 11 ntawm Arduino los ntawm tus pin tso tawm ntawm IR tus txais. Tom qab ntawd, siv ob lub xov hlau jumper xa hauv av thiab +5V mus rau tus lej tshwj xeeb ntawm tus txais IR. Lub lim RC pom hauv daim duab saum toj no tsis tsim nyog. Thaum kawg, Kuv tsis tau ua cov txheej txheem pom hauv cov kauj ruam no, thiab cov hauv paus rau nws yog tam sim no hauv daim duab.

Kauj Ruam 2: Txuas Tus Pabcuam, Kab, thiab Tus Xov Tooj

Txuas tus Servo, Kab, thiab Tus Tuav Xov Tooj
Txuas tus Servo, Kab, thiab Tus Tuav Xov Tooj
Txuas tus Servo, Kab, thiab Tus Tuav Xov Tooj
Txuas tus Servo, Kab, thiab Tus Tuav Xov Tooj
Txuas tus Servo, Kab, thiab Tus Tuav Xov Tooj
Txuas tus Servo, Kab, thiab Tus Tuav Xov Tooj

Tam sim no, siv ob lub xov hlau jumper los dhia hauv av thiab +5V ntawm lub khob cij fais fab ntsia rau hauv cov xim av thiab xim liab ntawm cov servo, feem. Tom qab ntawd, siv ib lub xov hlau txuas txuas tus pin 9 ntawm Arduino mus rau cov kab txaij liab ntawm qhov kev pabcuam.

Tom qab ntawd, txuas kab ntawv rau lub taub hau ntawm servo raws li qhia hauv daim duab thib ob.

Thaum kawg, muab qee yam los tuav lub xov tooj rau kab ntawv, zoo li Kenu Airframe+, raws li qhia hauv daim duab thib peb.

Kauj Ruam 3: Txuas lub LCD Saib rau Servo Readout

Txuas lub LCD Zaub rau Servo Readout
Txuas lub LCD Zaub rau Servo Readout

Dhia hauv av thiab +5V los ntawm koj lub khob cij fais fab kab mus rau tus lej tshwj xeeb ntawm LCD Zaub. Tsis tas li, dhia SDA thiab SCL pins los ntawm LCD mus rau Ardiuno. Arduino's SDA thiab SCL pins tuaj yeem txheeb xyuas tau los ntawm sab nraum qab ntawm Arduino board thiab yog ob lub pins saum AREF thiab hauv av saum tus pin 13. Tus pin SCL yog qhov siab tshaj plaws. Qhov no tso cai rau LCD saib nyeem tawm txoj haujlwm tam sim no.

Kauj Ruam 4: Siv Txoj Cai thiab Cov Tsev Qiv Ntawv Txuas nrog rau Program Arduino

Siv Txoj Cai thiab Cov Tsev Qiv Ntawv Txuas nrog rau Program Arduino
Siv Txoj Cai thiab Cov Tsev Qiv Ntawv Txuas nrog rau Program Arduino

Rub cov ntawv RotatingMountCode.zip. Nruab Arduino IDE thiab unzip cov ntawv rub tawm rau hauv Documents / Arduino. Nco ntsoov tias koj theej cov ntsiab lus ntawm kuv daim duab qhia chaw thiab cov ntawv khaws cia rau hauv koj daim duab thiab cov ntawv qiv. Qhib ServoIRandLCD kos duab thiab xa nws mus rau koj Arduino.

Saib cov kauj ruam tom ntej rau kev piav qhia txoj cai.

Kauj Ruam 5: Txuas Qhov Xav Tau Lub Hwj Chim Los Rau Arduino thiab Siv Cov Chaw Taws Teeb kom tig lub Roob

Txuas Kev Xav Tau Lub Hwj Chim Qhov Chaw rau Arduino thiab Siv Lub Chaw Taws Teeb kom tig Mount!
Txuas Kev Xav Tau Lub Hwj Chim Qhov Chaw rau Arduino thiab Siv Lub Chaw Taws Teeb kom tig Mount!
Txuas Kev Xav Tau Lub Hwj Chim Qhov Chaw rau Arduino thiab Siv Lub Chaw Taws Teeb kom tig Mount!
Txuas Kev Xav Tau Lub Hwj Chim Qhov Chaw rau Arduino thiab Siv Lub Chaw Taws Teeb kom tig Mount!

Ib qho twg tawm ntawm Arduino ntsaws rau hauv koj lub computer lossis tshem nws los ntawm koj lub khoos phis tawj thiab siv lub roj teeb 9V los muab DC zog rau Arduino. Thaum kawg, siv tus nqi pheej yig IR los tswj cov servo thiab yog li ntawd kev taw qhia ntawm lub xov tooj nce!

Tus naj npawb 1 ntawm cov chaw taws teeb yuav tsum teeb tsa txoj haujlwm servo rau 0 degrees, tus lej 2 txog 90 degrees, thiab tus lej 3 txog 180 degrees. Lub caij no cov + thiab - cov nyees khawm ntawm cov chaw taws teeb yuav tsum nce lossis txo qis lub servo lub kaum sab xis los ntawm 1 degree, feem.

Nco tseg: Yog tias koj siv IR Chaw Taws Teeb sib txawv dua li daim duab ntawm no, nws muaj peev xwm ua tau IR cov lej sib xws rau ntau lub khawm hloov. Yog tias yog, hloov kho ServoIRandLCD kos duab los siv cov lej IR no dua.

Kauj Ruam 6: Nyeem Qhov No Rau Cov Cai piav qhia

Nyeem qhov no rau Cov Cai piav qhia
Nyeem qhov no rau Cov Cai piav qhia
Nyeem qhov no rau Cov Cai piav qhia
Nyeem qhov no rau Cov Cai piav qhia

Cov peev txheej rau Arduino kos duab tuaj yeem pom hauv qab no lossis hauv cov ntawv.zip txuas yav tas los. Cov tsev qiv ntawv xav tau tsuas yog muaj nyob hauv cov ntawv txuas yav tas los.zip hauv qib 4.

Thawj qhov uas cov cai ua yog suav nrog cov tsev qiv ntawv tsim nyog xav tau los ua haujlwm tag nrho cov haujlwm hauv daim duab. Tom ntej no, nws tshaj tawm tus pin 9 ntawm Arduino los ua PWM-qhib teeb liab tus pin rau servo. Nws kuj tseem ua tus pin 11 ntawm Arduino tus pin siv rau IR tus txais. Tom ntej no, nws tshaj tawm qhov sib txawv ntawm qhov sib txawv uas siv los taug qab ntawm servo txoj haujlwm hauv qib thiab teev nws mus rau 0 degrees, thaum pib. Tom qab ntawd, nws muab cov khoom xav tau tam sim rau IRrecv cov khoom, cov khoom siv servo, thiab myDisplay LCD cov khoom (uas tseem tau teeb tsa hauv tib kab) yog li cov khoom no tuaj yeem siv tom qab.

Tom ntej no, hauv kev teeb tsa muaj nuj nqi, qhov chaw nres nkoj txuas tau pib ntawm 9600 ntsis/sec yog li cov ntawv xov xwm tuaj yeem siv los taug qab cov servo txoj haujlwm yog xav tau. Nws tseem txuas cov khoom siv myservo rau tus pin 9, pib IR tus txais, thiab pib ua cov zaub LCD.

Hauv lub luag haujlwm tseem ceeb, lub cev tsuas yog ua tiav yog tias tau txais kev xa xov IR los ntawm IR tus txais, IR tus txais yuav txiav txim siab lub teeb liab xa mus rau nws los ntawm IR chaw taws teeb uas siv qhov txiav txim siab (& cov txiaj ntsig) ua haujlwm thiab tom qab ntawd yog nqe lus txiav txim siab dab tsi los teeb tsa servo raws li tus nqi IR tau txais. Kev sau ua haujlwm tau siv los teeb tsa lub servo rau nws qib uas tsim nyog, thiab nyeem ua haujlwm tau siv los nrhiav lub kaum ntse ntse tam sim no ntawm servo thiab nce lossis txo nws raws li qhov tsim nyog.

Thaum kawg, lub kaum tam sim no ntawm qhov kev pabcuam raug xa mus rau ob qho tib si saib thiab LCD zaub siv myservo.read () muaj nuj nqi, thiab lub ntsiab lus tseem ceeb txuas mus tas li.

Tau qhov twg los Code:

#include // Arduino standard library #suav nrog // IR library #include "Wire.h" //Wire.h rau LCD (qee zaum xav tau) #include "LiquidCrystal_I2C.h" // LCD library

#define servopin 9 // qhov no txhais tus pin 9 raws li tus pin siv rau servo tswj cov hmoov txhuas (txiv kab ntxwv)

int RECV_PIN = 11; // IR photo-transistor xa cov zis rau tus pin 11

int currentAngle = 0; // tshaj tawm currentAngle integer variable thiab teeb rau 0

IRrecv irrecv (RECV_PIN); // instantiate tus IR receiver object decode_results cov txiaj ntsig; // instantiate tus decode_results kwv. Cov khoom no yog cais los ntawm IR tus txais.

Servo tswj; // instantiate ib yam khoom siv Servo lub npe 'myservo' // ntau kawg ntawm yim yam khoom siv servo tuaj yeem tsim

LiquidCrystal_I2C myDisplay (0x27, 16, 2); // instantiate LCD khoom thiab teeb tsa teeb tsa

void teeb tsa () {

Serial.begin (9600); // pib qhov chaw nres nkoj

myservo.attach (servopin); // txuas cov servo ntawm tus pin 9 rau cov khoom siv servo

irrecv.enableIRIn (); // pib tus txais

myDisplay.init (); // pib LCD

myDisplay.backlight (); // qhib lub teeb nrig LCD

}

void voj () {

yog (irrecv.decode (& cov txiaj ntsig)) // yog tias kis tau txais …

{Serial.print ("IR tus nqi tau txais:");

Serial.println (results.value); // tso saib tus nqi tau txais

// txhais cov lus txib tau txais … yog (cov txiaj ntsig.value == 16724175) // 1 {// sab laug myservo.write (0); }

yog (results.value == 16718055) // 2 {// nruab nrab myservo.write (90); }

yog (results.value == 16743045) // 3 {// right myservo.write (180); }

yog (results.value == 16754775) //+ {// nce tam sim noAngle = myservo.read (); myservo.write (currentAngle + 1); } yog (results.value == 16769055) //- {// txo tam sim noAngle = myservo.read (); myservo.write (currentAngle - 1); }}

irrecv.resume (); // Tau txais tus nqi tom ntej

// Serial monitor print Serial.print ("Txoj haujlwm tam sim no:");

Serial.println (myservo.read ()); // qhov no khaws cov haujlwm servo thiab xa nws mus rau tus saib xyuas

// LCD luam myDisplay.clear ();

myDisplay.print ("Servo deg.:");

myDisplay.print (myservo.read ());

ncua (200); // ncua kom ua haujlwm servo ruaj khov

}

Kauj Ruam 7: Saib Kuv Tus Youtube Video Rau Kev Pab

Saib kuv cov npe hauv YouTube cov vis dis aus uas tham txog thiab qhia txog qhov haujlwm yog tias koj muaj lus nug!

Pom zoo: