这里主要记录chi捣鼓他的第一块Arduino开发板的一些小事和注意事项(x
因为chi没有钱钱,所以退其次而求之,买了个国产Arduino小板,虽然还是很贵,要28呜呜呜
如果你是有意的,那么你又蠢又坏;如果你是无意的,那么你就很幼稚 —— 张莉莉
声明:这里引用的话属实,本人不对此发表任何看法。
显然NBFLS进入了高一下学期,马上就要四门学考,学业压力变大,板板也只能回家玩(悲
所以更新什么的不要催啦(
0x01 拿到板子
拿到板子第一件事是做什么?当然是拆开啦(x
这是我拿到的板子,花掉了我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
,这点要注意(
只要把TX
插RX
,RX
插TX
,GND
互插就能玩啦(
Serial.begin([Baudrate])
用于setup函数中
Serial.print/printlnm([Text])
输出串口
0x07 模拟数据
Arduino的模拟数据口是A0
-A3
(A4
和A5
已经被占用成SCL
和SDA
)
这里用模拟版温度传感器写一段小代码(
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/蓝牙模块(
Preview: