驴友花雕
发表于 2019-6-17 14:57:55
驴友花雕
发表于 2019-6-29 06:15:35
Arduino程序代码+Mind+图形编程+Linkboy仿真编程
后续想法是好好利用这块扩展板子的基础硬件资源,使用这板上的五个扩展端口,扩大实验范围,继续采取Arduino程序代码+Mind图形编程+Linkboy仿真编程三者相结合的方式,互为补充,打好基础,促进理解。
驴友花雕
发表于 2019-6-29 06:32:42
这个扩展板上的五个扩展端口分别是
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模块等)
驴友花雕
发表于 2019-6-29 06:47:41
扩展板的五个扩展端口占用了Arduino uno的七个口,A3、A4、A5、D0、D1、D7和D8,另外D5口的蜂鸣器换成了有源的,便于实验调用
驴友花雕
发表于 2019-6-29 09:03:27
第10类 扩展实验
19 模拟超声波测距传感器(探测类数字D7\D8接口)
读取的是超声波模块输出的模拟量
/*
Eagler8系列实验程序列表
第10类 扩展实验
19 模拟超声波测距传感器(探测类数字D7\D8接口)
项目:利用SR04超声波传感器进行测距,并用串口显示测出的距离值
要点:初始化串口通信及连接SR04的引脚
检测引脚上输入的脉冲宽度,需要先设置为输入状态
产生一个10us的高脉冲去触发TrigPin
检测脉冲宽度,并计算出距离
*/
const int TrigPin = 7;
const int EchoPin = 8;
float distance;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
Serial.println("Ultrasonic sensor:");
}
void loop()
{
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
distance = pulseIn(EchoPin, HIGH) / 58.00;
Serial.print(distance);
Serial.print("cm");
Serial.println();
delay(1000);
}
驴友花雕
发表于 2019-6-29 09:28:27
驴友花雕
发表于 2019-6-29 10:05:37
驴友花雕
发表于 2019-6-29 10:16:11
串口显示距离,当探测距离小于50cm时,D5端有源蜂鸣器响,D12端红灯亮,串口打印 "你好! 欢迎来参观!”
驴友花雕
发表于 2019-6-29 11:36:24
驴友花雕
发表于 2019-7-4 08:15:42
20、DS18B20 温度传感器(数值类,接D7端口)
驴友花雕
发表于 2019-7-4 08:21:06
/*
Eagler8系列实验程序列表
第10类 扩展实验
20、总线DS18B20温度传感器(数值类,接扩展板数字D7接口)
项目:利用DS18B20传感器进行监测,并用串口显示测出的数值
要点:初始化必需加载二个库(IDE-工具-管理库-搜索-下载)
OneWire.h
DallasTemperature.h
*/
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup(void)
{
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");
sensors.begin();
}
void loop(void)
{
Serial.print(" Requesting temperatures...");
sensors.requestTemperatures();
Serial.println("DONE");
Serial.print("Temperature for Device 1 is: ");
Serial.print(sensors.getTempCByIndex(0));
delay(500);
}
驴友花雕
发表于 2019-7-4 08:30:06
驴友花雕
发表于 2019-7-4 08:36:22
驴友花雕
发表于 2019-7-4 08:56:27
驴友花雕
发表于 2019-7-4 09:11:26
用手触摸DS18B20 温度传感器,则温度上升
驴友花雕
发表于 2019-7-4 09:31:57
undefined只用一分钟就搞定的图形编程(比较适合像我这样的新人),现在气温是31C,我设置31.5C为声光报警的阙值,0.5C手摸一下DS18B20就过了,在设定的阙值之上会一直报警,这个简单的温控开关还是蛮精准的。
驴友花雕
发表于 2019-7-4 09:47:08
驴友花雕
发表于 2019-7-4 10:44:02
驴友花雕
发表于 2019-7-6 17:09:02
21、TM1637四位数码管(数码管和点阵类,接扩展板数字D7/D8接口)
项目:TM1637驱动四位数码管显示
要点:初始化必需加载一个库(IDE-工具-管理库-搜索-安装)
TM1637Display.h
/*
Eagler8系列实验程序列表
第10类 扩展实验
21、TM1637四位数码管(数码管和点阵类,接扩展板数字D7/D8接口)
项目:TM1637驱动四位数码管显示
要点:初始化必需加载二个库(IDE-工具-管理库-搜索-下载)
TM1637Display.h
*/
#include <Arduino.h>
#include <TM1637Display.h>
#define CLK 7
#define DIO 8
#define TEST_DELAY 2000
const uint8_t SEG_DONE[] = {
SEG_B | SEG_C | SEG_D | SEG_E | SEG_G,
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,
SEG_C | SEG_E | SEG_G,
SEG_A | SEG_D | SEG_E | SEG_F | SEG_G
};
TM1637Display display(CLK, DIO);
void setup()
{
}
void loop()
{
int k;
uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
uint8_t blank[] = { 0x00, 0x00, 0x00, 0x00 };
display.setBrightness(0x0f);
display.setSegments(data);
delay(TEST_DELAY);
data = display.encodeDigit(0);
data = display.encodeDigit(1);
data = display.encodeDigit(2);
data = display.encodeDigit(3);
display.setSegments(data);
delay(TEST_DELAY);
display.clear();
display.setSegments(data+2, 2, 2);
delay(TEST_DELAY);
display.clear();
display.setSegments(data+2, 2, 1);
delay(TEST_DELAY);
display.clear();
display.setSegments(data+1, 3, 1);
delay(TEST_DELAY);
display.showNumberDec(0, false);
delay(TEST_DELAY);
display.showNumberDec(0, true);
delay(TEST_DELAY);
display.showNumberDec(1, false);
delay(TEST_DELAY);
display.showNumberDec(1, true);
delay(TEST_DELAY);
display.showNumberDec(301, false);
delay(TEST_DELAY);
display.showNumberDec(301, true);
delay(TEST_DELAY);
display.clear();
display.showNumberDec(14, false, 2, 1);
delay(TEST_DELAY);
display.clear();
display.showNumberDec(4, true, 2, 2);
delay(TEST_DELAY);
display.showNumberDec(-1, false);
delay(TEST_DELAY);
display.showNumberDec(-12);
delay(TEST_DELAY);
display.showNumberDec(-999);
delay(TEST_DELAY);
display.clear();
display.showNumberDec(-5, false, 3, 0);
delay(TEST_DELAY);
display.showNumberHexEx(0xf1af);
delay(TEST_DELAY);
display.showNumberHexEx(0x2c);
delay(TEST_DELAY);
display.showNumberHexEx(0xd1, 0, true);
delay(TEST_DELAY);
display.clear();
display.showNumberHexEx(0xd1, 0, true, 2);
delay(TEST_DELAY);
for(k=0; k <= 4; k++) {
display.showNumberDecEx(0, (0x80 >> k), true);
delay(TEST_DELAY);
}
for(k = 0; k < 4; k++)
data = 0xff;
for(k = 0; k < 7; k++) {
display.setBrightness(k);
display.setSegments(data);
delay(TEST_DELAY);
}
for(k = 0; k < 4; k++) {
display.setBrightness(7, false);
display.setSegments(data);
delay(TEST_DELAY);
display.setBrightness(7, true);
display.setSegments(data);
delay(TEST_DELAY);
}
display.setSegments(SEG_DONE);
while(1);
}
驴友花雕
发表于 2019-7-6 17:25:17
驴友花雕
发表于 2019-7-6 17:30:15
页:
1
2
3
4
[5]
6
7
8
9
10