今天小編給大家?guī)淼氖莵碜試?guó)外的Maker Gokux 的Tiny LiDAR的項(xiàng)目。這個(gè)測(cè)距儀項(xiàng)目使用了一個(gè)0.49英寸的OLED顯示屏,配合微型電池和微XIAO ESP32c3,打造出一個(gè)超級(jí)迷你的激光測(cè)距儀。通過使用VL53L0X TOF的激光測(cè)距傳感器,可以實(shí)現(xiàn)2米內(nèi)的距離測(cè)量。
Gokux是OLED顯示器的忠實(shí)粉絲。最近做的還能多項(xiàng)目都使用了OLED顯示屏。在研究一個(gè)項(xiàng)目時(shí),Gokux遇到了最小的OLED顯示屏,一個(gè)0.49英寸的64x32像素的微型顯示屏。他決定用這個(gè)顯示器構(gòu)建一個(gè)超級(jí)小工具。除了顯示器之外,這個(gè)項(xiàng)目使用了微型電池和微型微控制器 Xiao ESP32。這就是Gokux想出的“LiDAR ”項(xiàng)目。
材料清單
硬件:
Seeed studio xiao esp32c3
小型電池
0.49英寸OLED顯示模塊
基于VL53L0X TOF的激光激光測(cè)距傳感器
滑動(dòng)開關(guān)
B-7000 多用途膠水
30 AWG 電線
軟件
Fusion360
arduino IDE
工具
烙鐵套件
線切割機(jī)
焊接工具
3D打印機(jī)及耗材
產(chǎn)品設(shè)計(jì)
利用Fusion 360來規(guī)劃和設(shè)計(jì)我的項(xiàng)目,這需要仔細(xì)的空間優(yōu)化。需要將所有部件安裝到盡可能小的外形尺寸中,同時(shí)確保實(shí)用性,包括足夠的布線空間和易于組裝。首先,導(dǎo)入了零件的所有 3D 模型,并通過將零件放置在不同的位置來嘗試不同的配置。一旦我找到了最佳配置,圍繞它們建造了外殼。下面提供了所有設(shè)計(jì)文件。
3D打印
將所有模型導(dǎo)出到。STL 文件,使用 Anycubic 打印機(jī) 3D 打印它們。在這個(gè)項(xiàng)目中,我使用了 Numakers PLA+ Outrageous Orange 燈絲。你可以找到。第一步中的 STL 文件。
代碼燒錄
我總是喜歡在組裝之前將代碼上傳到微控制器。我正在使用Arduino IDE刷新代碼。按照以下教程為 Seeed Studio XIAO ESP32C3 設(shè)置 IDE,并了解有關(guān)此板的更多信息
確保將所有必需的庫安裝到 Arduino IDE 中
?VL53L0X庫
?MedianFilter 庫
下面是該項(xiàng)目的完整代碼
//The range readings are in units of mm. #include #include#include #include#include #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); VL53L0X sensor; MedianFilter test(10, 0); // Uncomment this line to use long range mode. This // increases the sensitivity of the sensor and extends its // potential range, but increases the likelihood of getting // an inaccurate reading because of reflections from objects // other than the intended target. It works best in dark // conditions. //#define LONG_RANGE // Uncomment ONE of these two lines to get // - higher speed at the cost of lower accuracy OR // - higher accuracy at the cost of lower speed //#define HIGH_SPEED #define HIGH_ACCURACY void setup() { Serial.begin(9600); Wire.begin(); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64 Serial.println(F("SSD1306 allocation failed")); for(;;); } sensor.init(); sensor.setTimeout(500); #if defined LONG_RANGE // lower the return signal rate limit (default is 0.25 MCPS) sensor.setSignalRateLimit(0.1); // increase laser pulse periods (defaults are 14 and 10 PCLKs) sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodPreRange, 18); sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodFinalRange, 14); #endif #if defined HIGH_SPEED // reduce timing budget to 20 ms (default is about 33 ms) sensor.setMeasurementTimingBudget(20000); #elif defined HIGH_ACCURACY // increase timing budget to 200 ms sensor.setMeasurementTimingBudget(200000); #endif // Clear the buffer. display.setTextColor(WHITE); } void displayDistance( int val) { display.clearDisplay(); display.setTextSize(3); display.setCursor(40,32); display.print(val); display.setTextSize(1); display.setCursor(60,55); display.print("mm"); display.display(); delay(100); } void loop() { int o,r = sensor.readRangeSingleMillimeters(); test.in( r ); o = test.out(); Serial.print(o); if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); } Serial.println(); displayDistance( o ); }
接線圖
小ESP32C3支持鋰電池充放電管理。這意味著 BMS 是內(nèi)置的。因此,不需要外部BM S。您可以通過 USB 端口為電池充電
組裝和接線
由于我們項(xiàng)目的規(guī)模很小,我們需要使用不同的組裝方法。由于零件上沒有任何螺絲孔,因此我們不能使用微小的螺釘將所有東西固定在一起。最好的使用方法是膠水,這與大多數(shù)緊湊型科技產(chǎn)品
(例如 AirPods)中使用的制造方法相同。我們?cè)谶@里沒有使用熱膠,我們使用的是 B-7000 多用途膠水。現(xiàn)在讓我們開始組裝
解題步驟 5.1
將OLED模塊的所有四根電線焊接到傳感器上。此外,從傳感器上焊接另外四根 20 毫米的電線,這些電線將在后續(xù)步驟中用于連接到 xiao GPIO。
解題步驟 5.2
將OLED模塊放入3D打印插槽中,同時(shí)將傳感器放在側(cè)面,并確保將傳感器與側(cè)面的小窗口對(duì)齊
解題步驟 5.3
現(xiàn)在粘上OLED模塊和傳感器。在模塊的側(cè)面涂上膠水
解題步驟 5.4
將電池粘在OLED模塊頂部
解題步驟 5.5
減少開關(guān)端子的長(zhǎng)度,將電池 BT+ 線切成合適的長(zhǎng)度,然后將 BT+ 線焊接到其中一個(gè)開關(guān)端子中。此外,從開關(guān)上焊接一根小電線。將連接到 Xiao 板的 BAT+
解題步驟 5.6
現(xiàn)在將開關(guān)放入 3D 打印插槽并將其粘合到位
解題步驟 5.7
將所有 GPIO 線焊接在 Xiao 板下方。通過 Xiao 的 3V3 引腳為 OLED 和傳感器供電。此外,將電池負(fù)極線和正極 BT 線從開關(guān)連接到 Xiao 的電池端子。
解題步驟 5.8
推下所有電線,將 Xiao 板放入 3D 打印中。此外,將 USB 端口與 3D 打印上的孔對(duì)齊。并粘上蕭板
解題步驟 5.9
我們剛剛完成了項(xiàng)目的組裝。打開電源
組裝完成有效果了
測(cè)試
讓我們測(cè)試一下我們的測(cè)量的準(zhǔn)確性。我在距離設(shè)備 10 厘米的地方放置了一個(gè)物體。我們項(xiàng)目
的測(cè)量值也顯示為 100 毫米,因此效果很好。
總結(jié)
向其添加鑰匙鏈,可以將其與側(cè)面的 3 毫米小孔連接起來。所以最好隨身攜帶。我們的傳感器可以測(cè)量高達(dá) 2 米,但精度很低。它提供長(zhǎng)達(dá) 1 米的可靠測(cè)量。所以建議大家在這個(gè)范圍內(nèi)使用它。所以這是Gokux做的最小的項(xiàng)目。這對(duì)他來說是一次很棒的學(xué)習(xí)經(jīng)歷。他目前正在計(jì)劃在同一拓?fù)渲虚_展更多項(xiàng)目。因此,想了解他的更多作品歡迎大家點(diǎn)擊原文鏈接了解。
-
OLED
+關(guān)注
關(guān)注
119文章
6212瀏覽量
224463 -
顯示屏
+關(guān)注
關(guān)注
28文章
4499瀏覽量
74480 -
測(cè)距儀
+關(guān)注
關(guān)注
0文章
117瀏覽量
18458
原文標(biāo)題:創(chuàng)客項(xiàng)目秀|基于XIAO的迷你激光數(shù)顯測(cè)距儀
文章出處:【微信號(hào):ChaiHuoMakerSpace,微信公眾號(hào):柴火創(chuàng)客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論