eagler8
发表于 2019-8-7 14:58:46
eagler8
发表于 2019-8-7 15:34:27
eagler8
发表于 2019-8-7 16:31:04
本帖最后由 eagler8 于 2019-8-7 17:50 编辑
26 BH1750FVI 数字光强度模块光照传感器(数值类 I2C接口)
/*
Eagler8系列实验程序列表
第十类 扩展实验
26 BH1750FVI 数字光强度模块光照传感器(数值类 I2C接口)
项目:测试I2C接口,串口读取环境光照波形
Module UNO
VCC —— 5V
GND——GND
SCL —— A5
SDA—— A4
ADD —— NC
*/
#include <Wire.h>
#include <math.h>
int BH1750address = 0x23;
byte buff;
void setup()
{
Wire.begin();
Serial.begin(57600);
}
void loop()
{
int i;
uint16_t val=0;
BH1750_Init(BH1750address);
delay(200);
if(2==BH1750_Read(BH1750address))
{
val=((buff<<8)|buff)/1.2;
Serial.println(val,DEC);
}
delay(150);
}
int BH1750_Read(int address)
{
int i=0;
Wire.beginTransmission(address);
Wire.requestFrom(address, 2);
while(Wire.available())
{
buff = Wire.read();
i++;
}
Wire.endTransmission();
return i;
}
void BH1750_Init(int address)
{
Wire.beginTransmission(address);
Wire.write(0x10);
Wire.endTransmission();
}
eagler8
发表于 2019-8-7 16:35:17
传感器放在窗口附近的自然光线的波形
eagler8
发表于 2019-8-7 16:39:18
eagler8
发表于 2019-8-7 17:20:47
eagler8
发表于 2019-8-7 17:23:58
eagler8
发表于 2019-8-7 17:36:44
eagler8
发表于 2019-8-8 21:03:42
27 开源DFPlayer Mini TF卡MP3播放模块(输出执行器类D7数字接口)
/*
Eagler8系列实验程序列表
第十类 扩展实验
27 开源DFPlayer Mini TF卡MP3播放模块(输出执行器类D7/D8数字接口)
程序之一,循环播放TF卡内0003.MP3(MP3文件夹内),音量20
材料:1.5W小型扬声器一个
Arduino-------dfplayer
5V-------------VCC
GND-----------GND
D7-----------TXD
D8-----------RXD
*/
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(2, 3);
DFRobotDFPlayerMini myDFPlayer;
void setup()
{
mySoftwareSerial.begin(9600);
myDFPlayer.begin(mySoftwareSerial);
myDFPlayer.volume(20);
myDFPlayer.loop(3);
}
void loop()
{
}
eagler8
发表于 2019-8-8 21:05:23
/*
Eagler8系列实验程序列表
第十类 扩展实验
27 开源DFPlayer Mini TF卡MP3播放模块(输出执行器类D7/D8数字接口)
程序之二,每3秒切换到下一首歌曲,音量20(速播TF卡内所有MP3歌曲)
可以打印来自dfplayer的详细信息以处理不同的错误和状态。
材料:1.5W小型扬声器一个
Arduino-------dfplayer
5V-------------VCC
GND-----------GND
D7-----------TXD
D8-----------RXD
*/
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(8, 7);
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
void setup()
{
mySoftwareSerial.begin(9600);
Serial.begin(115200);
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini Demo"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
if (!myDFPlayer.begin(mySoftwareSerial)) {
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
while(true);
}
Serial.println(F("DFPlayer Mini online."));
myDFPlayer.volume(20);
myDFPlayer.play(3);
}
void loop()
{
static unsigned long timer = millis();
if (millis() - timer > 3000) {
timer = millis();
myDFPlayer.next();
}
if (myDFPlayer.available()) {
printDetail(myDFPlayer.readType(), myDFPlayer.read());
}
}
void printDetail(uint8_t type, int value){
switch (type) {
case TimeOut:
Serial.println(F("Time Out!"));
break;
case WrongStack:
Serial.println(F("Stack Wrong!"));
break;
case DFPlayerCardInserted:
Serial.println(F("Card Inserted!"));
break;
case DFPlayerCardRemoved:
Serial.println(F("Card Removed!"));
break;
case DFPlayerCardOnline:
Serial.println(F("Card Online!"));
break;
case DFPlayerPlayFinished:
Serial.print(F("Number:"));
Serial.print(value);
Serial.println(F(" Play Finished!"));
break;
case DFPlayerError:
Serial.print(F("DFPlayerError:"));
switch (value) {
case Busy:
Serial.println(F("Card not found"));
break;
case Sleeping:
Serial.println(F("Sleeping"));
break;
case SerialWrongStack:
Serial.println(F("Get Wrong Stack"));
break;
case CheckSumNotMatch:
Serial.println(F("Check Sum Not Match"));
break;
case FileIndexOut:
Serial.println(F("File Index Out of Bound"));
break;
case FileMismatch:
Serial.println(F("Cannot Find File"));
break;
case Advertise:
Serial.println(F("In Advertise"));
break;
default:
break;
}
break;
default:
break;
}
}
eagler8
发表于 2019-8-8 21:07:33
eagler8
发表于 2019-8-8 21:15:00
eagler8
发表于 2019-8-8 21:16:48
eagler8
发表于 2019-8-8 21:18:27
eagler8
发表于 2019-8-8 21:19:53
页:
1
2
3
4
5
6
7
8
9
[10]
11
12
13
14
15