37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十七:零知开发板 STM32F103RBT6 主芯片 标准板 替代arduino uno
零知实验室是研究前沿电子应用技术非盈利实验室, 并专注于开放开源推广电子技术, 让人更简单快乐的学习电子技术, 拥有完善、强大的团队,包括嵌入式硬件、 嵌入式软件、 网站前后台等技术工程师和资深项目leader。
零知实验室致力于打造中国本土软硬件开源平台, 通过这个开放的平台, 不管是拥有专业知识背景的电子爱好者、 创客以及智能硬件开发者,还是没有专业知识背景的孩子、 业余爱好者, 都能很容易的完成从想法到原型的快速实现。 同时 我们专注于物联网WIFI、BLE、ZigBee 等无线技术和常用传感器如温湿度、 姿态、图像、颜色、声音等模块的应用, 在我们的 帮助下将让你的智能硬件产品获取各种传感器数据更加容易, 连接网络更加简单。
零知实验室官网 http://www.lingzhilab.com/
由零知实验室研发的零知标准板已经正式发布,零知标准板采用Arduino UNO相同的板框设计,因此尺寸与之完全相同,同时引脚接口和UNO也完全兼容。零知标准板使用了STM32F103RBT6 作为MCU,采用32位高性能ARM核心,使之工作频率高达72MHz;拥有大容量存储空间-20KB RAM、128KB FLASH;包含37个IO引脚、15路PWM、15路ADC(12位精度)、一个USB设备接口、一个USB转串口设备接口;可以使用USB、AC-DC适配器、LI-PO等多种方式供电;同时零知标准板配合零知开发工具能实现一键下载,使用非常方便。
点击确定,然后就可以看到如下界面,示例也正常显示,表示正常安装啦:
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十五:零知开发板 STM32F103RBT6 主芯片 标准板 替代arduino uno
项目之一:简单串口输出和板载LED灯闪烁
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十五:零知开发板 STM32F103RBT6 主芯片 标准板 替代arduino uno
项目之一:简单串口输出和板载LED灯闪烁
*/
// 复位或上电后运行一次:
void setup()
{
//在这里加入初始化相关代码,只运行一次:
//板载LED灯 - LED_BUILTIN 引脚,设置为输出模式
pinMode(LED_BUILTIN, OUTPUT);
//开启串口,设置波特率9600
Serial.begin(9600);
}
//一直循环执行:
void loop()
{
// 在这里加入主要程序代码,重复执行:
//串口打印信息,在串口调试窗口观察该打印信息
Serial.println("零知开源,让电子制作变得更简单!");
//让LED引脚输出高电平
digitalWrite(LED_BUILTIN, HIGH);
//延时一会儿,便于肉眼能观察
delay(500);
//LED引脚输出低电平
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
主要编程界面
实验串口输出
实验场景图
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十五:零知开发板 STM32F103RBT6 主芯片 标准板 替代arduino uno
项目之二:检测按键输入,来控制LED灯的亮和灭
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十五:零知开发板 STM32F103RBT6 主芯片 标准板 替代arduino uno
项目之二:检测按键输入,来控制LED灯的亮和灭
*/
#define KEY 0 //连接按键引脚编号
// 复位或上电后运行一次:
void setup()
{
//在这里加入初始化相关代码,只运行一次:
//开启串口,设置波特率9600
Serial.begin(9600);
Serial.println("准备就绪");
//按键引脚设置为输入模式
pinMode(KEY, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
}
//一直循环执行:
void loop()
{
// 在这里加入主要程序代码,重复执行:
digitalWrite(LED_BUILTIN, HIGH);
if (digitalRead(KEY) == LOW)
{
//消除抖动的影响
delay(10);
if (digitalRead(KEY) == LOW)
{
Serial.println("按键按下了");
digitalWrite(LED_BUILTIN, LOW);
//等待按键释放
while (digitalRead(KEY) == LOW)
{
delay(10);
}
}
}
}
实验串口输出
实验场景图