İçindekiler:

Arduino Kullanan Hacked Dijital Sürmeli Kumpas: 7 Adım
Arduino Kullanan Hacked Dijital Sürmeli Kumpas: 7 Adım

Video: Arduino Kullanan Hacked Dijital Sürmeli Kumpas: 7 Adım

Video: Arduino Kullanan Hacked Dijital Sürmeli Kumpas: 7 Adım
Video: learn Arduino programming in 20 seconds!! (Arduino projects) 2024, Eylül
Anonim
Arduino Kullanan Hacked Dijital Sürmeli Kaliper
Arduino Kullanan Hacked Dijital Sürmeli Kaliper

Peki, Dijital Sürmeli Kaliper'inizle bazı ölçümler yapmaya ve Arduino'nuza bu ölçümlerle bazı çalışmalar yaptırmaya ne dersiniz? Belki Onları Kaydetmek, Bazı temel hesaplamalar yapmak veya bu ölçümleri mekanik cihazınızdan bir geri besleme döngüsüne eklemek. ölçülen değerlerini Arduino Seri Monitöründe görüntüleyin.

Adım 1: Nasıl Yapılabilir?

Nasıl Yapılabilir?
Nasıl Yapılabilir?

Bazı dijital kumpasların, diğer cihazlar tarafından kullanılmak üzere farklı protokoller kullanarak ekranlarında görünen ölçülen verileri iletebildiği ortaya çıktı.

Aslında kaliper kartında arabirim soketi için bir yer VAR, ancak üzerinde hiçbir şey lehimlenmemiş.

Ekrandaki üst kapağı (pil kapağını değil) dışarı kaydırabilirsiniz ve kaliperle iletişim kurmak için üzerlerinde bir soket olması gereken 4 ped bulacaksınız, Ama değiller:(.

Bu gerçek, yıllar önce farklı Kaliperlerde keşfedildi ve bu talimat, resimlerde görebileceğiniz Çin dijital sürmeli kumpasın tam modeline odaklanıyor, Bu yüzden lütfen sizinkinin aynı model olduğundan emin olun, çünkü farklı model farklı protokollere sahip olabilir. ile çalışmak, Bu nedenle, kullanılacak farklı kodlar, Ancak ana fikir, bu Çinlilerin çoğu arasında aynıdır.

Biz gidiyoruz:

  • Kaliperi sökün
  • Arayüz soketini karta nereye lehimleyebileceğimizi bulun
  • Bağlayıcının pin çıkışını tanımlayın
  • Lehimleyin ve Kaliperi monte edin
  • Protokolünün nasıl çalıştığını bilmek için iletilen verilere tersine mühendislik yapın
  • Kaliper sinyallerini Arduino'ya uyacak şekilde seviye kaydırma
  • Kodu yükleyin ve bu kadar:)

Neye ihtiyacınız olacak:

  • Dijital Sürmeli Kumpas
  • Arduino (Herhangi bir tür işi yapacak)
  • Mantık Dönüştürücü Kartı (Biri için şematik ekleyeceğim)
  • A İnce temiz uçlu havya
  • İnce lehim teli
  • Bazı atlama telleri

Adım 2: Kaliperi Sökün

Kaliperi sökün
Kaliperi sökün
Kaliperi sökün
Kaliperi sökün
Kaliperi sökün
Kaliperi sökün
  • Öncelikle Kaliper pilini klipsinden çıkarın.
  • Bu model için arkasında gümüş renkli bir kılavuz kağıt ve altında dört adet montaj vidası bulacaksınız. Kasayı bir arada tutuyorlar ve bir Philips tornavida kullanarak onları sökmemiz gerekiyor. Tornavidanızı yanlardaki kağıdın üzerinde gezdirdiğinizde montaj deliklerini göreceksiniz.

Bundan sonra PCB'nin ön panele dört vida ile monte edildiğini göreceksiniz, İnce uçlu bir Philips tornavida kullanarak yavaşça sökmeniz gerekiyor

