Satura rādītājs:

Savienojiet rotācijas tālruņa zvanu ar Arduino: 6 soļi (ar attēliem)
Savienojiet rotācijas tālruņa zvanu ar Arduino: 6 soļi (ar attēliem)

Video: Savienojiet rotācijas tālruņa zvanu ar Arduino: 6 soļi (ar attēliem)

Video: Savienojiet rotācijas tālruņa zvanu ar Arduino: 6 soļi (ar attēliem)
Video: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, Jūlijs
Anonim
Savienojiet rotācijas tālruņa numuru ar Arduino
Savienojiet rotācijas tālruņa numuru ar Arduino
Savienojiet rotācijas tālruņa numuru ar Arduino
Savienojiet rotācijas tālruņa numuru ar Arduino

Veco rotējošo tālruni jūsu Arduino projektos var izmantot vairākiem mērķiem - izmantojiet to kā jaunu ievades ierīci vai izmantojiet Arduino, lai savienotu rotējošo tālruni ar datoru. Šī ir ļoti vienkārša rokasgrāmata, kurā aprakstīts, kā saskarties ar ciparnīcu uz Arduino un saņemiet izsaukto numuru datorā, izmantojot Arduino sērijas saiti.

1. darbība: noņemiet zvanu no tālruņa

Noņemiet zvanu no tālruņa
Noņemiet zvanu no tālruņa
Noņemiet zvanu no tālruņa
Noņemiet zvanu no tālruņa
Noņemiet zvanu no tālruņa
Noņemiet zvanu no tālruņa

Pirmais solis ir izņemt zvanīšanas bloku no tālruņa. Es izmantoju sava veida GPO tālruni no 1970. gadiem. Šajā tālrunī ciparnīca parādījās taisni - man vienkārši vajadzēja to vilkt. Ja tā nav, jums, iespējams, būs jāatver tālrunis un jāizdomā, kā to noņemt. Numura aizmugurē bija pievienoti pieci kabeļi. Manā tālrunī tie bija regulāri lāpstas savienojumi, tāpēc es atskrūvēju skrūves un izvilku tās. Ja vēlaties no jauna salikt tālruni, neaizmirstiet pierakstīt, kura krāsas vads iet uz kādu savienojumu.

2. darbība: identificējiet slēdzi

Identificējiet slēdzi
Identificējiet slēdzi

Kad ciparnīca ir ārā, vajadzētu samērā viegli redzēt, kā ciparnīca rotācijas kustību pārvērš impulsos. Mēģiniet griezt ciparnīcu ar roku un vērot kustību aizmugurē. Jums vajadzētu redzēt slēdzi, kas ātri izjauc un pārtrauc ķēdi - tādēļ, ja jūs sastādāt “9”, slēdzim vajadzētu ieslēgties deviņas reizes. Tiem no jums, kuri, iespējams, nekad iepriekš nav izmantojuši rotējošo ciparnīcu - atcerieties, ka zvanīšana notiek tikai tad, kad ļaujat dodieties uz numuru un ļaujiet tam atgriezties atpakaļ. Tālāk esošās fotoattēla piezīmēs esmu dokumentējis, kā tas darbojas manam tālrunim. Ir arī neskaidrs video par mehānisma darbību.

3. solis: izveidojiet ķēdi

Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi

