Cuprins:

Etalon digital Vernier piratat folosind Arduino: 7 pași
Etalon digital Vernier piratat folosind Arduino: 7 pași

Video: Etalon digital Vernier piratat folosind Arduino: 7 pași

Video: Etalon digital Vernier piratat folosind Arduino: 7 pași
Video: Цифровой штангенциркуль за копейки из Китая 2024, Noiembrie
Anonim
Etalon digital Vernier piratat folosind Arduino
Etalon digital Vernier piratat folosind Arduino

Deci, ce zici de a face unele măsurători cu calibrul digital Vernier și de a avea Arduino să lucreze cu aceste măsurători? Poate să le salvați, să faceți câteva calcule sau să adăugați aceste măsurători la o buclă de feedback de pe dispozitivul dvs. În acest instructiv, vom dezasambla un etrier digital Vernier, conectăm niște fire la acesta și interfațăm etrierul cu Arduino la afișați valorile măsurate pe monitorul serial Arduino.

Pasul 1: Cum se poate face

Cum se poate face
Cum se poate face

Se pare că unele etriere digitale sunt capabile să transmită datele măsurate care apar pe afișajele lor folosind diferite protocoale pentru a fi utilizate de alte dispozitive.

De fapt, există un loc pentru o priză de interfață pe placa etrierului, dar nimic nu este lipit pe ea.

Puteți doar să scoateți capacul superior de pe afișaj (nu capacul bateriei) și veți găsi 4 tampoane care ar trebui să aibă o priză pentru a comunica cu etrierul, dar nu sunt:(.

Acest fapt a fost descoperit în urmă cu mulți ani pe diferite etriere și acest instructable se concentrează pe modelul exact al etrierului digital vernier chinezesc pe care îl puteți vedea în imagini. lucrați cu, Prin urmare, coduri diferite de utilizat, dar ideea principală este aceeași în majoritatea acestor chineze.

Mergem la:

  • Demontați etrierul
  • Găsiți Unde putem lipi o priză de interfață pe placă
  • Identificați pin-out-ul conectorului
  • Lipiți-l și asamblați etrierul
  • Inginerie inversă datele transmise pentru a afla cum funcționează protocolul său
  • Schimbați nivelul semnalelor calibrului pentru a se potrivi cu Arduino
  • Încarcă codul și gata:)

De ce veți avea nevoie:

  • Un etrier digital Vernier
  • Arduino (Orice tip va face treaba)
  • Logic Converter Board (Voi atașa o schemă pentru una)
  • Un fier de lipit cu vârf fin și curat
  • Sârmă de lipit subțire
  • Unele fire jumper

Pasul 2: Demontați etrierul

Demontați etrierul
Demontați etrierul
Demontați etrierul
Demontați etrierul
Demontați etrierul
Demontați etrierul
  • Mai întâi de toate scoateți bateria etrierului din clemă.
  • Pentru acest model veți găsi o hârtie de ghidare argintie pe spate și veți găsi patru șuruburi de montare sub acesta. Ei țin carcasa împreună și trebuie să le deșurubăm cu ajutorul unei șurubelnițe Philips. Puteți să vă deplasați șurubelnița peste hârtia de pe părți și le veți vedea găurile de montare.

După aceea, veți vedea că PCB-ul este montat pe panoul frontal cu patru șuruburi. Trebuie să le deșurubați ușor folosind un șurubelniță Philips cu vârf fin

Aveți grijă să nu zgâriați sau să tăiați oricare dintre urmele de pe ambele părți ale PCB

  • Acum, după ce am scos toate șuruburile și le-am pus într-un loc sigur, nu s-ar putea pierde:),
  • Trebuie să ridicați cu atenție PCB-ul, deoarece afișajul și cele trei butoane de cauciuc se pot destrăma.
  • În acest moment puteți trage afișajul și butoanele de pe PCB și le puteți pune cu șuruburile și puteți continua munca cu PCB-ul gol.

Pasul 3: Găsiți tampoanele necesare pentru a lipi soclul

Găsiți tampoanele necesare pentru a lipi soclul
Găsiți tampoanele necesare pentru a lipi soclul
Găsiți tampoanele necesare pentru a lipi soclul
Găsiți tampoanele necesare pentru a lipi soclul
Găsiți tampoanele necesare pentru a lipi soclul
Găsiți tampoanele necesare pentru a lipi soclul
Găsiți tampoanele necesare pentru a lipi soclul
Găsiți tampoanele necesare pentru a lipi soclul

Acum, când vă uitați la partea superioară a PCB-ului, puteți vedea cu ușurință unde ar trebui montat conectorul de date.

Puteți vedea, de asemenea, că anteturile cu pini generici nu pot fi lipite fără prea multe modificări, deoarece pasul conectorului este mai mic decât al lor (pas: distanța dintre centrele a două plăci adiacente de pe conector)

Pasul antetelor pinului este de 100 mil sau 2,54 mm, astfel încât să le puteți îndoi ușor și să le lipiți, sau puteți găsi o altă priză.

Și aici este momentul în care cutia mea completă, care stătea doar în jurul PCB-urilor, a avut o bună utilizare.

Am găsit un conector perfect de cablu flex cu 4 pini (conector FPC) pe unul dintre vechile PCB-uri ale unității CD-ROM și am decis să îl folosesc cu Caliper.

