Мазмұны:

Arduino -ға айналатын телефонның интерфейсі: 6 қадам (суреттермен)
Arduino -ға айналатын телефонның интерфейсі: 6 қадам (суреттермен)

Бейне: Arduino -ға айналатын телефонның интерфейсі: 6 қадам (суреттермен)

Бейне: Arduino -ға айналатын телефонның интерфейсі: 6 қадам (суреттермен)
Бейне: Arduino Uno WiFi — знакомый контроллер с чипом ESP8266 на борту. Железки Амперки 2024, Қараша
Anonim
Arduino телефонына айналмалы телефон теру интерфейсі
Arduino телефонына айналмалы телефон теру интерфейсі
Arduino телефонына айналмалы телефон теру интерфейсі
Arduino телефонына айналмалы телефон теру интерфейсі

Ескі айналмалы телефонды Arduino жобаларында бірнеше мақсаттарда қолдануға болады - оны жаңа енгізу құрылғысы ретінде пайдаланыңыз немесе компьютерге айналмалы телефонды қосу үшін Arduino қолданыңыз. Arduino -ға қоңырау шалыңыз және нөмірді компьютерге Arduino сериялық сілтемесі арқылы жіберіңіз.

1 -қадам: Нөмірді телефоннан алып тастаңыз

Нөмірді телефоннан алып тастаңыз
Нөмірді телефоннан алып тастаңыз
Нөмірді телефоннан алып тастаңыз
Нөмірді телефоннан алып тастаңыз
Нөмірді телефоннан алып тастаңыз
Нөмірді телефоннан алып тастаңыз

Бірінші қадам - телефоннан теру блогын алып тастау. Мен 1970 -ші жылдардағы GPO телефонын қолданамын, бұл телефонда теру бірден шығып кетті - мен оны тартуға тура келді. Егер олай болмаса, телефонды ашып, оны қалай өшіру керектігін ойластыру қажет болуы мүмкін. Теру құрылғысының артқы жағына бес кабель қосылған. Менің телефонымда бұл тұрақты күрек қосылымдары болды, сондықтан мен бұрандаларды босатып, шығарып алдым. Егер сіз телефонды қайта жинағыңыз келсе, қандай түсті сымның қандай байланысқа баратынын жазып алуды ұмытпаңыз.

2 -қадам: Коммутаторды анықтаңыз

Коммутаторды анықтаңыз
Коммутаторды анықтаңыз

Нөмір сыртқа шыққаннан кейін, айналдыру қозғалысын импульстарға қалай түрлендіретінін салыстыру оңай болуы керек. Нөмірді қолмен айналдырып, артқы жағындағы қозғалысты бақылап көріңіз. Сіз коммутатордың тізбекті тез жасайтынын және үзіліп жатқанын көруіңіз керек - егер сіз '9' терсеңіз, коммутатор тоғыз рет қосылуы керек. Бұрын айналмалы циферблатты ешқашан қолданбаған адамдар үшін - теру рұқсат берілген кезде ғана болатынын есте сақтаңыз. Нөмірге өтіңіз және оны кері қайтарыңыз. Мен төмендегі суреттің жазбаларында телефоным үшін қалай жұмыс істейтінін құжаттадым. Сондай -ақ механизмнің жұмысының бұлдыр бейнесі бар.

3 -қадам: Схеманы жасаңыз

Циклды жасаңыз
Циклды жасаңыз
Циклды жасаңыз
Циклды жасаңыз

Сіз істеп тұрған және істен шыққан қосқышты тапқаннан кейін, сымдарды қосылу терминалдарына қайтару арқылы қосылымдарды анықтауыңыз керек. Менің жағдайда, коммутатордың екі жағы сол жақтағы екі терминалға қосылған, бұл терминалдарды бірнеше секіргіш сымдарға жалғап, прототипін алыңыз! Менің теру коммутаторым үнемі қосылады және теру кезінде әрбір импульсте үзіледі, сондықтан мен төмендегі өте қарапайым схеманы қолдандым. 2 -түйреуіш пульті айналған сайын әрбір импульс үшін жоғары болады. Телефон терілмеген кезде, теру блогындағы қосқыш жабық болады (белгілі себептерге байланысты NORMALLY CLOSED деп аталады), сондықтан тізбек 2-істікті жерге қосады (бұл Arduino-ға ТӨМЕН). Бұл 10K резисторға қарағанда 470 Ом резисторы арқылы қарсылық әлдеқайда аз болғандықтан, телефон терілген кезде қосқыш тез ашылады және жабылады (9 үшін ол тоғыз рет қайта ашылады және жабылады, есіңізде болсын). Ажыратқыш ашық болғанда, 2 -штырь жерге қосылмайды - керісінше, ол 5В қоректенуге 10470 Ом кедергісі арқылы қосылады. Мұны Arduino жоғары деп түсіндіреді, егер сіздің теруіңізде NORMALLY OPEN қосқышы болса, онда 10K резистордың орнын ауыстырып, теру керек.

4 -қадам: Кодексті әзірлеу

Кодексті әзірлеу
Кодексті әзірлеу

Енді бізге Arduino -ға импульстарды санау және сериялық порт арқылы терілген нөмірдің жалпы санын жіберу үшін код қажет. Менің кодым төменде. Біз мұнда механиктермен айналысатын болсақ, сіздікі басқаша болуы мүмкін. Шығару константасын және «айналдыру аяқталғанша қанша уақыт күтеміз» айнымалысын ойнауға тырысыңыз. Мен оны мүмкіндігінше ұқыпты түрде түсіндіруге тырыстым. Бұл өте қарапайым. void setup () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int reading = 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) {// дебунс - бұл стабилизацияланған кезде орын алады, егер (оқу! = trueState) {// бұл коммутатор жабық-> ашық немесе керісінше жақында ғана кеткенін білдіреді. trueState = оқу; if (trueState == HIGH) {// егер ол жоғары болса, импульс санын көбейтіңіз. санау ++; needToPrint = 1; // бізге бұл нөмірді басып шығару қажет болады (теру бұрылған соң)}}} lastState = оқу;}

5 -қадам: жұмыс істейтінін тексеріңіз

Сериялық терезені ашу арқылы оның жұмыс істейтінін тексеріңіз (мен экранды unix машинасында қолданамын, Windows жүйесінде Hyperterm немесе ұқсас құралдарды қолданғыңыз келуі мүмкін) және кейбір нөмірлерді теріп көріңіз. > Arduino-дегі сериялық адаптер (егер сіз мұны ұмытып қалсаңыз, Arduino бағдарламалық жасақтамасындағы Құралдар-> Сериялық порт мәзірін тексеріңіз) және жіберу жылдамдығы 9600 bps. Сіз терген кезде дұрыс нөмірдің шығуын көресіз.

6 -қадам: Пайдалы нәрсеге байлаңыз

Оны пайдалы нәрсеге байлаңыз!
Оны пайдалы нәрсеге байлаңыз!

Мен Mac жүйесінде Quartz Composer файлын ойлап тауып, оны экранға жақсы шығардым. Ол машинада сериялық деректер ретінде болған кезде, сіз онымен кез келген нәрсені жасай аласыз. Сіздің ойыңызды естуді күтемін! Мен оның «әрекетінде» бейнесін ойлап табамын және біреуді алғаннан кейін сандарды экранға басып шығарамын. Мен үшін камераны ұстау - менің үш қолым болғанын қалаймын.

Ұсынылған: