İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
D1M BLOKLAR, popüler Wemos D1 Mini SOC/Kalkanlar/Klonlar için dokunsal kılıflar, etiketler, polarite kılavuzları ve çıkışlar ekler. Bu D1M BLOK, Wemos D1 Mini ile GY-521 modülü arasında basit bir bağlantı sağlar (Adres ve Kesinti pinleri kendi gereksinimlerinize göre bağlanabilir).
D1M BLOCK'u geliştirmek için ilk motivasyonum bir güneş takip kontrolörünün bağımsız doğrulamasıydı.
Bu Jizoskop/İvmeölçer (GY-521 modülü) şu uygulamalara sahip olarak lanse edilir:
- Atletik oyunlar ölçümü
- Arttırılmış gerçeklik
- Elektron Görüntüsü (EIS: Elektronik Görüntü Sabitleme)
- Optik Görüntü (OIS: Optik Görüntü Sabitleme)
- yaya gezgini
- Sıfır dokunma hareketi kullanıcı arayüzü
- Duruş kısayolu 8. Akıllı cep telefonu
- Tablet cihazlar
- El oyun ürünleri
- 3D uzaktan kumanda
- Taşınabilir navigasyon cihazları
Bu Eğitilebilirlik, bloğun montajından geçer ve ardından D1M WIFI BLOK kullanarak Pitch, Roll ve Yaw ölçümlerini test eder.
Adım 1: Malzemeler ve Araçlar
Artık tam bir Malzeme Listesi ve Kaynaklar listesi var.
- Wemos D1 Mini Protoboard kalkanı ve uzun pimli dişi başlıklar
- 3D baskılı parçalar.
- D1M BLOK seti - Montaj Jigleri
- Bir GY-521 modülü
- Bağlantı teli.
- Güçlü Siyanoakrilat Yapıştırıcı (tercihen fırçayla sürülür)
- Sıcak tutkal tabancası ve sıcak tutkal çubukları
- Lehim ve Demir
Adım 2: Başlık Pinlerini Lehimleme (PIN JIG kullanarak)
Yukarıda PIN JIG için lehimleme sürecini anlatan bir video var.
- Başlık pimlerini kartın altından (TX sağ-sol) ve lehim mastarına besleyin.
- Pimleri sert düz bir yüzeye bastırın.
- Tahtayı jig üzerine sıkıca bastırın.
- 4 köşe pimini lehimleyin.
- Gerekirse kartı/pimleri yeniden ısıtın ve yeniden konumlandırın (tahta veya pimler hizalanmamış veya çekül).
- Pimlerin geri kalanını lehimleyin
Adım 3: Kalkanı Birleştirme
GY-521 modülü üst taraftaki deliklerden lehimlemenizi engelleyeceğinden, aşağıdaki strateji işe yarar: alt tarafta, açık deliğin üzerinden lehimleyin, ardından yeniden eritin ve telin ucunu delikten itin ve ısıyı uzaklaştırın.
- Modülle birlikte GY-521'e gelen lehim 8P başlığı.
- Modülü blendajın ve lehimin üzerine yerleştirin (eşit kenar pim açıklığı sağlayarak).
- 4 pimi bükün ve kalan pimleri kesin.
- 3V3'ü VCC'ye (kırmızı) yerleştirin ve lehimleyin.
- GND'yi GND'ye (siyah) yerleştirin ve lehimleyin.
- D1'i SCL'ye (mavi) yerleştirin ve lehimleyin.
- D2'yi SDA'ya (yeşil) yerleştirin ve lehimleyin.
Address ve Interrupt pinlerini bağlayacaksanız şimdi tam zamanı.
Adım 4: Bileşeni Tabana Yapıştırma
Videoda ele alınmamıştır, ancak önerilir: Kartı hızlı bir şekilde yerleştirmeden ve hizalamadan önce boş tabana büyük miktarda sıcak tutkal koyun - bu, kartın her iki tarafında sıkıştırma tuşları oluşturacaktır. Lütfen kalkanları tabana yerleştirerek kuru bir çalışma yapın. Yapıştırma çok doğru değilse, PCB'nin kenarına hafif bir eğeleme yapmanız gerekebilir.
- Taban kasası alt yüzeyi aşağı bakacak şekilde lehimli montaj plastik başlığını tabandaki deliklerden geçirin; (TX pimi, merkezi oluğun yanında olacaktır).
- Sıcak tutkal mastarını, oluklarından geçen plastik başlıklarla tabanın altına yerleştirin.
- Sıcak tutkal mastarını sağlam ve düz bir yüzeye oturtun ve PCB'yi plastik başlıklar yüzeye çarpana kadar dikkatlice aşağı doğru itin; bu, pinlerin doğru şekilde konumlandırılmasını sağlamalıdır.
- Sıcak tutkalı kullanırken başlık pimlerinden ve kapağın yerleştirileceği yerden en az 2 mm uzakta tutun.
- Taban duvarları ile temas sağlamak için PCB'nin 4 köşesine de yapıştırıcı sürün; mümkünse PCB'nin her iki tarafına sızmasına izin verin.
Adım 5: Kapağı Tabana Yapıştırma
- Pimlerde yapışkan bulunmadığından ve tabanın üst 2 mm'lik kısmında sıcak tutkal bulunmadığından emin olun.
- Kapağı önceden takın (kuru çalışma), yolda hiçbir baskı artefaktı olmadığından emin olun.
- Siyanoakrilat yapıştırıcıyı kullanırken uygun önlemleri alın.
- Kapağın alt köşelerine bitişik çıkıntıyı kaplayacak şekilde Siyanoakrilat uygulayın.
- Kapağı tabana hızla takın; mümkünse köşeleri sıkıştırarak kapatın (lensten kaçınarak).
- Kapak kuruduktan sonra her pimi elle bükün, böylece gerekirse boşlukta ortalanır (videoya bakın).
Adım 6: Yapışkan Etiketleri Ekleme
- RST pimi oluklu tarafta olacak şekilde, pim etiketini tabanın alt tarafına uygulayın.
- Tanımlayıcı etiketi, boş pimler etiketin üst kısmı olacak şekilde düz, yivsiz tarafa uygulayın.
- Gerekirse düz bir aletle etiketleri sıkıca bastırın.
7. Adım: D1M WIFI BLOK ile Test Etme
Bu test için ihtiyacınız olacak:
- A D1M GY521 BLOK
- D1M WIFI BLOK
Hazırlık:
- Arduino IDE'de I2CDev ve MPU6050 kitaplıklarını kurun (zipler ekli)
- Test çizimini D1M WIFI BLOK'a yükleyin.
- USB'yi PC'den ayırın.
- D1M GY521 BLOK'u D1M WIFI BLOK'a takın
Test:
- USB'yi PC'ye bağlayın.
- Çizimde tanımlanan baud'da Arduino konsol penceresini açın.
- BLOCK'ları boşlukta hareket ettirin ve konsol değerlerinin hareketleri yansıttığını kontrol edin.
KY-521 modülü için temel PITCH/ROLL/YAW açısını kaydeden bir test çizimi
#include "I2Cdev.h" |
#include "MPU6050_6Axis_MotionApps20.h" |
#include "Wire.h" |
MPU6050 mpu; |
uint8_t mpuIntStatus; |
uint16_t paketBoyutu; |
uint16_t fifoCount; |
uint8_t fifoBuffer[64]; |
Kuaterniyon q; |
VektörFloat yerçekimi; |
yüzer ypr[3]; |
uçucu bool mpuInterrupt = false; |
void dmpDataReady() {mpuInterrupt = true;} |
geçersiz kurulum() { |
Wire.begin(); |
mpu.initialize(); |
mpu.dmpInitialize(); |
mpu.setDMPEnabled(true); |
AttachInterrupt(0, dmpDataReady, YÜKSELİYOR); |
mpuIntStatus = mpu.getIntStatus(); |
packageSize = mpu.dmpGetFIFOPacketSize(); |
Seri.başla(115200); |
} |
boşluk döngüsü () { |
while (!mpuInterrupt && fifoCount < packageSize) {} |
mpuInterrupt = yanlış; |
mpuIntStatus = mpu.getIntStatus(); |
fifoCount = mpu.getFIFOCount(); |
if ((mpuIntStatus & 0x10) || fifoCount == 1024) { |
mpu.resetFIFO(); |
Serial.println(F("FIFO taşması!")); |
} |
else if (mpuIntStatus & 0x02) { |
while (fifoCount < packageSize) fifoCount = mpu.getFIFOCount(); |
mpu.getFIFOBytes(fifoBuffer, packageSize); |
fifoCount -= paketSize; |
mpu.dmpGetQuaternion(&q, fifoBuffer); |
mpu.dmpGetGravity(&yerçekimi, &q); |
mpu.dmpGetYawPitchRoll(ypr, &q, &gravity); |
Serial.print("ypr\t"); |
Serial.print(ypr[0]*180/M_PI); |
Seri.print("\t"); |
Serial.print(ypr[1]*180/M_PI); |
Seri.print("\t"); |
Serial.print(ypr[2]*180/M_PI); |
Seri.println(); |
} |
} |
GitHub tarafından ❤ ile barındırılan rawd1m_MPU6050_pitch_roll_yaw.ini görüntüle
8. Adım: Sonraki Adımlar
- D1M BLOCK'unuzu D1M BLOCKLY ile programlayın
- Thingiverse'e göz atın
- ESP8266 Topluluk Forumunda bir soru sorun