下载完后在工具中选择对应的开发板型号和端口
添加其他的开发板
这里使用esp8266mini d1开发板
在文件-首选项-附加开发板管理器网址里填写 http://arduino.esp8266.com/stable/package_esp8266com_index.json
之后在工具-开发板-开发板管理器搜索esp8266安装
初始文件讲解
void setup() {
// 这里面放的是刚开机会运行的东西,比如串口通信频率
}
void loop() {
// 这里放的函数将会一直循环,相当于while
}
Arduino函数
引脚定义
pinMode(LED_BUILTIN, OUTPUT) //定义输出引脚
pinMode(LED_BUILTIN, INPUT) //定义输入引脚
引脚高低电平设定
digitalWrite(LED_BUILTIN, LOW); //高低电平设置
引脚高低电平读取
digtialRead(pushButton); //引脚电平读取
延时函数
delay(1000); //延时1000ms
串口波特率设置
Serial.begin(9600); //波特率
串口信息输出
Serial.printf(""); //输出字符串 没有格式化
PWM实现
sensorRead= analogRead(PIN);// 数据信号转模拟信号
newdata=map(sensorRead,0,1023,0,100);//数据映射 0~1023是sensorRead的值,0~100是映射的值 1023->100
analogWrite(PIN,newdata); //PWM
引用同目录头文件
#include "..." //相比与#include <...> ,<>里面引用的头文件是Arduino根目录下的libraries里的头文件
伺服电机
棕色线GND 橘色信号线 红色VCC
需要包含头文件 Servo.h
#include <Servo.h>
Servo myservo //定义电机的名字(结构体)
myervo.attach(PIN); //定义控制电机的引脚(信号线)
myservo.write(90); //电机转动90度
74HC595
功能
引脚扩展 3个引脚扩展成8个
结构
每个引脚功能
“资料”引脚DS: 编写引脚数据
“活塞”引脚SH:传输每个引脚的数据
“大平台”引脚ST:控制数据上传到每个引脚
编码顺序
//定义3个“资料PIN1”“活塞PIN2”“大平台PIN3”引脚为输出
pinMode(PIN1, OUTPUT) //定义输出引脚
pinMode(PIN2, OUTPUT) //定义输出引脚
pinMode(PIN3, OUTPUT) //定义输出引脚
unsigned char data[8]={1,1,1,1,1,1,1,1};
digitalWrite(PIN3,LOW); //将“大平台”设置为低,准备接收数据
for(int i=0;i<8;i++)
{
digitalWrite(PIN2,LOW); //收起“活塞” 设置为低,准备传输 数据
digitalWrite(PIN1,data[i]); //传入数据
digitalWrite(PIN2,HIGH); //推动“活塞” 设置为高,传输数据
if(i==8) digitalWrite(PIN3,HIGH); //将“大平台”设置为高,接收数据
}
步进电机
采用模块:ULN2003A 那边高电平,对称的位置的接地
步进电机内部结构
启动方法:四根线循环接地
8*8LED
点亮一个灯:L4高电平,C1低电平
红外模块
#include <IRremote.h> //包含头文件
IRrecv irrecv(PIN); //设置红外接收引脚
decode_results results; //接收红外信号值
irrecv.enaleIRIn(); //开启红外接收
if(irrecv.decode(&results)) //判断是否接收到红外信号
{
Serial.println(results.value,HEX); //将接收数据results.value以16进制输出
irrecv.resume(); //继续接收
}
ATtiny85
结构
需要Arduino作为烧录器烧录
例程选择ArduinoISP,烧录到Arduino
工具里烧录器改成Arduino as ISP,开发板选择ATtiny85
接线:将Reset,Pin2,Pin1,Pin0接入Arduino
analogWrite(PIN,value);//PWM控制灯亮度
ws2812b
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel strip(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); //定义灯的参数
strip.begin();//初始化
strip.show(); //每次setPixelColor设置完,都要执行这个程序
//设置颜色方法1
strip.setPixelColor(n, red, green, blue, white);//n:位置,white:亮度0~255
strip.show();
//设置颜色方法2
uint32_t magenta = strip.Color(red, green, blue); //RGB颜色转换
strip.setPixelColor(n,magenta);
strip.show();
//使用getPixelColor()方法可以查询某像素的颜色。
uint32_t color = strip.getPixelColor(11);//该方法返回32位颜色值。
uint16_t n = strip.numPixels();//获取LED数量
//设置整体亮度,setBrightness()一般只在setup()中调用
strip.setBrightness(64);//彩带中LED的整体亮度可以用setBrightness()进行调整,该方法只需一个参数,0为关闭,255为最大亮度。 例如,将彩带设置为1/4亮度:
strip.show();