PCB'nin her iki tarafındaki izleri çizmemeye veya kesmemeye dikkat edin

  • Şimdi tüm vidaları söküp güvenli bir yere koyduktan sonra kaybolmamaları gerekiyordu:),
  • Ekran ve üç lastik düğme birbirinden ayrılabileceğinden PCB'yi dikkatli bir şekilde kaldırmanız gerekir.
  • Bu noktada ekranı ve butonları PCB'den çekip vidalarla yerleştirebilir ve çıplak PCB ile işinize devam edebilirsiniz.

Adım 3: Soketi Lehimlemek için Gerekli Pedleri Bulun

Soketi Lehimlemek için Gerekli Pedleri Bulun
Soketi Lehimlemek için Gerekli Pedleri Bulun
Soketi Lehimlemek için Gerekli Pedleri Bulun
Soketi Lehimlemek için Gerekli Pedleri Bulun
Soketi Lehimlemek için Gerekli Pedleri Bulun
Soketi Lehimlemek için Gerekli Pedleri Bulun
Soketi Lehimlemek için Gerekli Pedleri Bulun
Soketi Lehimlemek için Gerekli Pedleri Bulun

Şimdi, PCB'nin üst tarafına baktığınızda, veri konektörünün nereye monte edilmesi gerektiğini kolayca görebilirsiniz.

Ayrıca, Genel pin başlıklarının, bağlayıcının aralığı onlarınkinden daha küçük olduğu için, çok fazla ince ayar yapmadan lehimlenemediğini görebilirsiniz (perde: bağlayıcıdaki iki bitişik pedin merkezleri arasındaki mesafe)

Pin başlıklarının aralığı 100 mil veya 2,54 mm'dir, böylece onları hafifçe bükerek lehimleyebilirsiniz veya başka bir soket bulabilirsiniz.

Ve işte tam burada PCB'lerin etrafında oturmak benim tam kutum iyi bir kullanıma girdi.

Eski CD-ROM sürücü PCB'lerinden birinde mükemmel bir 4 pinli esnek kablo konektörü (FPC konektörü) buldum ve bunu Kaliper ile kullanmaya karar verdim.

Plastik kasaları eriyebileceğinden PCB konektörlerini sökerken dikkatli olmanız gerektiğini söylemeye gerek yok.

Kaliper ekran kasasındaki konektör açıklığına mekanik olarak sığdırabilmek için bu konektöre ihtiyaç duyduğunuzda konektör olarak pin başlıklarını veya özel bir soket kullanmayı seçtiğinize de dikkat edin. (Daha fazla açıklama için resmi görebilirsiniz)

Adım 4: Konektörün Pin-out'unu Tanımlayın

Bağlayıcının Pin Çıkışını Tanımlayın
Bağlayıcının Pin Çıkışını Tanımlayın
Bağlayıcının Pin Çıkışını Tanımlayın
Bağlayıcının Pin Çıkışını Tanımlayın
Bağlayıcının Pin Çıkışını Tanımlayın
Bağlayıcının Pin Çıkışını Tanımlayın

Şimdi gerekli pedleri bulduktan sonra, her bir pedin neye bağlı olduğunu bilmemiz gerekiyor.

Bu Kaliperler için diğer Tersine mühendislik projelerinde zaten bulundu ve çoğu zaman aynı konfigürasyona sahipler (GND, DATA, CLOCK, VCC)

Kendinizle yapılandırmak için:

Pili çıkarın

  • multimetrenizi Buzzer durumuna ayarlayın (Süreklilik testi)
  • Bir probu Batarya -VE terminaline (GND) bağlayarak başlayın ve diğer probu kullanarak konektördeki hangi pinin toprağa bağlı olduğunu bulun.
  • Aynısını Pil +VE terminali ile yapın

Çipe bağlı diğer iki pime herhangi iki isim verebilirsiniz (EX: D0 ve D1) çünkü fonksiyonlarını daha sonra tersine mühendislik adımlarında bileceğiz

