標題:
arduino實現(xiàn)語音播報當前oled上的光照強度
[打印本頁]
作者:
hakunamatata84
時間:
2019-12-4 13:47
標題:
arduino實現(xiàn)語音播報當前oled上的光照強度
#include <Wire.h> //IIC
#include <math.h>
#include <U8glib.h>
#include <SoftwareSerial.h>
#include <JQ6500_Serial.h>
JQ6500_Serial mp3(8, 9);
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
int BH1750address = 0x23;
byte buff[2];
char str[10];
int led = 7;
void setup()
{
Wire.begin();
Serial.begin(9600);
pinMode(led, OUTPUT);
mp3.begin(9600);
mp3.reset();
mp3.setVolume(30);
mp3.setLoopMode(MP3_LOOP_NONE);
}
void loop()
{
int i,vsl;
uint16_t val = 0;
BH1750_Init(BH1750address);
delay(200);
if (2 == BH1750_Read(BH1750address))
{
val = ((buff[0] << 8) | buff[1]) / 1.2;
vsl = 250 - val;
// Serial.println(vsl);
// Serial.println("[lx]");
}
int m = val;
float bw = m / 100;
float sw = m / 10 % 10;
float gw = m % 10;
u8g.setFont(u8g_font_ncenB18);
u8g.firstPage(); //OLED左上角為0,0 ;字符定位為 左下角 firstPage標志圖像循環(huán)開始
do {
u8g.drawStr( 0, 50, dtostrf(val, 5, 2, str)); //左上角
}
while ( u8g.nextPage() ); //nextPage標志圖像循環(huán)結束
delay(150);
mp3.playFileByIndexNumber(11);
delay(3000);
if ( bw != 0 )
{
mp3.playFileByIndexNumber(bw + 1);
delay(400);
}
int pp=!(bw == 0.0 && sw == 0.0);
Serial.println(pp);
if ( !(bw == 0 && sw == 0) )
{
mp3.playFileByIndexNumber(sw + 1);
delay(400);
}
//if (mp3.getStatus() != MP3_STATUS_PLAYING )
//{
mp3.playFileByIndexNumber(gw + 1);
delay(400);
// }
if (vsl > 150)
{
mp3.playFileByIndexNumber(12);
delay(3000);
digitalWrite(led, 1);
delay(10);
}
else {
digitalWrite(led, 0);
}
delay(5000);
}
int BH1750_Read(int address) //
{
int i = 0;
Wire.beginTransmission(address);
Wire.requestFrom(address, 2);
while (Wire.available()) //
{
buff[i] = Wire.read(); //接收字節(jié)
i++;
}
Wire.endTransmission();
return i;
}
void BH1750_Init(int address)
{
Wire.beginTransmission(address);
Wire.write(0x10);//1lx reolution 120ms
Wire.endTransmission();
}
復制代碼
作者:
admin
時間:
2019-12-4 15:11
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
作者:
wulidpj
時間:
2019-12-20 15:04
請問1lx reolution 120ms是什么意思呀
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1