Kad esat atradis izgatavojamo un salauzto slēdzi, jums vajadzētu būt iespējai identificēt savienojumus, sekojot vadiem atpakaļ pie savienojuma spailēm. Manā gadījumā abas slēdža malas ir savienotas ar diviem kreisākajiem spailēm. Paņemiet šos termināļus pie dažiem džemperu vadiem un iegūstiet prototipu! Slēdzis manā ciparnīcā vienmēr ir ieslēgts, un, sastādot numuru, tas ir salauzts katram impulsam, tāpēc es izmantoju ļoti vienkāršo shēmu zemāk. Katram impulsam, kad griežas ciparnīca, 2. tapa būs HIGH. Kad tālrunis netiek izsaukts, slēdzis ciparnīcā ir aizvērts (tā sauktais NORMĀLI AIZVĒRTS slēdzis, acīmredzamu iemeslu dēļ), tāpēc ķēde savieno tapu 2 ar zemi (kas ar Arduino ir ZEMA). Tas ir tāpēc, ka caur 470 omu rezistoru ir daudz mazāka pretestība nekā 10K rezistors. Kad tiek izsaukts tālrunis, slēdzis ātri atveras un aizveras (9, tas tiks atvērts un atkal aizvērts deviņas reizes, atcerieties). Kad slēdzis ir atvērts, kontakts 2 nav savienots ar zemi - tā vietā tas ir savienots ar 5V barošanu, izmantojot pretestību 10470 omi. Arduino to interpretē kā HIGH. Ja jūsu ciparnīcai ir NORMALLY OPEN slēdzis, tad, mainot 10K rezistora un ciparnīcas pozīcijas, ir jādara triks.

4. darbība. Izstrādājiet kodu

Izstrādājiet kodeksu
Izstrādājiet kodeksu

Tagad mums ir nepieciešams kods, lai Arduino varētu saskaitīt impulsus un nosūtīt kopējo numuru uz numuru, kas sastādīts atpakaļ, izmantojot seriālo portu. Mans kods ir norādīts zemāk. Tā kā šeit mēs strādājam ar mehāniskiem mehānismiem, jūsu var atšķirties. Mēģiniet spēlēt ar debounce konstanti un “cik ilgi mēs gaidām, pirms pieņemam, ka ciparnīca ir beigusies”. Es esmu mēģinājis to komentēt pēc iespējas glītāk. Cerams, ka viss ir diezgan vienkārši. void setup () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int reading = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// zvans netiek izsaukts vai ir tikko pabeigts. ja (needToPrint) {// ja tas ir tikai beidzis zvanīt, mums ir jānosūta numurs pa sērijas // līniju un jāatiestata skaitlis. Mēs mainām skaitli par 10, jo “0” nosūtīs 10 impulsus. Serial.print (skaits % 10, DEC); needToPrint = 0; skaits = 0; notīrīts = 0; }} if (lasot! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - tas notiek, tiklīdz tas ir stabilizēts, ja (lasot! = trueState) {// tas nozīmē, ka slēdzis ir tikko aizvērts no slēgtā -> atvērta vai otrādi. trueState = lasīšana; if (trueState == HIGH) {// palielināt impulsu skaitu, ja tas ir paaugstinājies. skaitīt ++; needToPrint = 1; // mums būs jāizdrukā šis numurs (kad ciparnīca būs pagriezusi rotāciju)}}} lastState = lasījums;}

5. darbība: pārbaudiet, vai tas darbojas

Pārbaudiet, vai tas darbojas, atverot sērijas logu (es izmantoju ekrānu unix mašīnā, iespējams, vēlēsities izmantot Hyperterm vai līdzīgu operētājsistēmā Windows) un mēģiniet sastādīt dažus numurus. Pārliecinieties, vai sērijas programma ir iestatīta lasīšanai no USB- > sērijas adapteris jūsu Arduino (pārbaudiet Arduino programmatūras izvēlni Rīki-> Sērijas ports), ja esat aizmirsis, kas tas ir), un datu pārraides ātrums 9600 bps. Zvanīšanas laikā jums vajadzētu redzēt pareizo numuru.

6. solis: pievienojiet to kaut kam noderīgam

Pievienojiet to kaut kam noderīgam!
Pievienojiet to kaut kam noderīgam!

Es savā Mac datorā izdomāju kvarca komponista failu, lai ņemtu vērā ievadīto informāciju un labi parādītu to ekrānā. Kad tas ir iekārtā kā sērijas dati, jūs ar to varat darīt jebko. Gaidot jūsu idejas! Es nākšu klajā ar video par to "darbībā" un drukāšu ciparus uz ekrāna, tiklīdz varēšu kādu iegūt turēt kameru manī - kaut man būtu trīs rokas.

Ieteicams: