找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: eagler8
打印 上一主题 下一主题
收起左侧

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

[复制链接]
81#
ID:513258 发表于 2019-6-17 11:10 | 只看该作者

回复

使用道具 举报

82#
ID:513258 发表于 2019-6-17 11:11 | 只看该作者

回复

使用道具 举报

83#
ID:560595 发表于 2019-6-23 22:09 | 只看该作者
高手,顶一个
回复

使用道具 举报

84#
ID:513258 发表于 2019-6-27 09:04 | 只看该作者
【Arduino】37种传感器模块系列实验(专业资料+实验代码+图形编程)
- Arduino 单片机论坛
http://www.51hei.com/bbs/dpj-159232-1.html

回复

使用道具 举报

85#
ID:513258 发表于 2019-6-27 13:39 | 只看该作者

谢谢鼓励,不是高手,开始学习才二个多月de新手呢......
回复

使用道具 举报

86#
ID:513258 发表于 2019-6-29 06:09 | 只看该作者
Arduino程序代码+Mind图形编程+Linkboy仿真编程


后续想法是好好利用这块扩展板子的基础硬件资源,使用这板上的五个扩展端口,扩大实验范围,继续采取Arduino程序代码+Mind图形编程+Linkboy仿真编程三者相结合的方式,互为补充,打好基础,促进理解。




回复

使用道具 举报

87#
ID:513258 发表于 2019-6-29 06:30 | 只看该作者
这个扩展板上的五个扩展端口分别是
J1\J2---2路Digital Port数字量端口(D7、D8)
J3------1路Analog Port模拟量端口(A3)
J4------1个双向同步串行总线I2C接口(A4 SDA及A5 SCL,可接显示屏等)
J5------1个TTL串口(D0,D1,可接入蓝牙或WIFI模块等)





回复

使用道具 举报

88#
ID:513258 发表于 2019-6-29 06:44 | 只看该作者
扩展板的五个扩展端口占用了Arduino uno的七个口,A3、A4、A5、D0、D1、D7和D8,另外D5口的蜂鸣器换成了有源的,便于实验使用



回复

使用道具 举报

89#
ID:513258 发表于 2019-6-29 07:15 | 只看该作者
第10类 扩展实验
19 模拟超声波测距传感器(探测类I2C接口)




回复

使用道具 举报

90#
ID:513258 发表于 2019-6-29 08:43 | 只看该作者
第一次做超声波模块的实验,也不太理解,实验的结果是这样的,没有探测输出


回复

使用道具 举报

91#
ID:513258 发表于 2019-6-29 08:50 | 只看该作者
第10类 扩展实验
19 模拟超声波测距传感器(探测类数字D7\D8接口)

后来接到了两个数字端口,读取的是超声波模块输出的模拟量





回复

使用道具 举报

92#
ID:513258 发表于 2019-6-29 09:00 | 只看该作者
  1. /*
  2. Eagler8系列实验程序列表
  3. 第10类 扩展实验
  4. 19 模拟超声波测距传感器(探测类数字D7\D8接口)
  5. 项目:利用SR04超声波传感器进行测距,并用串口显示测出的距离值
  6. 要点:初始化串口通信及连接SR04的引脚
  7.      检测引脚上输入的脉冲宽度,需要先设置为输入状态
  8.      产生一个10us的高脉冲去触发TrigPin
  9.      检测脉冲宽度,并计算出距离
  10. */

  11. const int TrigPin = 7;
  12. const int EchoPin = 8;
  13. float distance;

  14. void setup()
  15. {   
  16.         Serial.begin(9600);
  17.         pinMode(TrigPin, OUTPUT);
  18.         pinMode(EchoPin, INPUT);
  19.         Serial.println("Ultrasonic sensor:");
  20. }

  21. void loop()
  22. {
  23.         digitalWrite(TrigPin, LOW);
  24.         delayMicroseconds(2);
  25.         digitalWrite(TrigPin, HIGH);
  26.         delayMicroseconds(10);
  27.         digitalWrite(TrigPin, LOW);

  28.         distance = pulseIn(EchoPin, HIGH) / 58.00;
  29.         Serial.print(distance);
  30.         Serial.print("cm");
  31.         Serial.println();
  32.         delay(1000);
  33. }
复制代码


回复

使用道具 举报

93#
ID:513258 发表于 2019-6-29 09:26 | 只看该作者

回复

使用道具 举报

94#
ID:513258 发表于 2019-6-29 10:03 | 只看该作者

回复

使用道具 举报

95#
ID:513258 发表于 2019-6-29 10:12 | 只看该作者
串口显示距离,当探测距离小于50cm时,D5端有源蜂鸣器响,D12端红灯亮,串口打印 "你好! 欢迎来参观!”



回复

使用道具 举报

96#
ID:513258 发表于 2019-6-29 11:34 | 只看该作者

回复

使用道具 举报

