Turinys:
- 1 veiksmas: eikite gauti daiktų
- 2 žingsnis: išskirkite telefoną
- 3 žingsnis: nustatykite, ką veikia laidai
- 4 veiksmas: prijunkite rinkiklį prie PIC lusto
- 5 žingsnis: surinkite kodą
- 6 žingsnis: bandymas
- 7 žingsnis: eikite toliau
Video: Rotary Dialer PIC sąsaja: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Aš atsidūriau su besisukančių telefonų gausa. Tiesą sakant, jie yra visur, kur žiūriu. Tikėdamasis, kad kada nors jų pamatysiu mažiau, pradėjau jas ardyti ir pakartotinai naudoti dalis kitiems tikslams.
Kažkodėl man į galvą atėjo mintis, kad būtų gerai sujungti sukamąjį valdiklį su PIC mikroschema. Šiuo metu galiu galvoti tik apie keletą neaiškių jo naudojimo būdų ir nė vienas nėra ypač naudingas, bet tikiuosi, kad ateityje padarysiu ką nors šaunaus.
1 veiksmas: eikite gauti daiktų
Jums reikės: 1 - rotacinis telefonas 3 - 220 omų rezistoriai 2 - 0,1uF kondensatoriai 2 - 20K rezistorius (gali pakeisti bet ką nuo 10K iki 47K) 2 - šviesos diodai1 - PIC kūrimo plokštė (naudojau pagrindinę mikro plėtros aplinką) 1 - 20 MHZ rezonatorius arba kristalas1 - Duonos lenta1 - 5V maitinimo šaltinis1 - Maždaug pėda prijungimo laido1 - Atsuktuvas1 - Vielos nuėmiklis
2 žingsnis: išskirkite telefoną
Atidarykite rotacinį telefoną. Viduje pastebėsite keletą pagrindinių dalių; sukamasis ratukas, skambėjimo signalas, du kėlikliai, kablio jungiklis ir pagrindinė grandinė, kuri paprastai yra supakuota į metalinį jungiamąją dėžę.
Nuo rotacinio rinkiklio iki šio jungties dėžutės panašaus dalyko eis keturi laidai. Laidai turėtų būti laikomi ne daugiau nei priveržtais varžtais. Atsukite varžtus ir atjunkite laidus. Po to atjunkite rotacinį rinkiklį nuo paties telefono.
3 žingsnis: nustatykite, ką veikia laidai
Prijunkite du šviesos diodus, kaip parodyta žemiau esančioje diagramoje.
Du balti laidai turėtų būti pora, kuri uždaro jungiklį, kuris jums praneš, kai ratukas pasukamas. Mėlyna ir žalia viela turėtų būti pora, leidžianti žinoti, koks numeris buvo surinktas. Kai pasuksite ratuką, šviesos diodas, prijungtas prie baltų laidų, turėtų įsijungti, o kai paleisite ratuką, prie mėlynos ir žalios spalvos laidų prijungtas šviesos diodas turėtų mirksėti tiek kartų, kiek numeris rinkta (žiūrėkite vaizdo įrašą). Pvz., Jei surinksite 8, prie žalios ir mėlynos spalvos laido prijungtas šviesos diodas išsijungs ir įsijungs 8 kartus. Taip atsitinka todėl, kad vienas iš būdų surinkti telefono numerį yra greitai nutraukti ryšį tiek kartų, kiek kartų bandoma surinkti skaitmenį. Taigi, norėdami surinkti 8, turėsite greitai nutraukti ryšį 8 kartus.
4 veiksmas: prijunkite rinkiklį prie PIC lusto
Prijunkite rotacinį rinkiklį prie PIC lusto, kaip parodyta diagramoje. Atkreipkite dėmesį, kad aš skaitau rotacinio rinkiklio būsenoje, naudodamas RC laiką. Kitaip tariant, PIC lustas skaičiuoja, kiek kartų reikia kondensatoriui išsikrauti (kuris pasikeičia, kai pridedama pasipriešinimas).
Būtent čia įeina 20K rezistorius. Pridėjus jį prie įvesties, galima aiškiai atskirti signalą nuo uždaro ir atviro sukamojo jungiklio jungties.
5 žingsnis: surinkite kodą
Norėdami suprogramuoti lustą, naudoju „MBasic“kūrimo aplinką, kurią galima įsigyti iš „Basic Micro“. „MBasic“yra „Basic“variantas, skirtas naudoti su PIC lustais. Jis lengvai konvertuojamas į universalesnę (naudingesnę) kalbą. Kodas iš esmės nustato, kada kas nors pasuko ratuką ir tada nustato signalo kraštą (nustato žemus ir didelius perėjimus), kol ratukas grįš į pradinę būseną. Suskaičiavus, kiek kartų jis matuoja signalo perėjimą, jis atitinkamai mirksi. Pvz., Jei surinksite 3, PIC suskaičiuos tris žemo ir aukšto lygio perėjimus ir 3 kartus sumirksės LED. Šviesos diodas, kaip jūs galėjote numanyti, yra nereikalingas, kad jis veiktų, ir yra tik tam, kad suteiktų jums matomą grįžtamąjį ryšį. Galite pakeisti bet kurį išvesties įrenginį, kuris, jūsų manymu, yra būtinas. ********************* Čia yra keletas kodų: ********************* CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0'sets/resets valueshigh B2rctime B2, 1, startcountincountclicks = 0if startcountin> 10, tada eikite į skaičiavimo patikrinimą eina į paprogramę, jei ji tapo pagrindine. ===== countmeuploop: didelis B1rctime B1, 1, clicker'checks counting valuelargefig = clacker + 100 nustato slenksčio reikšmę, kuri bus didesnė 'nei 0, bet mažesnė už galimas aukščiausios vertės reikšmes if largefig <clicker thencountclicks = countclicks + 1endif prideda 1 reikšmę kiekvieną kartą, kai užregistruojamas perėjimas nuo žemo iki aukšto B2 didelis veiksmo laikas B2, 1, startcountinif jei startcountin <10, tada jei skaičiaus paspaudimai> 0 thengoto blinkelsegoto mainendifendif'tikrina, ar ratukas grįžo atgal į savo i nitialinė būsena "jei ji turi ir buvo surinktas numeris, ji pereina prie šviesos diodų rutinos" kitaip, jei nebuvo surinktas numeris, jis eina į mainclacker = clicker "iš naujo nustato palyginimo vertę su dabartine kaiščio verte. ! '================= pasikartojimų skaičius yra toks, kiek kartų šviesos diodas turi mirksėti, tada jis grįžta prie pagrindinio įprastinio
6 žingsnis: bandymas
Jei viską darėte taip pat, kaip ir aš, tai turėtų veikti (žr. Vaizdo įrašą).
Jei tai neveikia, įsitikinkite, kad viską prijungėte teisingai ir kodas nukopijuotas teisingai. Taip pat įsitikinkite, kad jūsų rezonatorius (arba kristalas) yra 20 MHZ. Jei parašėte savo kodą, įsitikinkite, kad rutinoje nėra pertraukų, kurios tikrina, ar nėra žemo aukšto lygio perėjimų.
7 žingsnis: eikite toliau
Sugalvokite kitokį sukamojo ratuko naudojimą, išskyrus šviesos diodo mirksėjimą.
Rekomenduojamas:
Sąsaja su LCD ekranu M4 Įtraukimas: 5 žingsniai
Sąsaja naudojant LCD ekraną M4 pirmenybė „Drivemall“, o ne klasei
„Arduino“erdvėlaivio sąsaja: 3 žingsniai
„Arduino“erdvėlaivio sąsaja: „Hi Instructable“bendruomenė, šį kartą aš padariau vieną iš paprasčiausių projektų, kuriuos užbaigiau su „Arduino Uno“: erdvėlaivių grandine. Tai vadinama todėl, kad būtent tokio tipo programavimas ir grandinės būtų naudojamos ankstyvosiose mokslinės fantastikos TV laidose ir filmuose
Darbo su „I2C“jutiklio sąsaja pradžia ?? - Sąsaja su jūsų MMA8451 naudojant ESP32: 8 žingsniai
Darbo su „I2C“jutiklio sąsaja pradžia ?? - Sąsaja su jūsų MMA8451 naudojant ESP32: Šioje pamokoje sužinosite viską apie tai, kaip paleisti, prijungti ir gauti I2C įrenginį (akselerometrą), dirbantį su valdikliu (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
„Nextion“ekranas - Sąsaja ir protokolas paaiškinami naudojant PIC ir „Arduino“: 10 žingsnių
„Nextion“ekranas | Sąsaja ir protokolas paaiškinta naudojant PIC ir „Arduino“: „Nextion Display“yra labai paprasta naudoti ir paprasta sąsaja su mikrovaldikliais. Naudodamiesi „Nextion“redaktoriumi, mes galime sukonfigūruoti ekraną ir galime suprojektuoti vartotojo sąsają. Taigi, atsižvelgiant į įvykius ar komandas „Nextion“ekranas veiks, kad būtų rodomas
PIR jutiklio sąsaja su „Pic Microocntroller“: 5 žingsniai
PIR jutiklio sąsaja su „Pic Microocntroller“: PIR jutiklio sąsaja su „Pic“mikrovaldikliu ir žingsnis po žingsnio vadovas