Pin çıkışını yapılandırmak istemiyorsanız, bağlayıcı pin çıkışını şu şekilde tahmin edebilirsiniz:

(GND, VERİ, SAAT, VCC)

GND, ekrana en yakın peddir

VCC, PCB kenarına en yakın peddir

ve konektör montajı için konektörün kenarındaki her iki daha büyük ped GND'ye bağlanır (bunları bir multimetre ile kontrol edebilirsiniz)

Adım 5: İletişim Protokolünü Tersine Mühendislik

İletişim Protokolünün Tersine Mühendislik
İletişim Protokolünün Tersine Mühendislik
İletişim Protokolünün Tersine Mühendislik
İletişim Protokolünün Tersine Mühendislik
İletişim Protokolünün Tersine Mühendislik
İletişim Protokolünün Tersine Mühendislik

Her iki dijital çıkış pininin sinyallerini bir osiloskopla inceledikten sonra, işte böyle görünüyor.

Pinlerden birinin veri iletimini (CLK hattı) senkronize etmek için bir saat olarak çalıştığını ve diğerinin veri hattı olduğunu görebilirsiniz, bu yüzden senkronize bir veri iletim protokolü ile uğraşıyoruz.

Görünen o ki: - Veriler 1.5 Volt mantık seviyesinde gönderiliyor (verniyeli pil ile aynı voltaj olduğu için mantıklı geliyor) - Veriler toplam 24 bit olmak üzere 6 nibble (6 x 4 bit) halinde gönderiliyor - Var her veri paketinin sonu ile diğerinin başlangıcı arasında yaklaşık 200 mS

verileri saatin yükselen kenarında örneklemeye karar verdim, bu yüzden kumpas üzerinde farklı ölçüler denedikten ve modunu (mm'den inç'e) değiştirdikten ve ayrıca bazı negatif değerler gösterdikten sonra test koşullarım için bu tabloyu (3. resim) aldım. ve iletişim protokolünü çözmeye başladım

Yani yakalanan verileri inceledikten sonra:

- mm modunda: 1'den 16'ya kadar olan bitler, kumpas üzerinde görüntülenen sayının ikili temsilidir (100 ile çarpılır)- (inç) modunda: 2 ila 17 arasındaki bitler, ekranda görüntülenen sayının ikili temsilidir. kumpas (1000 ile çarpılır)

- bit no.21 negatif işareti temsil eder (görüntülenen sayı negatifse 1 ve pozitifse 0)

- bit no.24, ölçüm birimini temsil eder (birim (in) ise 1 ve birim (mm) ise 0)

- (inç) modunda: bit no.1, 0,5 mil segmentini temsil eder (eklenmişse 1 ve eklenmemişse 0)

Adım 6: Mantık Dönüştürücüsü Yapmak

Mantık Dönüştürücü Yapma
Mantık Dönüştürücü Yapma
Mantık Dönüştürücü Yapma
Mantık Dönüştürücü Yapma

Şimdi kaliper datasının voltaj seviyesini değiştirmemiz gerekiyor (1.5 volt Arduino ile çalışmaya uygun değil, çok düşük) Bu proje için yaptığım lojik çevirici için şematik ekledim ama şu an verileri gördüğünüz gibi 5 volt mantık seviyesine kaydırılmasının yanı sıra ters çevrilecek, bu yüzden kodda bunu telafi etmemiz gerekiyor.

Adım 7: Arduino Kodu

Arduino Kodu
Arduino Kodu

Ve şimdi onu Arduino'ya bağlamaya hazırsınız. Ekteki kodu bulabilirsiniz. Saat pinini Arduino uno, nano veya pro-mini üzerindeki pin 2 veya 3'e bağlayın (kesme özellikli bir pin gerekir) veri pinini bağlayın başka bir pin. Kodu yükleyin ve ölçülen verileri görmek için seri monitörü açın

Kod, 24. veri bitini tarayarak pergelin hangi modda çalıştığını otomatik olarak algılayabilir.

Önerilen: