VL53L0X激光测距传感器.Mind+使用篇
打开软件先
选择上传模式
选择Uno
上传
C:\Program Files (x86)\Mind+\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I C:\Program Files (x86)\Mind+\Arduino\hardware\arduino\avr\cores\arduino -I C:\Program Files (x86)\Mind+\Arduino\hardware\arduino\avr\variants\eightanaloginputs -I C:\Program Files (x86)\Mind+\Arduino\hardware\arduino\avr\cores\arduino -I C:\Program Files (x86)\Mind+\Arduino\hardware\arduino\avr\variants\standard C:\Users\yunswj\AppData\Local\DFScratch\cache\dfrobot.ino.cpp -o C:\Users\yunswj\AppData\Local\DFScratch\cache\dfrobot.ino.o
C:\Program Files (x86)\Mind+\Arduino\hardware\tools\avr\bin\avr-gcc -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.elf C:\Users\yunswj\AppData\Local\DFScratch\cache\dfrobot.ino.o C:\Program Files (x86)\Mind+\Arduino\static/core/uno/core.a -lm
"C:\Program Files (x86)\Mind+\Arduino\hardware\tools\avr\bin\avr-objcopy" -O ihex -R .eeprom "C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.elf" "C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex"
项目使用了444字节,占用了(1%)程序存储空间,余留31812字节,最大为32256字节。
全局变量使用了9字节,(0%)的动态内存,余留2039字节局部变量,最大为2048字节。
C:\Program Files (x86)\Mind+\Arduino\hardware\tools\avr\bin\avrdude -CC:\Program Files (x86)\Mind+\Arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex:i
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Mind+\Arduino/hardware/tools/avr/etc/avrdude.conf"
Using Port : COM3
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex"
avrdude: writing flash (444 bytes):
Writing | ################################################## | 100% 0.08s
avrdude: 444 bytes of flash written
avrdude: verifying flash memory against C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex:
avrdude: load data flash data from input file C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex:
avrdude: input file C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex contains 444 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.06s
avrdude: verifying ...
avrdude: 444 bytes of flash verified
avrdude done. Thank you.
上传成功
我第一次用这个,写个打印语句看看
可以选择打印方式
这个积木在旁边
右边的代码区,可以看到
点这个地方上传
死循环输出
选择一个tof传感器
看传感器->然后一些函数(所谓的积木块)
合并的积木在这里
这个地方积木有点不太好放,大家体会
/*!
* MindPlus
* uno
*
*/
#include <DFRobot_VL53L0X.h>
// 创建对象
DFRobot_VL53L0X vl53l0x;
// 主程序开始
void setup() {
Serial.begin(9600);
vl53l0x.begin(0x50);
vl53l0x.setMode(vl53l0x.Low, vl53l0x.Continuous);
}
void loop() {
Serial.write((String(vl53l0x.getDistance()) + String("mm")).c_str());
Serial.println();
}
简单的说一下什么意思,第一步生成一个对象,取名叫vl53l0x
接着设置i2c的地址
函数原型,0x50是传入参数
设置i2c的一些模式
这个是设置的函数实现
得到距离的函数
这个地方是打印测量的结果,用string强行转换了类型
https://blog.csdn.net/qq_33375598/article/details/88045851
const char *c_str();
c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同.
这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。
1.c_str是一个内容为字符串指向字符数组的临时指针;
2.c_str返回的是一个可读不可改的常指针;
注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针
结果是这样的,体验很新奇.下次见
赞 (0)