极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: eagler8

一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)

[复制链接]
 楼主| 发表于 2019-8-7 14:58:46 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-7 15:34:27 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-7 16:31:04 | 显示全部楼层
本帖最后由 eagler8 于 2019-8-7 17:50 编辑

26 BH1750FVI 数字光强度模块光照传感器(数值类 I2C接口)

  1. /*
  2. Eagler8系列实验程序列表
  3. 第十类 扩展实验
  4. 26 BH1750FVI 数字光强度模块光照传感器(数值类 I2C接口)
  5. 项目:测试I2C接口,串口读取环境光照波形

  6. Module      UNO
  7. VCC   ——   5V
  8. GND  ——  GND
  9. SCL   ——   A5
  10. SDA  ——   A4
  11. ADD ——   NC
  12. */

  13. #include <Wire.h>
  14. #include <math.h>
  15. int BH1750address = 0x23;

  16. byte buff[2];
  17. void setup()
  18. {
  19.   Wire.begin();
  20.   Serial.begin(57600);
  21. }

  22. void loop()
  23. {
  24.   int i;
  25.   uint16_t val=0;
  26.   BH1750_Init(BH1750address);
  27.   delay(200);

  28.   if(2==BH1750_Read(BH1750address))
  29.   {
  30.     val=((buff[0]<<8)|buff[1])/1.2;
  31.     Serial.println(val,DEC);     
  32.   }
  33.   delay(150);
  34. }

  35. int BH1750_Read(int address)
  36. {
  37.   int i=0;
  38.   Wire.beginTransmission(address);
  39.   Wire.requestFrom(address, 2);
  40.   while(Wire.available())
  41.   {
  42.     buff[i] = Wire.read();  
  43.     i++;
  44.   }
  45.   Wire.endTransmission();  
  46.   return i;
  47. }

  48. void BH1750_Init(int address)
  49. {
  50.   Wire.beginTransmission(address);
  51.   Wire.write(0x10);
  52.   Wire.endTransmission();
  53. }
复制代码



回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-7 16:35:17 | 显示全部楼层
传感器放在窗口附近的自然光线的波形

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-7 16:39:18 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-7 17:20:47 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-7 17:23:58 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-7 17:36:44 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-8 21:03:42 | 显示全部楼层
27 开源DFPlayer Mini TF卡MP3播放模块(输出执行器类D7数字接口)


  1. /*
  2. Eagler8系列实验程序列表
  3. 第十类 扩展实验
  4. 27 开源DFPlayer Mini TF卡MP3播放模块(输出执行器类D7/D8数字接口)
  5. 程序之一,循环播放TF卡内0003.MP3(MP3文件夹内),音量20
  6. 材料:1.5W小型扬声器一个
  7. Arduino-------dfplayer
  8. 5V-------------VCC
  9. GND-----------GND
  10. D7-----------TXD
  11. D8-----------RXD
  12. */

  13. #include "SoftwareSerial.h"
  14. #include "DFRobotDFPlayerMini.h"

  15. SoftwareSerial mySoftwareSerial(2, 3);

  16. DFRobotDFPlayerMini myDFPlayer;

  17. void setup()
  18. {
  19. mySoftwareSerial.begin(9600);

  20. myDFPlayer.begin(mySoftwareSerial);

  21. myDFPlayer.volume(20);

  22. myDFPlayer.loop(3);   
  23. }

  24. void loop()
  25. {
  26. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-8 21:05:23 | 显示全部楼层
  1. /*
  2. Eagler8系列实验程序列表
  3. 第十类 扩展实验
  4. 27 开源DFPlayer Mini TF卡MP3播放模块(输出执行器类D7/D8数字接口)
  5. 程序之二,每3秒切换到下一首歌曲,音量20(速播TF卡内所有MP3歌曲)
  6. 可以打印来自dfplayer的详细信息以处理不同的错误和状态。
  7. 材料:1.5W小型扬声器一个
  8. Arduino-------dfplayer
  9. 5V-------------VCC
  10. GND-----------GND
  11. D7-----------TXD
  12. D8-----------RXD
  13. */

  14. #include "Arduino.h"
  15. #include "SoftwareSerial.h"
  16. #include "DFRobotDFPlayerMini.h"

  17. SoftwareSerial mySoftwareSerial(8, 7);
  18. DFRobotDFPlayerMini myDFPlayer;
  19. void printDetail(uint8_t type, int value);

  20. void setup()
  21. {
  22.   mySoftwareSerial.begin(9600);
  23.   Serial.begin(115200);

  24.   Serial.println();
  25.   Serial.println(F("DFRobot DFPlayer Mini Demo"));
  26.   Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));

  27.   if (!myDFPlayer.begin(mySoftwareSerial)) {  
  28.     Serial.println(F("Unable to begin:"));
  29.     Serial.println(F("1.Please recheck the connection!"));
  30.     Serial.println(F("2.Please insert the SD card!"));
  31.     while(true);
  32.   }
  33.   Serial.println(F("DFPlayer Mini online."));

  34.   myDFPlayer.volume(20);  
  35.   myDFPlayer.play(3);  
  36. }

  37. void loop()
  38. {
  39.   static unsigned long timer = millis();

  40.   if (millis() - timer > 3000) {
  41.     timer = millis();
  42.     myDFPlayer.next();  
  43.   }

  44.   if (myDFPlayer.available()) {
  45.     printDetail(myDFPlayer.readType(), myDFPlayer.read());
  46.   }
  47. }

  48. void printDetail(uint8_t type, int value){
  49.   switch (type) {
  50.     case TimeOut:
  51.       Serial.println(F("Time Out!"));
  52.       break;
  53.     case WrongStack:
  54.       Serial.println(F("Stack Wrong!"));
  55.       break;
  56.     case DFPlayerCardInserted:
  57.       Serial.println(F("Card Inserted!"));
  58.       break;
  59.     case DFPlayerCardRemoved:
  60.       Serial.println(F("Card Removed!"));
  61.       break;
  62.     case DFPlayerCardOnline:
  63.       Serial.println(F("Card Online!"));
  64.       break;
  65.     case DFPlayerPlayFinished:
  66.       Serial.print(F("Number:"));
  67.       Serial.print(value);
  68.       Serial.println(F(" Play Finished!"));
  69.       break;
  70.     case DFPlayerError:
  71.       Serial.print(F("DFPlayerError:"));
  72.       switch (value) {
  73.         case Busy:
  74.           Serial.println(F("Card not found"));
  75.           break;
  76.         case Sleeping:
  77.           Serial.println(F("Sleeping"));
  78.           break;
  79.         case SerialWrongStack:
  80.           Serial.println(F("Get Wrong Stack"));
  81.           break;
  82.         case CheckSumNotMatch:
  83.           Serial.println(F("Check Sum Not Match"));
  84.           break;
  85.         case FileIndexOut:
  86.           Serial.println(F("File Index Out of Bound"));
  87.           break;
  88.         case FileMismatch:
  89.           Serial.println(F("Cannot Find File"));
  90.           break;
  91.         case Advertise:
  92.           Serial.println(F("In Advertise"));
  93.           break;
  94.         default:
  95.           break;
  96.       }
  97.       break;
  98.     default:
  99.       break;
  100.   }
  101. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-8 21:07:33 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-8 21:15:00 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-8 21:16:48 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-8 21:18:27 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-8 21:19:53 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 12:52 , Processed in 0.039619 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表