Съдържание:

Хакнат цифров носач с помощта на Arduino: 7 стъпки
Хакнат цифров носач с помощта на Arduino: 7 стъпки

Видео: Хакнат цифров носач с помощта на Arduino: 7 стъпки

Видео: Хакнат цифров носач с помощта на Arduino: 7 стъпки
Видео: MKS Gen L — Марлин 1 1 9 (configuration.h) 2024, Септември
Anonim
Хакнат цифров носач с помощта на Arduino
Хакнат цифров носач с помощта на Arduino

И така, какво ще кажете да направите някои измервания с вашия цифров шублер с нониус и да разполагате с вашия Arduino, за да свършите работа с тези измервания? Може би да ги запишем, да направим някои базирани изчисления или да добавим тези измервания към верига за обратна връзка от вашето механично устройство. В тази инструкция ще разглобим цифров шублер с нониус, ще закачим няколко проводника към него и ще свържем дебеломера с Arduino към покажете измерените му стойности на серийния монитор на Arduino.

Стъпка 1: Как може да се направи

Как може да се направи
Как може да се направи

Оказва се, че някои цифрови шублери са в състояние да предават измерените данни, появяващи се на техните дисплеи, използвайки различни протоколи, които да се използват от други устройства.

Всъщност ИМА място за интерфейсен гнездо на платката на шублера, но нищо не е запоено върху него.

Можете просто да измъкнете горния капак на дисплея (не капака на батерията) и ще намерите 4 подложки, които трябва да имат гнездо за комуникация с шублера, но те не са:(.

Този факт беше открит преди много години на различни шублери и тази инструкция се фокусира върху точния модел на китайския цифров нониер, който можете да видите на снимките, така че моля, уверете се, че вашият е един и същ модел, тъй като различният модел може да има различни протоколи за работа с, следователно различни кодове за използване, но основната идея е една и съща сред повечето от тези китайски.

Ние ще:

  • Демонтирайте шублера
  • Намерете Къде можем да запояваме интерфейсен гнездо към платката
  • Идентифицирайте изхода на конектора
  • Запояйте го и сглобете шублера
  • Обратно инженерирайте предадените данни, за да знаете как работи неговият протокол
  • Променете нивото на сигналите на шублера, за да отговарят на Arduino
  • Качете кода и това е:)

Какво ще ви трябва:

  • Цифров нономер
  • Arduino (Всеки тип ще свърши работа)
  • Платка за преобразуване на логика (ще приложа схема за една)
  • Поялник с фин чист връх
  • Тънка запояваща жица
  • Някои джъмперни проводници

Стъпка 2: Демонтирайте шублера

Демонтирайте шублера
Демонтирайте шублера
Демонтирайте шублера
Демонтирайте шублера
Демонтирайте шублера
Демонтирайте шублера
  • Първо извадете батерията на шублера от щипката.
  • За този модел ще намерите сребърна направляваща хартия на гърба и ще намерите четири монтажни винта под него. Те държат кутията заедно и трябва да ги развием с помощта на отвертка Philips. Можете просто да прекарате отвертката си върху хартията отстрани и ще забележите монтажните им отвори.

След това ще видите, че печатната платка е монтирана към предния панел с четири винта. Трябва внимателно да ги развиете с помощта на отвертка Philips с фин връх

Внимавайте да не надраскате или изрежете следи от двете страни на печатната платка

  • След като извадихме всички винтове и ги поставихме на сигурно място, те не можеха да бъдат загубени:),
  • Трябва да вдигнете платката внимателно, тъй като дисплеят и трите гумени бутона могат да се разпаднат.
  • В този момент можете да издърпате дисплея и бутоните от печатната платка и да ги поставите с винтовете и да продължите работата си с голата платка.

Стъпка 3: Намерете необходимите подложки за запояване на гнездото

Намерете необходимите подложки за запояване на гнездото
Намерете необходимите подложки за запояване на гнездото
Намерете необходимите подложки за запояване на гнездото
Намерете необходимите подложки за запояване на гнездото
Намерете необходимите подложки за запояване на гнездото
Намерете необходимите подложки за запояване на гнездото
Намерете необходимите подложки за запояване на гнездото
Намерете необходимите подложки за запояване на гнездото

Сега, когато погледнете горната страна на печатната платка, можете лесно да забележите къде трябва да се монтира конектора за данни.

Можете също да видите, че общите заглавки на щифтове не могат да бъдат запоени без много промяна, тъй като стъпката на конектора е по -малка от тяхната (стъпка: разстояние между центровете на две съседни подложки на конектора)

Стъпките на щифтовете са 100 мили или 2,54 мм, така че можете леко да ги огънете и да ги запоите, или можете да намерите друг гнездо.

И ето, когато пълната ми кутия от просто седене около печатни платки се използва добре.

