年轻人的第一块Arduino开发板

1年前
1年前
3.3k字
加载中
文章概述 Powered by Google Gemini Beta
本文记录作者使用国产 Arduino 开发板并将其与各种外围设备(如 LCD 显示屏、温度传感器)连接的经历和注意事项。内容涵盖了安装驱动程序、下载 Arduino IDE、编写代码、使用 I2C、UART 和模拟数据,以及一些遇到的常见小问题和解决方法。

chi的小板子

这里主要记录chi捣鼓他的第一块Arduino开发板的一些小事和注意事项(x

因为chi没有钱钱,所以退其次而求之,买了个国产Arduino小板,虽然还是很贵,要28呜呜呜

如果你是有意的,那么你又蠢又坏;如果你是无意的,那么你就很幼稚 —— 张莉莉

声明:这里引用的话属实,本人不对此发表任何看法。

显然NBFLS进入了高一下学期,马上就要四门学考,学业压力变大,板板也只能回家玩(悲

所以更新什么的不要催啦(

0x01 拿到板子

拿到板子第一件事是做什么?当然是拆开啦(x

chi的小板子

这是我拿到的板子,花掉了我28大洋(全恼

因为人比较傻,买的是39套件,根本没有传感器(全恼

这怎么玩啊 rnm,退钱!

0x02 安装驱动

如果你买的是国产小板子,需要去找卖家要驱动,否则没法用(x

如果你有钱,买的是Arduino意大利原产板,就不需要这一步啦

windows无脑.exe即可(x

0x03 下载安装arduino IDE

https://www.arduino.cc/en/software 链接自取 不想做保姆式教程了

我买的这个小板子是兼容UNO的,驱动装好之后打开设备管理器看一下连接的串口,在Arduino IDE里面选择串口和板子就行了。

0x04 Start Coding!

这个是基本的代码:

void setup() // setup函数 顾名思义 拿来做初始工作的
{

}

void loop() // loop函数里面是循环做的事情
{

}

这个是写Hello World的代码:

void setup()
{
 Serial.begin(9600); // 设定串口波特率为9600 后面在Serial Monitor里面就要使用这个波特率和板板通信
}

void loop()
{
 Serial.println("Hello world!");	// 串口输出Hello world!
 delay(1000);	// 延时1s 相当于sleep
}

你可以打开Tools -> Serial Monitor观察板子给你发送的内容。当然,Ctrl+Shift+M也可以食用~

这个代码 与 浙教版《信息技术》选择性必修六 (它上面实现的是基于micro:bit的 但是看了下人家都把micro:bit当微电脑 而且套件比arduino不知道贵了多少倍(全恼)) 3.2 开源硬件编程基础 例一 “闪烁的小星星” 有异曲同工之妙

#define led 2 //定义数字IO 2[就是DIGITIAL 2]的名字为led

void setup()//初始化部分
{
 pinMode(led,OUTPUT);//定义led引脚为输出模式
}

void loop()
{
 digitalWrite(led,LOW);//led引脚输出低电平,点亮led
 delay(100);//延时100ms
 digitalWrite(led,HIGH);//led引脚输出高电平,熄灭led
 delay(100);//延时100ms
}

在烧录好之前使用公转母杜邦线一头插3.3V一头插LED灯的长边,另一个一头插输出2,另一头插LED灯的短边。然后就可以食用啦~

0x05 食用I2C

Arduino UNO的I2C口分别是:A4(SDA) A5(SCL) 要使用I2C的只能接这两个口啦

因为自己买了个I2C版小LCD显示屏回来,所以就拿来玩玩I2C

我们这里使用Arduino自带库让LCD显示 LCD模块编号1602 电压5V

我们首先要把SDA插到A4 SCL插到A5 然后就是 GND接地 VCC接5V 啦

然后就 start coding 啦~

接上之后你就会发现LCD屏会亮 但并没有任何信息

然后就是coding啦

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
 
LiquidCrystal_I2C lcd(0x27,16,2); //配置LCD地址及行列
// lcd地址默认为0x27 具体看你买的商家提供内容 
void setup()
{
 lcd.init(); //初始化LCD
 lcd.backlight(); //打开背光
 Serial.begin(9600);
}
 
void loop()
{
 lcd.setCursor(0,0);//设置显示位置
 lcd.print("Hello World!");
}

LCD会显示Hello World的(

0x06 UART

众所周知就是Serial啦~

Arduino的默认波特率为9600,这点要注意(

只要把TXRXRXTXGND互插就能玩啦(

Serial.begin([Baudrate]) 用于setup函数中

Serial.print/printlnm([Text]) 输出串口

0x07 模拟数据

Arduino的模拟数据口是A0-A3(A4A5已经被占用成SCLSDA)

这里用模拟版温度传感器写一段小代码(

analogRead([PIN])读取模拟PIN值(

#include <math.h>
#define TEMP 0 //针脚A0
double Thermister(int RawADC) { //温度转换函数
 double Temp;
 Temp = log(((10240000/RawADC) - 10000));
 Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
 Temp = Temp - 273.15; // Convert Kelvin to Celcius
 return Temp;
}
void setup() {
 // put your setup code here, to run once:
 // pinMode(TEMP, INPUT);
 Serial.begin(9600);
}

void loop() {
 // put your main code here, to run repeatedly:
 Serial.println(Thermister(analogRead(0))); // 读取摄氏度值
 delay(500);
}

0x08 小坑

如果出现编译错误的话,Arduino Nano换个处理器(在Tools->Processor里面)(ATmel Amega 168P,默认328P,甚至还有Old Bootloader 建议逐个尝试)

在编译的时候也必须记住 RX(D0) TX(D1) 口在编译的时候不能占用,否则也没办法编译成功!!!

不要跑死循环!!!(delay没加的那种)

0x09 小结

这些仅仅是chi玩电子垃圾的开始(

下一期:年轻人的第一块WIFI/蓝牙模块(

Arduino开发板电子垃圾

Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v3.0.0-alpha.1