Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
BLOCURILE D1M adaugă carcase tactile, etichete, ghiduri de polaritate și breakouts pentru popularul Wemos D1 Mini SOC / Shields / Clones. Acest D1M BLOCK oferă o conexiune simplă între Wemos D1 Mini și modulul GY-521 (pinii de adresă și de întrerupere pot fi conectați la propriile cerințe).
Motivația mea inițială pentru dezvoltarea D1M BLOCK a fost pentru verificarea independentă a unui controler de urmărire solară.
Acest Gysoscope / Accelerometer (modulul GY-521) este cunoscut ca având următoarele aplicații:
- Măsurarea jocurilor atletice
- Realitate augmentată
- Imagine electronică (EIS: Stabilizare electronică a imaginii)
- Imagine optică (OIS: stabilizare optică a imaginii)
- Navigator pietoni
- Interfața utilizatorului gesturi zero touch
- Comandă rapidă postură 8. Telefon mobil inteligent
- Dispozitive tabletă
- Produse de joc portabile
- Telecomandă 3D
- Dispozitive de navigare portabile
Acest pas instructabil trece prin asamblarea blocului și apoi testează măsurătorile Pitch, Roll și Yaw folosind BLOCUL WIFI D1M.
Pasul 1: Materiale și instrumente
Acum există o listă completă a listei de materiale și surse.
- Scutul Wemos D1 Mini Protoboard și anteturile femele cu pini lungi
- Piese imprimate 3D.
- Un set de D1M BLOCK - Instalați Jigs
- Un modul GY-521
- Sârmă de conectare.
- Adeziv puternic pentru cianoacrilat (de preferință cu perie)
- Pistol de lipit fierbinte și lipici fierbinți
- Lipire și fier
Pasul 2: lipirea pinilor antetului (folosind PIN JIG)
Există un videoclip de mai sus care trece prin procesul de lipire pentru PIN JIG.
- Introduceți pinii antetului prin partea inferioară a plăcii (TX dreapta-stânga) și în dispozitivul de lipit.
- Apăsați pinii în jos pe o suprafață plană tare.
- Apăsați ferm placa în jos pe jig.
- Lipiți cele 4 știfturi de colț.
- Reîncălziți și repoziționați placa / pinii dacă este necesar (placa sau pinii nu sunt aliniați sau plumbi).
- Lipiți restul știfturilor
Pasul 3: Asamblarea Scutului
Deoarece modulul GY-521 vă va împiedica să lipiți prin orificiile din partea superioară, următoarea strategie funcționează: pe partea inferioară, lipiți peste orificiul traversant, apoi repetați și împingeți capătul firului prin orificiu și îndepărtați căldura.
- Antet de lipit 8P care a venit cu modulul pe GY-521.
- Așezați modulul pe ecran și lipit (asigurând o distanță egală a știftului lateral).
- Îndoiți 4 știfturi și tăiați știfturile rămase.
- Plasați și lipiți 3V3 la VCC (roșu).
- Plasați și lipiți GND în GND (negru).
- Plasați și lipiți D1 către SCL (albastru).
- Plasați și lipiți D2 la SDA (verde).
Dacă aveți de gând să conectați pinii de adresă și de întrerupere, este momentul să faceți acest lucru.
Pasul 4: lipirea componentei de bază
Neacoperit în videoclip, dar recomandat: puneți un strat mare de adeziv fierbinte în baza goală înainte de a introduce rapid placa și a le alinia - aceasta va crea chei de compresie de ambele părți ale plăcii. Vă rugăm să efectuați o cursă uscată plasând scuturile în bază. Dacă lipirea nu a fost foarte precisă, poate fi necesar să faceți o ușoară depunere a marginii PCB-ului.
- Cu suprafața inferioară a carcasei bazei îndreptată în jos, plasați capul din plastic al ansamblului lipit prin găurile din bază; (pinul TX va fi lateral cu canelura centrală).
- Așezați jigul de adeziv fierbinte sub bază cu anteturile din plastic așezate prin canelurile sale.
- Așezați jigul de adeziv fierbinte pe o suprafață plană fermă și împingeți cu grijă PCB-ul în jos până când anteturile din plastic lovesc suprafața; aceasta ar trebui să aibă știfturile poziționate corect.
- Când utilizați adezivul fierbinte, păstrați-l departe de știfturile de la antet și la cel puțin 2 mm de locul în care va fi poziționat capacul.
- Aplicați lipici pe toate cele 4 colțuri ale PCB-ului asigurând contactul cu pereții de bază; permiteți infiltrarea pe ambele părți ale PCB-ului, dacă este posibil.
Pasul 5: lipirea capacului de bază
- Asigurați-vă că știfturile nu conțin lipici și că partea superioară de 2 mm a bazei nu conține lipici fierbinte.
- Pre-montați capacul (cursă uscată) asigurându-vă că nu există obstacole de imprimare.
- Luați măsurile de precauție adecvate atunci când utilizați adezivul cianoacrilat.
- Aplicați cianoacrilat pe colțurile inferioare ale capacului asigurând acoperirea creastei adiacente.
- Așezați rapid capacul la bază; prin prindere închideți colțurile dacă este posibil (evitând obiectivul).
- După ce capacul este uscat, îndoiți manual fiecare știft, astfel încât să fie central în gol, dacă este necesar (a se vedea video).
Pasul 6: Adăugarea etichetelor adezive
- Aplicați eticheta pinout pe partea inferioară a bazei, cu pinul RST pe lateral cu canelură.
- Aplicați eticheta de identificare pe partea plană, fără caneluri, cu știfturile goale fiind partea superioară a etichetei.
- Apăsați ferm etichetele în jos, cu un instrument plat, dacă este necesar.
Pasul 7: Testarea cu BLOCUL WIFI D1M
Pentru acest test veți avea nevoie de:
- UN BLOC D1M GY521
- UN BLOC WIFI D1M
Pregătire:
- În Arduino IDE instalați bibliotecile I2CDev și MPU6050 (fermoarele atașate)
- Încărcați schița de test pe D1M WIFI BLOCK.
- Deconectați USB-ul de la computer.
- Atașați D1M GY521 BLOCK la D1M WIFI BLOCK
Testul:
- Conectați USB-ul la computer.
- Deschideți fereastra consolei Arduino la baudul identificat în schiță.
- Mutați BLOCURILE în spațiu și verificați dacă valorile consolei reflectă mișcările.
O schiță de test care înregistrează unghiul de bază PITCH / ROLL / YAW pentru modulul KY-521
#include „I2Cdev.h” |
#include "MPU6050_6Axis_MotionApps20.h" |
#include „Wire.h” |
MPU6050 mpu; |
uint8_t mpuIntStatus; |
uint16_t pachet Dimensiune; |
uint16_t fifoCount; |
uint8_t fifoBuffer [64]; |
Cuaternion q; |
Gravitatea VectorFloat; |
float ypr [3]; |
volatile bool mpuInterrupt = false; |
void dmpDataReady () {mpuInterrupt = true;} |
configurare nulă () { |
Wire.begin (); |
mpu.initialize (); |
mpu.dmpInitialize (); |
mpu.setDMPEnabled (adevărat); |
attachInterrupt (0, dmpDataReady, RISING); |
mpuIntStatus = mpu.getIntStatus (); |
packetSize = mpu.dmpGetFIFOPacketSize (); |
Serial.begin (115200); |
} |
bucla nulă () { |
while (! mpuInterrupt && fifoCount <packetSize) {} |
mpuInterrupt = false; |
mpuIntStatus = mpu.getIntStatus (); |
fifoCount = mpu.getFIFOCount (); |
if ((mpuIntStatus & 0x10) || fifoCount == 1024) { |
mpu.resetFIFO (); |
Serial.println (F ("FIFO overflow!")); |
} |
else if (mpuIntStatus & 0x02) { |
while (fifoCount <packetSize) fifoCount = mpu.getFIFOCount (); |
mpu.getFIFOBytes (fifoBuffer, pachet Dimensiune); |
fifoCount - = pachet Dimensiune; |
mpu.dmpGetQuaternion (& q, fifoBuffer); |
mpu.dmpGetGravity (& gravitate, & q); |
mpu.dmpGetYawPitchRoll (ypr, & q, & gravity); |
Serial.print ("ypr / t"); |
Serial.print (ypr [0] * 180 / M_PI); |
Serial.print ("\ t"); |
Serial.print (ypr [1] * 180 / M_PI); |
Serial.print ("\ t"); |
Serial.print (ypr [2] * 180 / M_PI); |
Serial.println (); |
} |
} |
vizualizați rawd1m_MPU6050_pitch_roll_yaw.ini găzduit cu ❤ de GitHub
Pasul 8: Pașii următori
- Programați D1M BLOCK cu D1M BLOCKLY
- Verificați Thingiverse
- Puneți o întrebare la Forumul Comunității ESP8266