Намерих перфектен 4-пинов гъвкав кабелен конектор (FPC конектор) на една от старите платки за CD-ROM устройство и реших да го използвам с шублера.

Няма нужда да казвате, че трябва да бъдете внимателни, докато разпаявате конекторите на печатни платки, тъй като пластмасовият им корпус може да се стопи.

Внимавайте също, че или сте избрали да използвате щифтове или специален гнездо като конектор, който ви е необходим, за да може механично да се побере в отвора за конектора в витрината на шублера. (Можете да видите снимката за повече разяснения)

Стъпка 4: Идентифицирайте Pin-out на конектора

Идентифицирайте Pin-out на конектора
Идентифицирайте Pin-out на конектора
Идентифицирайте Pin-out на конектора
Идентифицирайте Pin-out на конектора
Идентифицирайте Pin-out на конектора
Идентифицирайте Pin-out на конектора

Сега, след като намерим необходимите подложки, трябва да знаем към какво е свързана всяка подложка.

Е, вече е намерено в други проекти за обратен инженеринг за тези дебеломери и през повечето време те имат същата конфигурация (GND, DATA, CLOCK, VCC)

За да го конфигурирате със себе си:

Извадете батерията

  • настройте вашия мултицет на състоянието на зумера (тест за непрекъснатост)
  • Започнете с свързването на една сонда към терминала Battery -VE (GND) и намерете кой щифт на конектора е свързан към земята с помощта на другата сонда
  • Направете същото с терминала Battery +VE

Можете да дадете на другите два щифта, свързани към чипа, всякакви две имена (EX: D0 и D1), тъй като ще знаем техните функции по -късно в стъпката им на обратно инженерство

Ако не искате да конфигурирате pin-out, можете да оцените pin-out на конектора като:

(GND, ДАННИ, ЧАСОВНИК, VCC)

GND е най -близката подложка до дисплея

VCC е най -близката подложка до ръба на печатната платка

и двете по -големи подложки по ръба на конектора за монтаж на конектора са свързани към GND (можете да ги проверите с мултицет)

Стъпка 5: Обратно инженеринг на комуникационния протокол

Обратно инженерство на комуникационния протокол
Обратно инженерство на комуникационния протокол
Обратно инженерство на комуникационния протокол
Обратно инженерство на комуникационния протокол
Обратно инженерство на комуникационния протокол
Обратно инженерство на комуникационния протокол

След сондиране на сигналите на двата цифрови изхода с осцилоскоп ето как изглежда.

можете да видите, че един от пиновете работи като часовник за синхронизиране на предаването на данни (CLK линия), а другият е линията за данни, така че имаме работа с протокол за синхронизирано предаване на данни.

Оказва се, че: - Данните се изпращат на логическо ниво от 1,5 волта (звучи логично, тъй като е същото напрежение като нониуерната батерия) - Данните се изпращат в 6 части (6 x 4 бита) с общо 24 бита - Има около 200 mS между края на всеки пакет данни и началото на другия

Реших да взема проби от данните в изгряващия ръб на часовника, така че след като опитах с различни мерки на шублера и промених режима му от (mm на in) и също така показах някои отрицателни стойности, получих тази таблица (3 -те снимки) за моите условия на изпитване и започнах да измислям комуникационния протокол

Така че след изучаване на заснетите данни:

- в режим mm: битове от 1 до 16 са двоичното представяне за показания номер на шублера (умножено по 100)- в (инчов) режим: битове от 2 до 17 са двоичното представяне за показания номер на шублер (умножен по 1000)

- бит № 21 представлява отрицателния знак (1, ако показаното число е отрицателно и 0, ако е положително)

- бит № 24 представлява измервателната единица (1, ако единицата е (in) и 0, ако единицата е (mm))

- в (инчов) режим: бит № 1 представлява сегмента от 0,5 мили (1, ако е добавен и 0, ако не е)

Стъпка 6: Създаване на логически конвертор

Създаване на логически конвертор
Създаване на логически конвертор
Създаване на логически конвертор
Създаване на логически конвертор

Сега трябва да изместим нивото на напрежение на данните от шублера (1,5 волта не е подходящо за работа с Arduino, твърде ниско) Добавих схема на логическия преобразувател, който направих за този проект, но както можете да видите данните сега в допълнение към изместването на логическо ниво от 5 волта, той също ще бъде обърнат, така че трябва да компенсираме това в кода.

Стъпка 7: Arduino код

Кодът на Arduino
Кодът на Arduino

И сега сте готови да го свържете с Arduino. Можете да намерите прикачения код. Свържете щифта на часовника към пин 2 или 3 на Arduino uno, nano или pro-mini (ще ви е необходим прекъсващ пин) свържете щифт за данни към всеки друг пин. Качете кода и отворете серийния монитор, за да видите измерените данни

Кодът може автоматично да открие в какъв режим работи шублерът, като сканира 24 -ия бит за данни

Препоръчано: