Агуулгын хүснэгт:

Arduino руу эргэдэг утасны залгах интерфэйс: 6 алхам (зурагтай)
Arduino руу эргэдэг утасны залгах интерфэйс: 6 алхам (зурагтай)

Видео: Arduino руу эргэдэг утасны залгах интерфэйс: 6 алхам (зурагтай)

Видео: Arduino руу эргэдэг утасны залгах интерфэйс: 6 алхам (зурагтай)
Видео: Удаленно контролировать энергопотребление дома | ПЗЭМ-004Т | Облако Интернета вещей RemoteXY 2024, Долдугаар сарын
Anonim
Arduino руу эргэдэг утасны залгах интерфейс
Arduino руу эргэдэг утасны залгах интерфейс
Arduino руу эргэдэг утасны залгах интерфейс
Arduino руу эргэдэг утасны залгах интерфейс

Хуучин эргэдэг утсыг Arduino төслүүддээ хэд хэдэн зорилгоор ашиглаж болно - үүнийг шинэ оролтын төхөөрөмж болгон ашиглах, эсвэл эргүүлэх утсыг компьютерт холбохын тулд Arduino -ийг ашиглана уу. Arduino руу залгаж, дугаарыг нь Arduino -ийн цуваа холбоосоор дамжуулан компьютерт шилжүүлээрэй.

Алхам 1: Утаснаас залгах утсыг салга

Утаснаас залгах утсыг устгана уу
Утаснаас залгах утсыг устгана уу
Утаснаас залгах утсыг устгана уу
Утаснаас залгах утсыг устгана уу
Утаснаас залгах утсыг устгана уу
Утаснаас залгах утсыг устгана уу

Эхний алхам бол залгах төхөөрөмжийг утсан дээрээс салгах явдал юм. Би 1970 -аад оны үеийн GPO утас ашиглаж байгаа бөгөөд энэ утсан дээр залгах товчлуур шууд гарч ирэв. Үгүй бол утсаа онгойлгож, яаж унтраахаа шийдэх хэрэгтэй болно. Залгах төхөөрөмжийн ар талд таван кабель холбогдсон байв. Миний утсан дээр эдгээр нь тогтмол хүрзний холболт байсан тул боолтоо тайлж, сугалж авав. Хэрэв та утсаа дахин угсрахыг хүсч байвал ямар өнгийн утас аль холболт руу явж байгааг тэмдэглэхээ мартуузай.

Алхам 2: Шилжүүлэгчийг тодорхойлно уу

Шилжүүлэгчийг тодорхойлно уу
Шилжүүлэгчийг тодорхойлно уу

Залгуурыг гаргасны дараа залгуур нь эргэх хөдөлгөөнийг импульс болгон хэрхэн хувиргадаг болохыг харахад харьцангуй хялбар байх ёстой. Залгуурыг гараараа эргүүлж, арын хөдөлгөөнийг ажиглаж үзээрэй. Та хэлхээ хийж, тасалж буй унтраалгыг харах ёстой. Тиймээс хэрэв та '9' залгах юм бол 9 удаа залгах хэрэгтэй. Өмнө нь хэзээ ч эргүүлэх залгуур ашиглаж байгаагүй хүмүүсийн хувьд залгах нь зөвхөн зөвшөөрсөн тохиолдолд л хийгддэг гэдгийг санаарай. Дугаар руу нь ороод буцааж орхи. Би утсандаа хэрхэн ажилладаг талаар доорх зурган дээрх тэмдэглэлд бичсэн болно. Мөн механизм ажиллаж байгаа тухай бүдэгхэн видео байна.

Алхам 3: Цахилгаан хэлхээг хий

Цахилгаан хэлхээг хий
Цахилгаан хэлхээг хий
Цахилгаан хэлхээг хий
Цахилгаан хэлхээг хий

