Përmbajtje:
- Hapi 1: Hiqni numrin nga telefoni
- Hapi 2: Identifikoni Ndërruesin
- Hapi 3: Bëni qarkun
- Hapi 4: Zhvilloni Kodin
- Hapi 5: Kontrolloni që funksionon
- Hapi 6: Lidheni atë në diçka të dobishme
Video: Ndërfaqja e një thirrjeje rrotulluese të telefonit me një Arduino: 6 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:33
Një telefon i vjetër rrotullues mund të përdoret për një numër qëllimesh në projektet tuaja Arduino - përdorni atë si një pajisje hyrëse të re ose përdorni Arduino për të ndërlidhur një telefon rrotullues me kompjuterin tuaj. Ky është një udhëzues shumë themelor që përshkruan mënyrën e ndërfaqes së numrit te një Arduino, dhe merrni numrin e thirrur të kalojë në një kompjuter mbi lidhjen serike të Arduino.
Hapi 1: Hiqni numrin nga telefoni
Hapi i parë është të hiqni njësinë e thirrjes nga telefoni. Unë jam duke përdorur një telefon GPO të një lloji nga vitet 1970. Në këtë telefon, numri i telefonit doli jashtë - më duhej vetëm ta tërhiqja. Nëse jo, mund t'ju duhet të hapni telefonin dhe të kuptoni se si ta hiqni atë. Kishte pesë kabllo të lidhur në pjesën e pasme të njësisë së thirrjes. Në telefonin tim, këto ishin lidhje të rregullta me lopatë, kështu që unë lirova vidhat dhe i nxora jashtë. Nëse doni të montoni përsëri telefonin tuaj, mos harroni të regjistroni se cili tel ngjyra shkon në cilën lidhje.
Hapi 2: Identifikoni Ndërruesin
Pasi të jetë dalë dial, duhet të jetë relativisht e lehtë të shihet se si dial shndërron lëvizjen rrotulluese në impulse. Provoni ta rrotulloni numrin me dorë dhe të shikoni lëvizjen në anën e pasme. Ju duhet të shihni një ndërprerës që bën dhe thyen një qark me shpejtësi - kështu që nëse thirrni '9', çelësi duhet të përfshihet nëntë herë. Për ata prej jush që mund të mos kenë përdorur kurrë një dial rrotullues më parë - mbani mend se thirrja ndodh vetëm kur lejoni shkoni numrin dhe lëreni të kthehet mbrapsht. Unë kam dokumentuar se si funksionon për telefonin tim në Shënimet e fotos më poshtë. Ekziston gjithashtu një video e paqartë e mekanizmit që funksionon.
Hapi 3: Bëni qarkun
Pasi të keni gjetur çelësin që po bëhet dhe prishet, duhet të jeni në gjendje të identifikoni lidhjet duke ndjekur telat përsëri në terminalet e lidhjes. Në rastin tim, të dy anët e ndërprerësit janë të lidhura me dy terminalet më të majtë. Lidheni këto terminale me disa tela kërcyes dhe merrni prototipizim! Çelësi në numrin tim është gjithmonë i ndezur dhe është i prishur për çdo puls kur telefononi, kështu që unë përdor qarkun shumë të thjeshtë më poshtë. Kunja 2 do të shkojë LART për secilin puls ndërsa rrotulluesi rrotullohet. Kur telefoni nuk është duke u thirrur, çelësi në njësinë e thirrjes është i mbyllur (i ashtuquajturi ndërprerës NORMALLY CLOSED, për arsye të dukshme) kështu që qarku lidh pin 2 me tokëzimin (i cili në Arduino është I ULT). Kjo ndodh sepse ka shumë më pak rezistencë përmes rezistencës 470 ohm sesa rezistenca 10K. Kur telefoni është duke u thirrur, çelësi hapet dhe mbyllet me shpejtësi (për një 9, ai do të hapet dhe mbyllet përsëri nëntë herë, mbani mend). Kur kaloni është i hapur, kunja 2 nuk është e lidhur me tokën - përkundrazi ajo është e lidhur me furnizimin me 5V përmes një rezistence prej 10470 ohms. Kjo interpretohet nga Arduino si një LART HIGH. Nëse çelësi juaj ka një çelës NORMALLY OPEN, atëherë ndërroni pozicionet e rezistencës 10K dhe dial duhet të bëjë mashtrimin.
Hapi 4: Zhvilloni Kodin
Tani na duhet një kod që Arduino të numërojë pulset dhe të dërgojë numrin e përgjithshëm për numrin e thirrur përsëri përmes portit serik. Kodi im është më poshtë. Ndërsa kemi të bëjmë me mekanikë këtu, tuajat mund të ndryshojnë. Provoni të luani me konstantën e debunimit dhe 'sa kohë presim para se të supozojmë se dial ka përfunduar rrotullimin' konstante. Unë jam përpjekur ta komentoj atë sa më me kujdes që të mundem. Shpresojmë se është mjaft e thjeshtë.int needToPrint = 0; int count; int in = 2; int lastState = LOW; int trueState = LOW; long lastStateChangeTime = 0; int pastruar = 0; // constantsint dialHasFinishedRotatingAfterMs = 100; int debounceDelay = 10; void setup () {Serial.begin (9600); pinMode (in, INPUT);} loop void () {int leximi = digitalRead (in); nëse ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// dial nuk po formohet, ose sapo ka përfunduar së thirruri. nëse (needToPrint) {// nëse sapo ka përfunduar së thirruri, duhet të dërgojmë numrin poshtë linjës seriale // dhe të rivendosim numërimin. Ne e modifikojmë numërimin me 10 sepse '0' do të dërgojë 10 impulse. Serial.print (numërimi % 10, DEC); needToPrint = 0; numërimi = 0; pastruar = 0; }} if (leximi! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - kjo ndodh pasi të jetë stabilizuar nëse (leximi! = trueState) {// kjo do të thotë që çelësi ose sapo ka shkuar nga mbyllur-> hapur ose anasjelltas Me trueState = leximi; nëse (trueState == LART) {// shtoni numrin e impulseve nëse është e lartë. numëroni ++; needToPrint = 1; // do të na duhet të printojmë këtë numër (sapo çelësi të ketë përfunduar rrotullimin)}}} lastState = leximi;}
Hapi 5: Kontrolloni që funksionon
Kontrolloni që funksionon duke hapur një dritare serike (unë përdor ekranin në një makinë unix, ju mund të dëshironi të përdorni Hyperterm ose të ngjashme në Windows), dhe provoni të telefononi disa numra. Sigurohuni që programi serik të jetë i lexuar nga USB- > përshtatës serik në Arduino tuaj (kontrolloni menunë Tools-> Port Serial në softuerin Arduino nëse harroni atë që është), dhe një normë baud prej 9600 bps. Ju duhet të shihni që numri i saktë të shfaqet kur është thirrur.
Hapi 6: Lidheni atë në diçka të dobishme
Kam dalë me një skedar Quartz Composer në Mac tim për të marrë hyrjen dhe për ta bërë atë bukur në ekran. Pasi të jetë në makinë si të dhëna serike, ju mund të bëni gjithçka me të. Duke pritur të dëgjoj idetë tuaja! Unë do të dal me një video të tij 'në veprim' dhe printimin e numrave në ekran sa më shpejt që të mund të marr dikë të më mbajë kamerën - do të doja të kisha tre duar.
Recommended:
Sfera rrotulluese e vazhdueshme në një kavanoz qelqi: 4 hapa (me fotografi)
Sfera rrotulluese e vazhdueshme në një kavanoz qelqi: Vendi më i mirë për një sferë rrotulluese, të nxitur nga energjia diellore, është në një kavanoz qelqi. Lëvizja e gjërave është një lodër ideale për macet ose kafshët shtëpiake të tjera dhe një kavanoz jep njëfarë mbrojtjeje, apo jo? Projekti duket i thjeshtë por më janë dashur disa javë për të gjetur d
Një zgjidhje e plotë rrotulluese Arduino: 5 hapa
Një zgjidhje e plotë rrotulluese Arduino: Koduesit rrotullues janë çelësa kontrolli të kthyeshëm për projektet elektronike, të përdorura shpesh me mikrokontrolluesit e familjes Arduino. Ato mund të përdoren për të rregulluar parametrat, për të lundruar në menutë, për të lëvizur objektet në ekran, për të vendosur vlerat e çdo lloji. Ata janë zëvendësues të zakonshëm
Ndërfaqja e çdo Arduino me një celular: 6 hapa (me fotografi)
Ndërfaqja e çdo Arduino me një celular: Kur përdorni një Arduino, mund të rezultojë mjaft e bezdisshme të mos jeni në gjendje ta përdorni atë vetëm sepse nuk keni një kompjuter në dispozicion. Ndoshta Windows ose Mac OS nuk janë të pajtueshëm, nuk keni fare kompjuter ose thjesht dëshironi më shumë liri për int
Mirëmbajtja Paraprake e Makinave Rrotulluese duke Përdorur një Dridhje dhe Thithpeak: 8 Hapa
Mirëmbajtja Paraprake e Makinave Rrotulluese duke Përdorur Vibrimin dhe Thithpeak: Makinat rrotulluese si turbinat me erë, hidro turbinat, motorët me induksion etj përballen me lloje të ndryshme të konsumit. Shumica e këtyre defekteve dhe konsumimit të shkaktuara nga dridhjet jonormale në pajisje. Këto makina shpesh operohen nën punë të rëndë
Spooky Teddy - Karrige me lëvizje të fuqishme Arduino dhe kokë rrotulluese: 11 hapa (me fotografi)
Spooky Teddy-Arduino Powered Self-rocking Chair & Rotating Head: Spooky pelushi është një dekor Halloween me 2 pjesë. Pjesa e parë është arushi pelushi që ka një mekanizëm të printuar 3D që mund të rrotullohet me një Arduino UNO dhe një solenoid. Pjesa e dytë është një karrige vetë-lëkundëse e mundësuar nga një Arduino nano dhe një solenoid