内容不限,学校实验室面试需要自己开发一个arduino小程序 希望帮帮我 急用!
来个经典的例程吧,跑马灯
void setup() {
int i; //定义数据类型,设置输出引脚
for (i=2;i<=5;i++){
pinMode(i,OUTPUT); //数字化脚位,指定输入输出
}
}
void loop() {
F1(); //F1子程序
delay(1000);
F2();
delay(1000);
}
void F1() //led从左往右依次点亮,从右到左依次熄灭
{
int j;
for(j=2;j<=5;j++)
{
digitalWrite(j,HIGH); //2-5号引脚为低电平,使灯一起亮
delay(200);
}
for(j=5;j>=2;j--)
{
digitalWrite(j,LOW); //2-5号引脚为高电平,使灯一起灭
delay(200);
}
}
void F2() //led从右往左依次点亮,从左到右依次熄灭
{
int j;
for(j=5;j>=2;j--)
{
digitalWrite(j,HIGH);
delay(200);
}
for(j=2;j<=5;j++)
{
digitalWrite(j,LOW);
delay(200);
}
}
制作基于WiFi局域网的自动开门装置2.0(Arduino+微信小程序)
#include<SoftwareSerial.h>
#include<string.h>
SoftwareSerial mySerial(10, 11);
const int in1 = 2;
const int in2 = 3;
char cmd[20];
char cmd1[10];
bool valid_cmd = false;
void setup() {
Serial.begin(115200);
delay(10);
mySerial.begin(115200);
delay(10);
mySerial.print("AT+CIPMUX=1\r\n");
delay(10);
mySerial.print("AT+CIPSERVER=1,10500\r\n");
delay(10);
pinMode(13, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}
void loop() {
int i;
//如果串口收到有数据
if (mySerial.available() > 0)
{
for (i = 0; i < 20; i++)
{
cmd[i] = '\0';
}
for (i = 0; i < 19; i++)
{
if (mySerial.available() > 0)
{
cmd[i] = mySerial.read();
}
else
{
break;
}
}
for (i = 0; i < 10; i++)
{
cmd1[i] = cmd[i + 11];
}
valid_cmd = true;
}
//判断变量cmd的值,开始处理
if (valid_cmd)
{
//如果变量cmd的前2位的值是on
if (0 == strncmp(cmd1, "on", 2))
{
if (cmd1[2] != '\0') {
int mytime = (cmd1[2] - '0') * 1000 + (cmd1[3] - '0') * 100;
Serial.println(mytime);
int ys = (cmd1[5] - '0') * 100 + (cmd1[6] - '0') * 10;
Serial.println(ys);
digitalWrite(13, HIGH);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
Serial.println("Open");
delay(mytime);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
delay(mytime - ys);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(13, LOW);
}
else {
digitalWrite(13, HIGH);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
Serial.println("Open");
delay(2700);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
delay(2350);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(13, LOW);
}
}
else
{
Serial.println("wrong order");
digitalWrite(13, LOW);
}
valid_cmd = false;
}
delay(100);
}
参考文章,期望对你有所帮助:https://blog.csdn.net/qq_45885422/article/details/121998860
这个相对部署操作较难,有个简易的,也一并给你,权当作为你选择:https://blog.csdn.net/weixin_42410959/article/details/88770597?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-88770597-blog-121998860.pc_relevant_3mothn_strategy_recovery&spm=1001.2101.3001.4242.1&utm_relevant_index=3
需要实现什么功能 我可以发给你