Агуулгын хүснэгт:
- Алхам 1: IR хүлээн авагчийн хэлхээг бий болгох
- Алхам 2: Серво, багана, утас эзэмшигчийг холбоно уу
- Алхам 3: Серво уншихын тулд LCD дэлгэцийг холбоно уу
- Алхам 4: Arduino програмчлахдаа хавсаргасан код, номын санг ашиглана уу
- Алхам 5: Хүссэн тэжээлийн эх үүсвэрийг Arduino -той холбож, алсын удирдлагаар уулыг эргүүлээрэй
- Алхам 6: Эх кодын тайлбарыг уншина уу
- Алхам 7: Тусламж авахын тулд миний Youtube видеог үзээрэй
Видео: Эргэдэг утасны холболт: 7 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү зааварчилгааг Өмнөд Флоридагийн их сургуулийн Макекурсын төслийн шаардлагыг биелүүлэх зорилгоор бүтээсэн болно (www.makecourse.com).
Утасныхаа контентийг босоо эсвэл ландшафтын хэв маягаар харахгүйгээр харахын тулд эргэдэг утасны бэхэлгээ хийхийг хүсч байна уу? Дараа нь цаашид харах хэрэггүй.
Энэхүү төслийг бий болгохын тулд танд дараахь зүйлс хэрэгтэй болно.
- Arduino микроконтроллер ба IDE
- Код оруулах USB кабель
- Талхны самбар
- холбогч утас
- LCD дэлгэц
- Серво
- Серво руу залгах боломжтой багана
- IR алсын удирдлага
- IR хүлээн авагч
- 10 к ом эсэргүүцэл
- Kenu Airframe+ Утасны хавчаар (эсвэл утсаа байрлуулах зүйл)
- Зөөврийн чадалтай 9 В батерей эсвэл USB -ээр ажилладаг Arduino
Алхам 1: IR хүлээн авагчийн хэлхээг бий болгох
Нэгдүгээрт, Arduino -аас GND ба +5V -ийг үсрээд талхны тавцан дээрх цахилгаан төмөр зам руу ороорой. Дараа нь +5V цахилгаан дамжуулах хоолойноос IR хүлээн авагчийн фототранзисторын гаралтын зүү рүү 10 к ом эсэргүүцэл үзүүлээрэй. Дараа нь холбогч утсыг ашиглан IR хүлээн авагчийн гаралтын зүүгээс Arduino дээрх 11 -р зүүг холбоно уу. Дараа нь хоёр холбогч утсыг ашиглан IR хүлээн авагч дээрх холбогдох зүү рүү газардуулга ба +5V дамжуулна. Дээрх бүдүүвч зураг дээрх RC шүүлтүүр шаардлагагүй. Эцэст нь би энэ алхамд үзүүлсэн схемийг хийгээгүй бөгөөд үүний эх сурвалж нь зураг дээр байгаа болно.
Алхам 2: Серво, багана, утас эзэмшигчийг холбоно уу
Одоо хоёр холбогч утсыг ашиглан газраас болон +5V талхны цахилгаан шугамын үсрэлтийг servo -ийн хүрэн, улаан утас руу тус тус хий. Дараа нь нэг холбогч утсыг ашиглан Arduino дээрх 9 -р зүүг servo -ийн улбар шар утсанд холбоно уу.
Дараа нь хоёр дахь зураг дээр үзүүлсэн шиг servo -ийн толгой дээр багана хавсаргана уу.
Эцэст нь утсыг багана дээр байрлуулах зүйлийг Kenu Airframe+шиг гуравдахь зурагт үзүүлсэн шиг хавсаргаарай.
Алхам 3: Серво уншихын тулд LCD дэлгэцийг холбоно уу
Талхны хавтангийн цахилгаан төмөр замаас +5V -ийг үсрэн LCD дэлгэц дээрх холбогдох тээглүүр рүү ороорой. Мөн SDA ба SCL тээглүүрийг LCD дэлгэцээс Ardiuno руу үсрээрэй. Arduino -ийн SDA ба SCL тээглүүрийг Arduino хавтангийн ар талаас таних боломжтой бөгөөд AREF болон Ground 13 -р дээрх хоёр зүү нь SCL зүү нь хамгийн өндөр нь юм. Энэ нь LCD дэлгэц нь одоогийн servo байрлалыг унших боломжийг олгодог.
Алхам 4: Arduino програмчлахдаа хавсаргасан код, номын санг ашиглана уу
RotatingMountCode.zip файлыг татаж авах. Arduino IDE -ийг суулгаад татаж авсан файлыг Documents / Arduino руу задална уу. Миний ноорог, номын сангийн фолдерын агуулгыг ноорог, номын сангийнхаа хавтсанд хуулж байгаа эсэхийг шалгаарай. ServoIRandLCD ноорогыг нээгээд Arduino дээрээ байршуулна уу.
Кодыг тайлбарлахын тулд дараагийн алхамуудыг үзнэ үү.
Алхам 5: Хүссэн тэжээлийн эх үүсвэрийг Arduino -той холбож, алсын удирдлагаар уулыг эргүүлээрэй
Arduino -г компьютер дээрээ залгаарай эсвэл компьютерээсээ салгаад 9V батерей ашиглан Arduino -г тогтмол гүйдлийн хүчээр хангах хэрэгтэй. Эцэст нь хямдхан IR алсын удирдлага ашиглан servo -ийг хянах боломжтой бөгөөд ингэснээр утасны бэхэлгээний чиглэлийг анхаарч үзээрэй!
Алсын удирдлага дээрх 1 тоо нь servo байрлалыг 0 градус, 2 дугаарыг 90 градус, 3 дугаарыг 180 градусаар тохируулах ёстой. Үүний зэрэгцээ алсын удирдлага дээрх + ба - товчлуурууд нь servo -ийн өнцгийг 1 градусаар нэмэгдүүлэх эсвэл бууруулах ёстой.
Тэмдэглэл: Хэрэв та энд байгаа зурагнаас өөр IR алсын удирдлага ашиглаж байгаа бол янз бүрийн товчлууруудад харгалзах IR кодыг өөрчлөх боломжтой. Хэрэв тийм бол эдгээр IR кодыг ашиглахын тулд ServoIRandLCD ноорогыг өөрчилнө үү.
Алхам 6: Эх кодын тайлбарыг уншина уу
Arduino ноорогны эх кодыг доороос эсвэл өмнө хавсаргасан.zip файлаас олж болно. Шаардлагатай номын сангуудыг зөвхөн 4 -р алхамд өмнө хавсаргасан.zip файлаас олж болно.
Кодын хийх ёстой хамгийн эхний зүйл бол ноорог дээрх бүх функцийг ажиллуулахад шаардлагатай номын санг оруулах явдал юм. Дараа нь энэ нь Arduino дээрх 9-р зүүг servo-ийн ХОУХ-ны идэвхжүүлсэн дохионы зүү гэж зарлав. Энэ нь мөн Arduino дээрх 11 -р зүүг IR хүлээн авагчид ашигладаг. Дараа нь энэ нь servo -ийн байрлалыг градусаар хянахад ашигладаг бүхэл тоон хувьсагчийг зарлаж, эхлээд 0 градус болгож тохируулдаг. Дараа нь энэ нь IRrecv объект, servo объект болон myDisplay LCD объектод шаардлагатай объектыг үүсгэдэг (үүнийг нэг мөрөнд тохируулсан байдаг) тул эдгээр объектыг дараа нь ашиглах боломжтой болно.
Дараа нь тохиргооны функц дээр цуваа портыг 9600 бит/сек -ээр эхлүүлдэг тул хэрэв хүсвэл сероны мониторыг ашиглаж болно. Мөн myservo объектыг 9 -р зүүгээр холбож, IR хүлээн авагчийг эхлүүлж, LCD дэлгэцийг эхлүүлнэ.
Үндсэн давталтын функцэд зөвхөн IR хүлээн авагчаас IR дамжуулалтыг хүлээн авсан тохиолдолд гүйцэтгэгддэг, IR хүлээн авагч нь декод (& үр дүн) функцийг ашиглан IR алсын удирдлагаас илгээсэн дохиог тайлдаг бөгөөд хэрэв мэдэгдэл нь юу болохыг тодорхойлдог бол хүлээн авсан IR утгаас хамааран servo -ийг тохируулах. Бичих функцийг servo -ийг зохих түвшинд тохируулахын тулд ашигладаг бөгөөд унших функцийг servo -ийн одоогийн өнцгийг олж, шаардлагатай бол нэмэгдүүлэх эсвэл багасгахад ашигладаг.
Эцэст нь, servo -ийн одоогийн өнцгийг myservo.read () функцийг ашиглан цуваа дэлгэц болон LCD дэлгэц рүү илгээдэг бөгөөд гол гогцоонууд нь тодорхойгүй хугацаагаар давтагддаг.
Эх код:
#оруулах // Arduino стандарт номын сан #оруулах // IR номын сан
#тодорхойлох servopin 9 // энэ нь зүү 9 -ийг servo удирдлагад ашигладаг зүү гэж тодорхойлдог (улбар шар)
int RECV_PIN = 11; // IR гэрэл транзистор гаралтыг 11-р зүү рүү илгээдэг
int currentAngle = 0; // currentAngle бүхэл тоон хувьсагчийг зарлаж 0 болгож тохируулна
IRrecv irrecv (RECV_PIN); // IR хүлээн авагчийн объектын decode_results үр дүнг бий болгох; // decode_results объектыг үүсгэх. Энэ объект нь IR хүлээн авагчаас тусдаа юм.
Servo myservo; // 'myservo' нэртэй Servo объектыг бий болгох // хамгийн ихдээ найман servo объект үүсгэж болно
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // LCD объектыг эхлүүлж, тохиргоог тохируулна уу
хүчингүй тохиргоо () {
Цуваа эхлэх (9600); // цуваа портыг эхлүүлэх
myservo.attach (servopin); // 9 -р зүү дээрх servo -ийг servo объект руу хавсаргана
irrecv.enableIRIn (); // хүлээн авагчийг эхлүүлэх
myDisplay.init (); // LCD дэлгэцийг эхлүүлэх
myDisplay.backlight (); // LCD арын гэрлийг асаах
}
void loop () {
if (irrecv.decode (& үр дүн)) // хэрэв дамжуулалтыг хүлээн авсан бол …
{Serial.print ("IR утга хүлээн авсан:");
Serial.println (үр дүнгийн утга); // дэлгэцийн утгыг хүлээн авлаа
// хүлээн авсан тушаалуудыг тайлбарлах … if (results.value == 16724175) // 1 {// left myservo.write (0); }
if (results.value == 16718055) // 2 {// middle myservo.write (90); }
if (results.value == 16743045) // 3 {// баруун myservo.write (180); }
if (results.value == 16754775) //+ {// increment currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// decrement currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
irrecv. resume (); // Дараагийн утгыг хүлээн авна уу
// Serial monitor хэвлэх Serial.print ("Одоогийн servo байрлал:");
Serial.println (myservo.read ()); // энэ нь servo байрлалыг авч цуваа дэлгэц рүү илгээдэг
// LCD хэвлэх myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
саатал (200); // servo actuation -ийг тогтвортой болгохын тулд хойшлуулах
}
Алхам 7: Тусламж авахын тулд миний Youtube видеог үзээрэй
Хэрэв танд ямар нэгэн асуулт байвал төслийг бүрэн хэлэлцэж, харуулсан миний жагсаалтгүй YouTube видеог үзээрэй!
Зөвлөмж болгож буй:
Захиалгат ПХБ -тэй утасны утасны өсгөгч: 8 алхам (зурагтай)
Захиалгат ПХБ -ийн тусламжтайгаар утасны утасны өсгөгч: Би хэсэг хугацаанд чихэвчний өсгөгч бүтээж (төгс болгохыг оролдож байна). Та нарын зарим нь миний өмнөх "ible" бүтцийг харах байсан байх. Миний хувьд эдгээрийг доорх линкээр холбогдоогүй хүмүүсийн хувьд би хуучин загваруудынхаа хувьд үргэлж прототип хавтанг ашигласан
Зөөврийн цэнэглэгчтэй утасны холболт: 5 алхам
Зөөврийн цэнэглэгчтэй утасны холболт: Энэхүү төсөлд би утасны бэхэлгээ, дотор нь тохирох зөөврийн цэнэглэгчийг хэрхэн хийхийг танд үзүүлэх болно
DWMM0 гар утасны холболт Mezzanine: 3 алхам
DWMM0 Mobile Connectivity Mezzanine: Энэ нь DWMM0 мезаниныг алсаас өгөгдөл бүртгэхэд ашигладаг энгийн жишээ юм.Энэ програмын үйлчлүүлэгч тал нь GNSS/GPS өгөгдлийг уншиж сервер рүү дамжуулах үүрэгтэй python скрипт (client.py) ажиллуулдаг. (TCP/IP -ээр дамжуулан
Google Home утасгүй цэнэглэгч модон машины утасны холболт: 7 алхам (зурагтай)
Google Home утасгүй цэнэглэгч модон машины утасны холболт: Тавтай морилно уу! Та утсаа нээхгүйгээр машин жолоодож байхдаа Google -ээс асуулт асуухыг хүсч байсан уу? Google Туслах бол гайхалтай онцлог шинж чанартай гайхалтай програм боловч утсаа онгойлгож, програмыг онгойлгох эсвэл гэрийнхээ товчлуурыг дарах шаардлагатай
Arduino руу эргэдэг утасны залгах интерфэйс: 6 алхам (зурагтай)
Arduino руу залгах утасны интерфэйс: Хуучин эргэдэг утсыг Arduino төслүүдэд хэд хэдэн зорилгоор ашиглаж болно - үүнийг шинэ оролтын төхөөрөмж болгон ашиглах, эсвэл Arduino ашиглан эргэдэг утсыг компьютерт холбох. залгах залгуурыг хооронд нь хэрхэн холбох талаар тайлбарласан маш энгийн гарын авлага