Nu este necesar să spuneți că trebuie să aveți grijă în timp ce desudați conectorii PCB, deoarece carcasa lor din plastic se poate topi.

Aveți grijă, de asemenea, că fie ați ales să utilizați anteturi cu pin, fie o priză specială ca conector, de care aveți nevoie de acest conector pentru a putea încasa mecanic în deschiderea conectorului din vitrina etrierului. (Puteți vedea imaginea pentru mai multe clarificări)

Pasul 4: Identificați Pin-out-ul conectorului

Identificați Pin-out-ul conectorului
Identificați Pin-out-ul conectorului
Identificați Pin-out-ul conectorului
Identificați Pin-out-ul conectorului
Identificați Pin-out-ul conectorului
Identificați Pin-out-ul conectorului

Acum, după ce am găsit tampoanele necesare, trebuie să știm la ce este conectat fiecare tampon.

Ei bine, a fost găsit deja în alte proiecte de inginerie inversă pentru aceste etriere și de cele mai multe ori au aceeași configurație (GND, DATA, CLOCK, VCC)

Pentru a-l configura cu tine:

Scoateți bateria

  • setați multimetrul pe starea buzzer (test de continuitate)
  • Începeți cu conectarea unei sonde la borna bateriei -VE (GND) și găsiți care pin de pe conector este conectat la sol folosind cealaltă sondă
  • Faceți același lucru cu bateria + terminalul VE

Puteți da celorlalți doi pini conectați cipului orice două nume (EX: D0 și D1), deoarece vom cunoaște funcțiile lor mai târziu în etapa lor de inginerie inversă

Dacă nu doriți să configurați pin-out-ul, puteți estima pin-out-ul conectorului ca:

(GND, DATA, CLOCK, VCC)

GND este cel mai apropiat pad de afișaj

VCC este cel mai apropiat tampon de marginea PCB

și ambele tampoane mai mari de pe marginea conectorului pentru montarea conectorului sunt conectate la GND (le puteți verifica cu un multimetru)

Pasul 5: Ingineria inversă a protocolului de comunicare

Inginerie inversă Protocolul de comunicare
Inginerie inversă Protocolul de comunicare
Inginerie inversă Protocolul de comunicare
Inginerie inversă Protocolul de comunicare
Ingineria inversă a protocolului de comunicare
Ingineria inversă a protocolului de comunicare

După ce ați sondat ambele semnale de ieșire digitale cu un osciloscop, iată cum arată.

puteți vedea că unul dintre pini funcționează ca un ceas pentru sincronizarea transmisiei de date (linia CLK), iar celălalt este linia de date, deci avem de-a face cu un protocol de transmisie de date sincronizat.

Se pare că: - Datele sunt trimise la un nivel logic de 1,5 volți (sună logic deoarece este aceeași tensiune ca și bateria vernier) - Datele sunt trimise în 6 ronțuri (6 x 4 biți) cu un total de 24 de biți - Există aproximativ 200 mS între sfârșitul fiecărui pachet de date și începutul celuilalt

Am decis să probez datele la marginea ascendentă a ceasului, așa că după ce am încercat cu diferite măsuri pe etrier și i-am schimbat modul de la (mm la in) și, de asemenea, am afișat câteva valori negative, am primit acest tabel (a treia imagine) pentru condițiile mele de testare și am început să descopăr protocolul de comunicare

Deci, după ce ați studiat datele capturate:

- în modul mm: biții nr.1 până la 16 sunt reprezentarea binară pentru numărul afișat pe etrier (înmulțit cu 100) - în modul (inch): biții nr.2 până la 17 sunt reprezentarea binară pentru numărul afișat pe etrier (multiplicat cu 1000)

- bitul nr.21 reprezintă semnul negativ (1 dacă numărul afișat este negativ și 0 dacă este pozitiv)

- bitul nr.24 reprezintă unitatea de măsurare (1 dacă unitatea este (în) și 0 dacă unitatea este (mm))

- în modul (inch): bitul nr.1 reprezintă segmentul de 0,5 mil (1 dacă este adăugat și 0 dacă nu)

Pasul 6: Realizarea unui convertor de logică

Realizarea unui convertor de logică
Realizarea unui convertor de logică
Realizarea unui convertor de logică
Realizarea unui convertor de logică

Acum trebuie să schimbăm nivelul de tensiune al datelor etrierului (1,5 volți nu este potrivit pentru a lucra cu Arduino, este prea scăzut) Am adăugat o schemă pentru convertorul logic pe care l-am făcut pentru acest proiect, dar după cum puteți vedea acum pe lângă faptul că este deplasat la un nivel logic de 5 volți, acesta va fi și inversat, așa că trebuie să compensăm acest lucru în cod.

Pasul 7: Cod Arduino

Cod Arduino
Cod Arduino

Și acum sunteți gata să îl conectați la Arduino. Puteți găsi codul atașat. Conectați pinul ceasului la pinul 2 sau 3 pe Arduino uno, nano sau pro-mini (veți avea nevoie de un pin capabil de întrerupere) conectați pinul de date la orice alt pin. Încărcați codul și deschideți monitorul serial pentru a vedea datele măsurate

Codul poate detecta automat la ce mod funcționează etrierul scanând cel de-al 24-lea bit de date

Recomandat: