ඔබගේ සමහර ව්යාපෘති වලදී දුර මැනීමට ඔබට අවශ්ය වනු ඇත. හොඳයි, ඔබ එය දැනගත යුතුයි VL53L0X යනු ඉහළ නිරවද්යතාවයකින් ඒවා මැනීමට ඉඩ සලසන උපකරණයකි. ඊට අමතරව, එහි කුඩා ප්රමාණය සහ අඩු මිල ඔබගේ DIY ව්යාපෘති සඳහා විශේෂයෙන් Arduino සමඟ ඒකාබද්ධ වීමට වඩාත් සුදුසු වේ.
දුර මැනිය හැකි බොහෝ උපාංග තිබේ, ඒවායින් සමහරක් ශබ්දය විමෝචනය කරන අල්ට්රා සවුන්ඩ් මත පදනම් වූ දුර මීටර වන අතර වස්තුව සමඟ වේගයෙන් ගමන් කරන විට ඇති දුර ප්රමාණවත් ලෙස දැන ගැනීමට ඉඩ සලසයි. නමුත් ඔබට ඉහළම නිරවද්යතාවය අවශ්ය නම්, මේ සඳහා ඔබට අ දෘශ්ය දුර මීටරය. මෙම වර්ගයේ මිනුම් උපකරණ ලේසර් මත පදනම් වේ, VL53L0X හි මෙන්ම.
ඒ
ToF යනු කුමක්ද?
පියාසර කරන වේලාව හෝ ටොෆ් (පියාසර කරන වේලාව) කැමරාව එය දුර මැනීමට භාවිතා කරන තාක්ෂණයකි. එය දෘෂ්ටි විද්යාව මත පදනම් වන අතර ආලෝක කදම්බයක් විමෝචනය කිරීම සහ පිළිගැනීම අතර ගතවන කාලය මනිනු ලබයි. ඒවා CCD, CMOS සංවේදක විය හැකි අතර ස්පන්දන අධෝරක්ත කිරණ, ලේසර් ආදිය විය හැකිය. ස්පන්දනය අවුලුවන විට වේලාව මැනීම ආරම්භ කිරීම සඳහා පද්ධතිය සමමුහුර්ත වන අතර සංවේදකයෙන් ඉහළට එන විට කවුන්ටරය නවත්වනු ඇත.
ඒ විදියට දුර තරමක් නිවැරදිව ගණනය කළ හැකිය. ඔබට අවශ්ය වන්නේ කදම්භය විදින විට සිට එය ලැබුණු විට දක්වා ගණනය කිරීම් සිදු කිරීම සඳහා චිපය තුළට සාදන ලද අතිරේක තාර්කික පරිපථයකි. මූලධර්මය තරමක් සරල ය.
මෙම වර්ගයේ උපාංගය භාවිතා වේ රොබෝ විද්යාව රොබෝවරයාට හෝ ඩ්රෝන යානයට බාධක මඟහරවා ගැනීමට, ඉලක්කයකින් ඔවුන් කොතරම් දුරින් සිටිනවාදැයි දැන ගැනීමට, චලනය හෝ සමීපත්වය හඳුනා ගැනීමට, විවිධ යෙදුම් සඳහා භාවිතා කරන කාර් සංවේදක සඳහා, ආර්ඩුයිනෝට යමක් කිරීමට විද්යුත් යන්ත්රයක් වැනි විද්යුත් මීටරයක් ක්රියාත්මක කිරීමට. එය වස්තුවක නිශ්චිත සමීපත්වය හඳුනාගත් විට.
VL53L0X සහ දත්ත පත්රිකාව යනු කුමක්ද?
El VL53L0X ලේසර් අධෝරක්ත කිරණ මගින් දුර මැනීමට මෙම මූලධර්මය භාවිතා කරයි. පසුගිය පරම්පරාව. Arduino වැනි ප්රොසෙසරයක් සමඟ එය මැනීම සඳහා ප්රබල මෙවලමක් විය හැකිය. නිශ්චිතවම, චිපයට මිලිමීටර් 50 ත් 2000 ත් අතර දුරක් අල්ලා ගත හැකිය, එනම් සෙන්ටිමීටර 5 ත් මීටර් 2 ත් අතර දුරක්.
සමීප දුර මැනීම සඳහා ඔබට බොහෝ විට VL6180X නමින් හැඳින්වෙන මෙම චිපයේ ප්රභේදයක් අවශ්ය වන අතර එය මිලිමීටර් 5 ත් 200 ත් අතර පරාසයක් මැනීමට ඉඩ සලසයි, එනම් සෙන්ටිමීටර භාගයක සිට සෙන්ටිමීටර 20 අතර පරාසයක් මැනිය හැකිය. ඔබට සමාන උපකරණයක් සොයා ගැනීමට අවශ්ය නමුත් ඕනෑම තාක්ෂණික හේතුවක් නිසා අල්ට්රා සවුන්ඩ් මත පදනම්ව, ඔබ නිෂ්පාදකයින් අතර ජනප්රිය තවත් තරමක් ලාභ මොඩියුලයක් වන HC-SR04 දෙස බැලිය යුතුය.
El VL53L0X චිපය සඳහා නිර්මාණය කර ඇත සංසරණ ආලෝකය තරමක් ඉහළ මට්ටමක පවතින විට පවා වැඩ කරන්න. දෘෂ්යමය වශයෙන් වැඩ කරන විට පරිසරයේ ආලෝකය “දූෂණය” වැඩි වන තරමට සං signal ාවේ තල්ලුව ප්රමාණවත් ලෙස ග්රහණය කර ගැනීම දුෂ්කර වනු ඇති බව මතක තබා ගන්න. නමුත් මෙම අවස්ථාවේ දී එය ඕනෑවට වඩා ගැටළුවක් ඉදිරිපත් නොකරයි. ඊට අමතරව, එය ඒකාබද්ධ කරන වන්දි ක්රමය මඟින් ඔබ එය ආරක්ෂිත වීදුරු පිටුපස භාවිතා කළත් මැනීමට ඉඩ දෙයි.
එය එකක් බවට පත් කරයි හොඳම දුර සංවේදක ඔබ වෙළඳපොලේ සොයා ගනු ඇත. අල්ට්රා සවුන්ඩ් හෝ අධෝරක්ත (IR) මත පදනම් වූ සංවේදක වලට වඩා වැඩි නිරවද්යතාවයකින්. මෙතරම් නිරවද්ය වීමට හේතුව ලේසර් අනෙක් අවස්ථා වලදී මෙන් දෝංකාරය හෝ වස්තූන්ගෙන් පරාවර්තනය වීම බලපාන්නේ නැත.
වර්තමානයේදී ඔබට එය කොටළුවන් තුළ ඩොලර් 16 ක් පමණ හෝ වෙනත් අවස්ථාවල දී ඩොලර් 1 ක් හෝ 3 කට වඩා සරල තහඩු සමඟ ඒකාබද්ධ වී ඇති බව සොයාගත හැකිය. ඊ බේ, අලිඑක්ස්ප්රෙස්, ඇමේසන් වැනි වෙළඳසැල් වලින් ඔබ එය සොයා ගන්නා බව ඔබ දැනටමත් දන්නවා. මෙම උපාංගවල නිෂ්පාදකයින් විවිධාකාර වේ, එබැවින් ඔබ මිලදී ගත් ආකෘතියේ විස්තර දැන ගැනීමට අවශ්ය නම්, පරීක්ෂා කිරීම වඩාත් සුදුසුය නිෂ්පාදකයාගේ දත්ත පත්රිකාව ඔබ තෝරාගත් බව. උදාහරණ වශයෙන්:
El VL53L0X චිපය තුළ ලේසර් ස්පන්දනයේ විමෝචකය සහ ආපසු එන කදම්භය අල්ලා ගැනීමට සංවේදකය ඇත. මෙම අවස්ථාවේ දී, විමෝචකය VCSEL වර්ගයේ (සිරස් කුහර මතුපිට-විමෝචන ලේසර්) 940nm තරංග ආයාම ලේසර් වේ. ග්රහණ සංවේදකය සම්බන්ධයෙන් ගත් කල, එය SPAD (තනි ෆෝටෝන ඇවලාන්ච් ඩයෝඩ) වේ. එය දුර ගණනය කරන ෆ්ලයිට්සෙන්ස් ටීඑම් නමින් අභ්යන්තර ඉලෙක්ට්රොනික උපකරණ ද ඒකාබද්ධ කරයි.
El මිනුම් කෝණය හෝ FOV (දර්ශන ක්ෂේත්රය) මෙම අවස්ථාවේ දී එය 25º වේ. එය මීටර් 0,44 ක දුරින් විෂ්කම්භය මීටර් 1 ක මිනුම් ප්රදේශයකට පරිවර්තනය වේ. මිනුම් පරාසය අවට තත්වයන් මත රඳා පවතී. එය ගෘහස්ථව සිදු කරන්නේ නම් එය එළිමහනේ සිදු කරනවාට වඩා ටිකක් වැඩි ය. එය ඔබ යොමු කරන වස්තුවේ පරාවර්තනය මත ද රඳා පවතී:
ඉලක්ක පරාවර්තනය | කොන්දේසි | අභ්යන්තරය | බාහිර |
---|---|---|---|
සුදු ඉලක්කය | සාමාන්යයි | 200cm | 80cm |
අනුකරණය කරන්න | 120cm | 60cm | |
අළු ඉලක්කය | සාමාන්යයි | 80cm | 50cm |
අවම | 70cm | 40cm |
මීට අමතරව, VL53L0X කිහිපයක් ඇත මෙහෙයුම් මාතයන් එය ප්රති .ල වෙනස් විය හැකිය. එම මාතයන් පහත වගුවේ සාරාංශ කොට ඇත:
මෝඩෝ | කාලය | ළඟා වෙන්න | නිරවද්යතාව |
---|---|---|---|
පෙරනිමිය | 30ms | 1.2m | පහත වගුව බලන්න |
ඉහළ නිරවද්යතාව | 200ms | 1.2m | +/- 3% |
දිගු දුර | 33ms | 2m | පහත වගුව බලන්න |
අධික වේගය | 20ms | 1.2m | +/- 5% |
මෙම ක්රම වලට අනුව, අපට කිහිපයක් තිබේ සම්මත සහ දිගු දුර නිරවද්යතාව ඔබට මෙම වගුවේ ඇති බව:
අභ්යන්තරය | බාහිර | |||||
---|---|---|---|---|---|---|
ඉලක්ක පරාවර්තනය | දුර | 33ms | 66ms | දුර | 33ms | 66ms |
සුදු ඉලක්කය | 120cm | 4% | 3% | 60cm | 7% | 6% |
අළු ඉලක්කය | 70cm | 7% | 6% | 40cm | 12% | 9% |
Pinout සහ සම්බන්ධතාවය
මේ සියල්ල නිසි ලෙස ක්රියාත්මක වීමට ඔබට අවශ්යය බාහිර ලෝකය සමඟ අතුරු මුහුණතක්. සමහර පයින් හෝ සම්බන්ධතා හරහා එය සාක්ෂාත් කරගනු ලැබේ. VL53L0X හි pinout තරමක් සරල ය, එහි ඇත්තේ පයින් 6 ක් පමණි. Arduino සමඟ ඒකාබද්ධ වීම සඳහා I2C හරහා සන්නිවේදනය කළ හැකිය.
එය පෝෂණය කිරීම සඳහා, ඔබට හැකිය අල්ෙපෙනති සම්බන්ධ කරන්න ඒ නිසා:
- ආර්ඩුයිනෝ වෙතින් VCC සිට 5v දක්වා
- Arduino හි GND සිට GND දක්වා
- ආර්ඩුයිනෝ ඇනලොග් පින් එකකට SCL. උදාහරණයක් ලෙස A5
- SDA වෙනත් ඇනලොග් පින් එකකට. උදාහරණයක් ලෙස A4
- GPI01 සහ XSHUT අල්ෙපෙනති මේ මොහොතේ භාවිතා කිරීමට අවශ්ය නැත.
Arduino සමඟ ඒකාබද්ධ වීම
වෙනත් බොහෝ මොඩියුල සඳහා, VL53L0X සඳහා ඔබට පුස්තකාල ද ඇත (උදා ඇඩෆ්රූට්) ඔබ ලියන විට ඇතැම් කාර්යයන් සමඟ වැඩ කිරීමට භාවිතා කළ හැකි කේත Arduino IDE හි ඔබේ ව්යාපෘතිය හැසිරවීමේ ප්රභව කේතය. Arduino සමඟ එය ඔබගේ පළමු අවස්ථාව නම්, මම නිර්දේශ කරමි අපගේ ක්රමලේඛන අත්පොත.
උදාහරණයක් අනුක්රමික වරාය හරහා ඔබට මිනුම් ගැනීමට සහ මිනුම් අගය පෙන්වීමට සරල කේතය ඔබට Arduino පුවරුව සම්බන්ධ කර ඇති අතරතුර එය ඔබේ පරිගණක තිරයෙන් දැකිය හැකිය:
#include "Adafruit_VL53L0X.h" Adafruit_VL53L0X lox = Adafruit_VL53L0X(); void setup() { Serial.begin(9600); // Iniciar sensor Serial.println("VL53L0X test"); if (!lox.begin()) { Serial.println(F("Error al iniciar VL53L0X")); while(1); } } void loop() { VL53L0X_RangingMeasurementData_t measure; Serial.print("Leyendo sensor... "); lox.rangingTest(&measure, false); // si se pasa true como parametro, muestra por puerto serie datos de debug if (measure.RangeStatus != 4) { Serial.print("Distancia (mm): "); Serial.println(measure.RangeMilliMeter); } else { Serial.println(" Fuera de rango "); } delay(100); }
ඇඩෆ්රූට්ගේම පුස්තකාලයේ ඔබට අවශ්ය නම් භාවිතයට තවත් උදාහරණ තිබේ ...
අදහස් පළ කිරීමට ප්රථම වන්න