任务1-0
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("XXXXXXXXXX XXX");
delay(1000);
}
任务1-1
#define led 0
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(2000);
digitalWrite(led, LOW);
delay(1500);
}
任务1-2
#define led LED_BUILTIN
#define btn 15
void setup() {
pinMode(led, OUTPUT);
pinMode(btn, INPUT);
Serial.begin(115200);
}
void loop() {
if(digitalRead(btn) == LOW){
Serial.println("按钮:抬起\n");
Serial.println("灯:熄灭\n");
digitalWrite(led, HIGH);
}else{
digitalWrite(led, LOW);
Serial.println("按钮:按下\n");
Serial.println("灯:亮\n");
}
delay(200);
}
任务1-3
//灯
#define y_led 12
#define r_led 13
#define g_led 14
//按钮
#define y_btn 15
#define r_btn 4
#define g_btn 5
void setup() {
pinMode(y_led, OUTPUT);
pinMode(r_led, OUTPUT);
pinMode(g_led, OUTPUT);
pinMode(y_btn, INPUT);
pinMode(r_btn, INPUT);
pinMode(g_btn, INPUT);
Serial.begin(115200);
}
int y_btn_released = 0;
int r_btn_released = 0;
int g_btn_released = 0;
void loop() {
y_btn_released = digitalRead(y_btn);
r_btn_released = digitalRead(r_btn);
g_btn_released = digitalRead(g_btn);
if(y_btn_released == 1){
digitalWrite(y_led, HIGH);
Serial.println("黄灯亮\n");
}else{
digitalWrite(y_led, LOW);
}
if(r_btn_released == 1){
digitalWrite(r_led, HIGH);
Serial.println("红灯亮\n");
}else{
digitalWrite(r_led, LOW);
}
if(g_btn_released == 1){
digitalWrite(g_led, HIGH);
Serial.println("绿灯亮\n");
}else{
digitalWrite(g_led, LOW);
}
delay(200);
}
任务1-4
//灯
#define y_led 4
#define r_led 5
#define g_led 14
//按钮
#define begin_btn 16
#define stop_btn 13
void setup() {
pinMode(y_led, OUTPUT);
pinMode(r_led, OUTPUT);
pinMode(g_led, OUTPUT);
pinMode(begin_btn, INPUT);
pinMode(stop_btn, INPUT_PULLUP);
//attachInterrupt(digitalPinToInterrupt(stop_btn), fun_stop, CHANGE);
Serial.begin(115200);
}
int begin_btn_released = 0;
int stop_btn_released = 0;
int run = 1;//0停止,1运行
int a = 1;
int b=0;
void loop() {
begin_btn_released = digitalRead(begin_btn);
stop_btn_released = digitalRead(stop_btn);
if(begin_btn_released == 1){
run = 1;
}
if(stop_btn_released == 1){
run = 0;
}
while(run){
digitalWrite(r_led, HIGH);
Serial.println("红灯亮");
dd();
if(run == 0){
break;
}
digitalWrite(r_led, LOW);
digitalWrite(y_led, HIGH);
Serial.println("黄灯闪烁");
while(b<5){
ddy();
if(run == 0){
break;
}
digitalWrite(y_led, LOW);
ddy();
if(run == 0){
break;
}
digitalWrite(y_led, HIGH);
b++;
}
b=0;
if(run == 0){
break;
}
digitalWrite(y_led, LOW);
digitalWrite(g_led, HIGH);
Serial.println("绿灯亮");
dd();
if(run == 0){
break;
}
digitalWrite(g_led, LOW);
}
}
void dd(){
while (a<3000) {
stop_btn_released = digitalRead(stop_btn);
if(stop_btn_released == 1){
run = 0;
digitalWrite(r_led, LOW);
digitalWrite(y_led, LOW);
digitalWrite(g_led, LOW);
Serial.println("熄灭");
break;
}
a++;
delay(1);
}
a = 0;
}
void ddy(){
while (a<300) {
stop_btn_released = digitalRead(stop_btn);
if(stop_btn_released == 1){
run = 0;
digitalWrite(r_led, LOW);
digitalWrite(y_led, LOW);
digitalWrite(g_led, LOW);
Serial.println("熄灭");
break;
}
a++;
delay(1);
}
a = 0;
}
任务1-5
void setup() {
Serial.begin(115200);
pinMode(A0, INPUT);
}
void loop() {
Serial.println(analogRead(A0));
}
任务1-6
#define led 4
#define btn 13
void setup() {
Serial.begin(115200);
pinMode(btn, INPUT);
pinMode(led, OUTPUT);
}
int a=0;
int b=0;
int btn_relesed;
void loop() {
btn_relesed = digitalRead(btn);
while(btn_relesed){
while(a<1024){
analogWrite(led, a);
a++;
btn_relesed = digitalRead(btn);
if(btn_relesed == 0){
analogWrite(led, 0);
break;
}
delay(1);
Serial.println(a);
}
if(btn_relesed == 0)
{
break;
}
while(a>0){
analogWrite(led, a);
a--;
delay(1);
Serial.println(a);
}
}
}
任务1-7
任务1-8
#include <Adafruit_NeoPixel.h>
#define light_level 155//4个led的亮度
#define pin 13
#define num 4
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(num, pin, NEO_GRB + NEO_KHZ800);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pixels.begin();
}
int i = 0;
//void set_4_led(uint8_t r,uint8_t g,uint8_t b,uint8_t level=light_level);//???????????声明不对?????????
void set_4_led(uint8_t r,uint8_t g,uint8_t b,uint8_t level = light_level){
//设置灯的亮度;
pixels.setBrightness(level);
for(i=0;i<num;i++){
pixels.setPixelColor(i,r,g,b);
}
pixels.show();
}
void loop() {
// put your main code here, to run repeatedly:
set_4_led(255,0,0);
delay(2000);
set_4_led(0,255,0);
delay(2000);
set_4_led(0,0,255);
delay(2000);
}
任务1-9
#include <Adafruit_NeoPixel.h>
#define light_level 55//4个led的亮度
#define pin 13
#define num 4
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(num, pin, NEO_GRB + NEO_KHZ800);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pixels.begin();
}
int i = 0;
//void set_4_led(uint8_t r,uint8_t g,uint8_t b,uint8_t level=light_level);//???????????声明不对?????????
void set_4_led(uint8_t r,uint8_t g,uint8_t b,uint8_t level = light_level){
//设置灯的亮度;
pixels.setBrightness(level);
pixels.setPixelColor(i,r,g,b);
pixels.show();
i++;
}
void loop() {
// put your main code here, to run repeatedly:
set_4_led(255,0,0);
i = i>3?0:i;
set_4_led(0,255,0);
i = i>3?0:i;
set_4_led(0,0,255);
i = i>3?0:i;
set_4_led(255,255,255);
i = i>3?0:i;
delay(500);
i++;
i = i>3?0:i;
}
任务1-10
#include <Adafruit_NeoPixel.h>
#define light_level 55//4个led的亮度
#define pin 13//灯引脚
#define num 4
#define btn_stop 12//停止按钮引脚
#define btn_begin 14//开始按钮引脚
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(num, pin, NEO_GRB + NEO_KHZ800);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pixels.begin();
}
int i = 0;
int begin_relese = 0;
int stop_relese = 0;
int a = 0;
int running = 1;
int temp = 0;
int set_b = 255;
int set_g = 0;
int set_r = 0;
//void set_4_led(uint8_t r,uint8_t g,uint8_t b,uint8_t level=light_level);//???????????声明不对?????????
void set_4_led(uint8_t k,uint8_t r,uint8_t g,uint8_t b,uint8_t level = light_level){
//设置灯的亮度;
pixels.setBrightness(level);
//设置灯的颜色和灯的位置
pixels.setPixelColor(k,r,g,b);
pixels.show();
}
void delay_1(int time){
while(a<time){
stop_relese = digitalRead(btn_stop);
if(stop_relese == 1){
set_4_led(0,0,0,0);
set_4_led(1,0,0,0);
set_4_led(2,0,0,0);
set_4_led(3,0,0,0);
running = 0;
a = 0;
return;
}
delay(1);
a++;
}
a=0;
}
void set_color(int i_num){
if(i_num == 3){
temp = set_r;
set_r = set_b;
set_b = set_g;
set_g = temp;
}
set_4_led(i_num,set_r,set_g,set_b);
}
void loop() {
begin_relese = digitalRead(btn_begin);
running = begin_relese == 1?1:0;
while(running){
set_4_led(3,0,0,0);
set_color(0);
delay_1(500);
if(running == 0) break;
set_4_led(0,0,0,0);
set_color(1);
delay_1(500);
if(running == 0) break;
set_4_led(1,0,0,0);
set_color(2);
delay_1(500);
if(running == 0) break;
set_4_led(2,0,0,0);
set_color(3);
delay_1(500);
if(running == 0) break;
}
}