Хийж, эвдэрч байгаа унтраалгыг олсны дараа утсыг дагаж холболтын терминал руу буцах замаар холболтыг тодорхойлох боломжтой байх ёстой. Миний хувьд унтраалгын хоёр тал нь хамгийн зүүн талын хоёр терминалтай холбогдсон бөгөөд эдгээр терминалуудыг зарим холбогч утас руу холбож, загварчлах боломжтой болно. Миний залгах товчлуур үргэлж асаалттай байдаг бөгөөд залгах үед импульс бүрийн хувьд эвдэрдэг тул би доорх маш энгийн хэлхээг ашигласан. 2 -р зүү нь эргэлтийг эргүүлэх үед импульс бүрийн хувьд өндөр болно. Утас залгахгүй байгаа үед залгах хэсгийн унтраалга хаагдсан (тодорхой шалтгааны улмаас NORMALLY CLOSED гэж нэрлэгддэг) тул хэлхээ нь 2-р зүүг газардуулдаг (энэ нь Arduino-тай LOW). Учир нь 470 ом эсэргүүцэл нь 10K эсэргүүцэлээс хамаагүй бага байдаг. Утас залгах үед унтраалга хурдан нээгдэж хаагддаг (9 -ийн хувьд 9 удаа дахин нээгдэж, хаагдах болно гэдгийг санаарай). Шилжүүлэгч нээлттэй байх үед 2 -р зүү нь газардуулгатай холбогдоогүй бөгөөд 5 -р тэжээлд 10470 ом эсэргүүцэлтэй холбогддог. Үүнийг Arduino -ийн хувьд өндөр гэж тайлбарладаг. Хэрэв таны залгах товчлуур NORMALLY OPEN байвал 10K резисторийн байрлалыг сольж, залгах нь заль мэх хийх ёстой.

Алхам 4: Код боловсруулах

Кодоо боловсруул
Кодоо боловсруул

Одоо бидэнд импульсийг тоолж, цуваа портоор залгасан дугаар бүрийн тоог илгээхийн тулд Arduino код хэрэгтэй болно. Бид энд механикуудтай харьцаж байгаа тул таных өөр байж магадгүй юм. Дебунга тогтмол болон 'залгах товчлуур эргэж дуусаагүй байхад бид хэр удаан хүлээх вэ' тогтмолыг тоглож үзээрэй. Би үүнийг аль болох цэвэрхэн тайлбарлахыг хичээсэн. IntToPrint = 0; int count; int in = 2; int lastState = LOW; int trueState = LOW; long lastStateChangeTime = 0; int cleared = 0; // constantsint dialHasFinishedRotatingAfterMs = 100; int debounceDelay = 10; void setup () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int унших = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// залгах залгахгүй байна, эсвэл дуудаж дуусаагүй байна. if (needToPrint) {// хэрэв дөнгөж залгаж дуусаагүй бол бид дугаарыг цуваа // мөрөнд илгээж, тооллогыг дахин тохируулах шаардлагатай болно. Бид тооллогыг 10 -аар өөрчилдөг, учир нь '0' нь 10 импульс илгээдэг. Serial.print (тоолох % 10, DEC); needToPrint = 0; тоолох = 0; цэвэрлэсэн = 0; }} if (унших! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - энэ нь тогтворжсон тохиолдолд тохиолддог (хэрэв унших! = trueState) {// энэ нь унтраалга дөнгөж хаалттай-> нээлттэй эсвэл эсрэгээрээ явсан гэсэн үг юм.. trueState = унших; if (trueState == HIGH) {// хэрэв энэ нь өндөр болсон бол импульсийн тоог нэмэгдүүлнэ. тоолох ++; needToPrint = 1; // бид энэ дугаарыг хэвлэх шаардлагатай болно (залгах товчийг эргүүлж дуусаад)}}} lastState = унших;}

Алхам 5: Үүнийг шалгаж үзээрэй

Цуваа цонх нээх замаар ажиллаж байгаа эсэхийг шалгаарай (би unix машин дээр дэлгэц ашигладаг, та Windows дээр Hyperterm эсвэл үүнтэй төстэй зүйлийг ашиглахыг хүсч магадгүй), мөн зарим дугаарыг залгаж үзээрэй. Цуваа програмыг USB-ээс уншихаар тохируулагдсан эсэхийг шалгаарай. > Arduino-ийн цуваа адаптер (хэрэв та үүнийг мартсан бол Arduino програм хангамжийн Tools-> Serial Port цэсийг шалгана уу), өгөгдөл дамжуулах хурд нь 9600 bps бөгөөд залгахад зөв дугаар гарч ирэх ёстой.

Алхам 6: Хэрэгтэй зүйлд залга

Хэрэгтэй зүйлд холбоорой!
Хэрэгтэй зүйлд холбоорой!

Би оролтоо аваад дэлгэцэн дээр сайхан харуулахын тулд Mac дээрээ кварцын хөгжмийн зохиолч файлыг гаргаж ирэв. Энэ нь машинд цуваа өгөгдөл болж орсны дараа та юу ч хийж болно, таны санаа бодлыг сонсохыг хүлээж байна! Би энэ видеог "ажил дээрээ" гаргаж ирэн, тоонуудаа дэлгэцэн дээр хэвлэх болно. Надад камер барих - би гурван гартай байхыг хүсч байна.

Зөвлөмж болгож буй: