Professional Documents
Culture Documents
học arduino
học arduino
int led=13;
void setup() {
pinMode(led,OUTPUT);
}
void loop() {
digitalWrite(led,HIGH);
delay(100);
digitalWrite(led,LOW);
delay(100);
}
Bài 2: Lắp mạch gồm 3 led xanh đỏ vàng sau cho khi gắn nguồn cả 3 đều sang. Sau đó tắt theo thứ tự 1,
2, 3 cách nhau 0,5s và lặp lại.
int led1=11;
int led2=12;
int led3=13;
void setup() {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
}
void loop() {
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
delay(1000);
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
delay(500);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,HIGH);
delay(500);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
delay(500);
}
Bài 3:Khi có điện 7 Led đều sáng-> tắt từ trái qua phải->sáng từ phải qua trái->chẵn sáng lẻ tắt, lẻ sáng
chẵn tắt xen kẽ lặp lại 5 lần.
void setup()
{
//dùng vòng lặp for đẻ thiết lập các đầu ra cho led và led tự sáng khi khởi động
for(int i=2;i<9;i++)
{
pinMode(i,OUTPUT);
digitalWrite(i,HIGH);
}
}
void loop() {
//tắt từ 1 đến 7
for(int i=2;i<9;i++)
{
digitalWrite(i,LOW);
delay(500);
}
//sáng+ từ 7 đến 1
for(int i=8;i>1;i--)
{
digitalWrite(i,HIGH);
delay(500);}
//chẵn sáng lẻ tắt lặp lại 5 lần
int lanlap=1;
while(lanlap<6)
{
for(int i=2;i<9;i++){
if((i-1)%2!=0){digitalWrite(i,LOW);}
if((i-1)%2==0){digitalWrite(i,HIGH);}
}
delay(500);
lanlap++;
for(int i=2;i<9;i++){
if((i-1)%2!=0){digitalWrite(i,HIGH);}
if((i-1)%2==0){digitalWrite(i,LOW);}
}
delay(500);}
for(int i=2;i<9;i++)
{
digitalWrite(i,HIGH);
}
delay(500);
}
Bài 4: Sử dụng nút bấm để bật tắt đèn Led
int congtac=2;
int led=3;
void setup()
{
pinMode(congtac,INPUT);//trạng thái đọc dữ liệu
pinMode(led,OUTPUT); //trạng thái nhận dữ liệu
}
void loop(){
int trangthai=digitalRead(congtac);//đọc trạng thái nút bấm
}
}
Bài 5: Sử dụng nút bấm để bật tắt đèn Led, thường sang nhấp nháy, nhấn giữ
int congtac=2;
int led=3;
void setup()
{
pinMode(congtac,INPUT);//trạng thái đọc dữ liệu
pinMode(led,OUTPUT); //trạng thái nhận dữ liệu
}
void loop(){
int trangthai=digitalRead(congtac);//đọc trạng thái nút bấm
if(trangthai==HIGH){//nếu công tắc bị nhấn
digitalWrite(led,HIGH);
delay(200);
digitalWrite(led,LOW);
delay(200);
}
else{//ngược lại
digitalWrite(led,LOW);
}
}
Bài 6: thiết lập một nút nhấn và một đèn LED, và khi nút nhấn được nhấn giữ, đèn LED sẽ nhấp nháy
trong khoảng thời gian 500ms
int button=2;
int led=3;
int trangthailed=LOW;
void setup()
{
pinMode(button,INPUT);
pinMode(led,OUTPUT);
digitalWrite(led,LOW);
}
void loop(){
if (digitalRead(button)==HIGH){
digitalWrite(led,HIGH);
delay(500);
digitalWrite(led,LOW);
delay(500);
}
else{
digitalWrite(led,LOW);
}
}
Bài 8: Sử dụng nút bấm, đèn tắt, click để bật đèn, click để đèn
tắt
Cách 1:
int button = 2;
int led = 3;
int trangthailed=LOW;//lưu trạng thái đang tắt
void setup() {
pinMode(button, INPUT);
pinMode(led,OUTPUT);
digitalWrite(led,LOW); //khi có điện led tăt
}
void loop() {
int trangthaibutton=digitalRead(button);//lưu trạng thái hiện tại của công tắt
vào biến trangthaibutton
int ledsang=digitalRead(led); //lưu trạng thái của led
if(trangthaibutton==1 && ledsang==trangthailed){
digitalWrite(led,!trangthailed);//led ngược với trangthailed
trangthailed=!trangthailed;//thay đổi biến trangthailed ngược lại
delay(500);
}
}
Cách 2
int button = 2;
int led = 3;
int trangthailed = LOW;// Trạng thái ban đầu của đèn LED (LOW = tắt)
void setup() {
pinMode(button, INPUT);
pinMode(led, OUTPUT);
digitalWrite(led, trangthailed);
}
void loop() {
if (digitalRead(button) == HIGH) // Kiểm tra trạng thái của nút nhấn
{
toggle(); // Nếu nút nhấn được nhấn, gọi hàm toggle()
delay(500);
}}
void toggle() {
trangthailed = !trangthailed;
digitalWrite(led, trangthailed);// Cập nhật trạng thái của đèn LED
}
Bài 9: Có 5 đèn Led khi bật công tắt, sáng tắt từng đèn 1->5
int button = 2;
int led[] = {3, 4, 5, 6};
int trangthailed = LOW;
void setup() {
pinMode(button, INPUT);
for (int i = 0; i < 4; i++) {
pinMode(led[i], OUTPUT);
digitalWrite(led[i], LOW);
}
}
void loop(){
if (digitalRead(button)==HIGH){
for (int i=0;i<4;i++){
digitalWrite(led[i],HIGH);
delay(500);
digitalWrite(led[i],LOW);
delay(500);
}}
else{for(int i=0;i<4;i++){
digitalWrite(led,LOW);}
}
}
Bài 10: Có 4 đèn Led khi bật công tắt, sáng từ 1-4, tắt từ 4-1, chẵn sáng lẻ tắt và lẻ tắt chẵn
int button = 2;
void setup() {
pinMode(button, INPUT);
for (int i = 0; i < 4; i++) {
pinMode(led[i], OUTPUT);
digitalWrite(led[i], LOW);
}
}
void loop(){
if (digitalRead(button)==HIGH){
//sáng từ 1-5
for (int i=0;i<4;i++){
digitalWrite(led[i],HIGH);
delay(500);}
//tắt từ 5-1
for (int i=4;i>0;i--){
digitalWrite(led[i],LOW);
delay(500);
}
//chẵn sáng lẻ tắt xen kẽ 5 lần
int lanlap=1;
while(lanlap<6)
{
for(int i=0;i<4;i++){
if((i-1)%2!=0){digitalWrite(led[i],LOW);}
if((i-1)%2==0){digitalWrite(led[i],HIGH);}
}
delay(500);
lanlap++;
for(int i=0;i<4;i++){
if((i-1)%2!=0){digitalWrite(led[i],HIGH);}
if((i-1)%2==0){digitalWrite(led[i],LOW);}
}
delay(500);
}
for (int i=0;i<4;i++){
digitalWrite(led[i],LOW);}
delay(500);
}
else{for(int i=0;i<4;i++){
digitalWrite(led,LOW);}
}
}
Bài 11: Khi bật công tắt, đèn sáng và tắt sau 5s:
void loop() {
if(digitalRead(12)==HIGH){ //nếu trạng thái của nút bấm bật
thoigianbatdau=millis(); //gán biến millis() bắt đầu chạy
digitalWrite(13,HIGH);} //đèn bật
if(digitalRead(12)==LOW && millis() - thoigianbatdau>=thoigiandentat){
digitalWrite(13,LOW);
}}
Bài12: Đèn 1 nhấp nháy, dùng nút bật đèn 2 sáng, khi đèn 1 tắt đèn 2 tắt theo.
Kích hoạt đèn khi nút chuyển từ trạng thái cao sang thấp (FALLING)
Kích hoạt đèn khi nút chuyển từ trạng thái thấp sang cao(RISINS)
Kích hoạt đèn khi nút chuyển từ trạng thái cao sang thấp hay thấp sang cao(CHANGE)
int led1=4;
int led2=5;
int interruptPin = 2;
void setup() {
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
attachInterrupt(digitalPinToInterrupt(interruptPin),modeISR,FALLING);
//FALLING,CHANGE,RISING
}
// chuong trinh ngat
void modeISR()
{
digitalWrite(5,HIGH);
}
void loop() {
digitalWrite(4,LOW);
delay(3000);
digitalWrite(4,HIGH);
delay(3000);
digitalWrite(5,LOW);
}
Bài 13: cho đèn 1,2,3 nhấn nút một lần đèn 1 sáng, nhấn 2 lần đèn 2 sáng, nhấn 3 lần đèn 3 sáng, nhấn 4
lần cả 3 đều tắt .