97#
ID:513258 发表于 2019-6-29 11:37 | 只看该作者

回复

使用道具 举报

98#
ID:513258 发表于 2019-6-29 13:51 | 只看该作者

回复

使用道具 举报

99#
ID:574870 发表于 2019-6-30 08:36 | 只看该作者
真不错的开发板
回复

使用道具 举报

100#
ID:513258 发表于 2019-7-4 07:45 | 只看该作者

也是偶然发现的,做做实验挺方便
回复

使用道具 举报

101#
ID:513258 发表于 2019-7-4 07:46 | 只看该作者
Eagler8系列实验程序列表
第10类 扩展实验
20、总线DS18B20温度传感器(数值类,接扩展板数字D7接口)
项目:利用DS18B20传感器进行监测,并用串口显示测出的数值
要点:初始化必需加载二个库(IDE-工具-管理库-搜索-下载)
OneWire.h
DallasTemperature.h




回复

使用道具 举报

102#
ID:513258 发表于 2019-7-4 07:52 | 只看该作者
  1. /*
  2. Eagler8系列实验程序列表
  3. 第10类 扩展实验
  4. 20、总线DS18B20温度传感器(数值类,接扩展板数字D7接口)
  5. 项目:利用DS18B20传感器进行监测,并用串口显示测出的数值
  6. 要点:初始化必需加载二个库(IDE-工具-管理库-搜索-下载)
  7. OneWire.h
  8. DallasTemperature.h
  9. */

  10. #include <OneWire.h>
  11. #include <DallasTemperature.h>

  12. #define ONE_WIRE_BUS 7
  13. OneWire oneWire(ONE_WIRE_BUS);
  14. DallasTemperature sensors(&oneWire);

  15. void setup(void)
  16. {
  17.   Serial.begin(9600);
  18.   Serial.println("Dallas Temperature IC Control Library Demo");

  19.   sensors.begin();
  20. }

  21. void loop(void)
  22. {
  23.   Serial.print(" Requesting temperatures...");
  24.   sensors.requestTemperatures();
  25.   Serial.println("DONE");

  26.   Serial.print("Temperature for Device 1 is: ");
  27.   Serial.print(sensors.getTempCByIndex(0));  
  28.   
  29.   delay(500);
  30. }
复制代码


回复

使用道具 举报

103#
ID:513258 发表于 2019-7-4 07:56 | 只看该作者

回复

使用道具 举报

104#
ID:513258 发表于 2019-7-4 07:58 | 只看该作者

回复

使用道具 举报

105#
ID:513258 发表于 2019-7-4 08:27 | 只看该作者

回复

使用道具 举报

106#
ID:513258 发表于 2019-7-4 08:33 | 只看该作者
用手触摸DS18B20 温度传感器,则温度上升




回复

使用道具 举报

107#
ID:513258 发表于 2019-7-4 09:07 | 只看该作者
只用一分钟就搞定的图形编程(比较适合像我这样的新人),现在气温是31C,我设置31.5C为声光报警的阙值,0.5C手摸一下DS18B20就过了,在设定的阙值之上会一直报警,这个简单的温控开关还是蛮精准的。




回复

使用道具 举报

108#
ID:491421 发表于 2019-7-4 09:14 | 只看该作者
撸主编程和连线用的什么软件??
回复

使用道具 举报

109#
ID:513258 发表于 2019-7-4 09:30 | 只看该作者

回复

使用道具 举报

110#
ID:513258 发表于 2019-7-4 10:36 | 只看该作者

回复

使用道具 举报

111#
ID:513258 发表于 2019-7-4 10:41 | 只看该作者
goodog 发表于 2019-7-4 09:14
撸主编程和连线用的什么软件??

这个帖子用了三种不同不同形式、不同思路的编程软件,代码编程+可视化编程+事件编程(仿真),在尝试用不同方法去做同一件事.......



回复

使用道具 举报

112#
ID:513258 发表于 2019-7-4 10:47 | 只看该作者

回复

使用道具 举报

113#
ID:513258 发表于 2019-7-5 20:22 | 只看该作者
本帖最后由 eagler8 于 2019-7-6 06:19 编辑

21、TM1637四位数码管(数码管和点阵类,接扩展板数字D7/D8接口)
项目:TM1637驱动四位数码管显示
要点:初始化必需加载二个库(IDE-工具-管理库-搜索-下载)
TM1637Display.h




回复

使用道具 举报

114#
ID:513258 发表于 2019-7-5 20:30 | 只看该作者
  1. /*
  2. Eagler8系列实验程序列表
  3. 第10类 扩展实验
  4. 21、TM1637四位数码管(数码管和点阵类,接扩展板数字D7/D8接口)
  5. 项目:TM1637驱动四位数码管显示
  6. 要点:初始化必需加载二个库(IDE-工具-管理库-搜索-下载)
  7. TM1637Display.h
  8. */

  9. #include <Arduino.h>
  10. #include <TM1637Display.h>

  11. #define CLK 7
  12. #define DIO 8

  13. #define TEST_DELAY   2000

  14. const uint8_t SEG_DONE[] = {
  15.         SEG_B | SEG_C | SEG_D | SEG_E | SEG_G,           
  16.         SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,   
  17.         SEG_C | SEG_E | SEG_G,                          
  18.         SEG_A | SEG_D | SEG_E | SEG_F | SEG_G            
  19.         };

  20. TM1637Display display(CLK, DIO);

  21. void setup()
  22. {
  23. }

  24. void loop()
  25. {
  26.   int k;
  27.   uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
  28.   uint8_t blank[] = { 0x00, 0x00, 0x00, 0x00 };
  29.   display.setBrightness(0x0f);

  30.   display.setSegments(data);
  31.   delay(TEST_DELAY);

  32.   data[0] = display.encodeDigit(0);
  33.   data[1] = display.encodeDigit(1);
  34.   data[2] = display.encodeDigit(2);
  35.   data[3] = display.encodeDigit(3);
  36.   display.setSegments(data);
  37.   delay(TEST_DELAY);

  38.   display.clear();
  39.   display.setSegments(data+2, 2, 2);
  40.   delay(TEST_DELAY);

  41.   display.clear();
  42.   display.setSegments(data+2, 2, 1);
  43.   delay(TEST_DELAY);

  44.   display.clear();
  45.   display.setSegments(data+1, 3, 1);
  46.   delay(TEST_DELAY);

  47.   display.showNumberDec(0, false);
  48.   delay(TEST_DELAY);
  49.   display.showNumberDec(0, true);  
  50.   delay(TEST_DELAY);
  51.         display.showNumberDec(1, false);
  52.         delay(TEST_DELAY);
  53.   display.showNumberDec(1, true);
  54.   delay(TEST_DELAY);
  55.   display.showNumberDec(301, false);
  56.   delay(TEST_DELAY);
  57.   display.showNumberDec(301, true);
  58.   delay(TEST_DELAY);
  59.   display.clear();
  60.   display.showNumberDec(14, false, 2, 1);
  61.   delay(TEST_DELAY);
  62.   display.clear();
  63.   display.showNumberDec(4, true, 2, 2);  
  64.   delay(TEST_DELAY);
  65.   display.showNumberDec(-1, false);  
  66.   delay(TEST_DELAY);
  67.   display.showNumberDec(-12);        
  68.   delay(TEST_DELAY);
  69.   display.showNumberDec(-999);      
  70.   delay(TEST_DELAY);
  71.   display.clear();
  72.   display.showNumberDec(-5, false, 3, 0);
  73.   delay(TEST_DELAY);
  74.   display.showNumberHexEx(0xf1af);        
  75.   delay(TEST_DELAY);
  76.   display.showNumberHexEx(0x2c);         
  77.   delay(TEST_DELAY);
  78.   display.showNumberHexEx(0xd1, 0, true);
  79.   delay(TEST_DELAY);
  80.   display.clear();
  81.   display.showNumberHexEx(0xd1, 0, true, 2);
  82.   delay(TEST_DELAY);
  83.   
  84.         for(k=0; k <= 4; k++) {
  85.                 display.showNumberDecEx(0, (0x80 >> k), true);
  86.                 delay(TEST_DELAY);
  87.         }

  88.   for(k = 0; k < 4; k++)
  89.         data[k] = 0xff;
  90.   for(k = 0; k < 7; k++) {
  91.     display.setBrightness(k);
  92.     display.setSegments(data);
  93.     delay(TEST_DELAY);
  94.   }
  95.   
  96.   for(k = 0; k < 4; k++) {
  97.     display.setBrightness(7, false);  
  98.     display.setSegments(data);
  99.     delay(TEST_DELAY);
  100.     display.setBrightness(7, true);
  101.     display.setSegments(data);
  102.     delay(TEST_DELAY);  
  103.   }

  104.   display.setSegments(SEG_DONE);

  105.   while(1);
  106. }
复制代码


回复

使用道具 举报

115#
ID:513258 发表于 2019-7-5 21:08 | 只看该作者

回复

使用道具 举报

116#
ID:513258 发表于 2019-7-5 21:10 | 只看该作者

回复

使用道具 举报

117#
ID:513258 发表于 2019-7-5 21:12 | 只看该作者

回复

使用道具 举报

118#
ID:513258 发表于 2019-7-6 07:31 | 只看该作者

回复

使用道具 举报

119#
ID:513258 发表于 2019-7-6 07:45 | 只看该作者

回复

使用道具 举报

120#
ID:513258 发表于 2019-7-6 07:47 | 只看该作者
21、TM1637四位数码管(数码管和点阵类,接扩展板数字D7/D8接口)
实验三,显示递增数字




回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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