Professional Documents
Culture Documents
HCM
Khoa Điện tử - Viễn thông
----***----
1.Bài thực hành 1: Giao tiếp Arduino với LED 7 đoạn trên board Multifuntion
-Mô tả trạng thái đèn Led 7 đoạn sau khi nạp code xuống bo mạch Arduino:
=>Khi nạp code xuống bo mạch led 7 đoạn hiển thị 0123.
void setup ()
{
pinMode(LATCH_DIO, OUTPUT);
pinMode(CLK_DIO, OUTPUT);
pinMode(DATA_DIO,OUTPUT);
}
void loop()
{
WriteNumberToSegment(0,0);
WriteNumberToSegment(1,1);
WriteNumberToSegment(2,2);
WriteNumberToSegment(3,3);
WriteNumberToSegment(4,4);
WriteNumberToSegment(5,5);
WriteNumberToSegment(6,6);
WriteNumberToSegment(7,7);
WriteNumberToSegment(8,8);
WriteNumberToSegment(9,9);
}
digitalWrite(LATCH_DIO, HIGH);
delay(1000);
digitalWrite(LATCH_DIO,LOW);
delay(1000);
3.2 Hiển thị led 7 đoạn các giá trị A,b,C,d,E,F và đếm từ 0 đến F:
-Đèn led 7 đoạn hiện các giá trị từ 0 đến F và quay lại 0.
-Chụp hình minh chứng (video):
https://youtube.com/shorts/hyoPWBHkyzo?feature=share
-CODE :
#define LATCH_DIO 4
#define CLK_DIO 7
#define DATA_DIO 8
void setup ()
{
pinMode(LATCH_DIO, OUTPUT);
pinMode(CLK_DIO, OUTPUT);
pinMode(DATA_DIO,OUTPUT);
}
void loop()
{
WriteNumberToSegment(0,0);
WriteNumberToSegment(1,1);
WriteNumberToSegment(2,2);
WriteNumberToSegment(3,3);
WriteNumberToSegment(4,4);
WriteNumberToSegment(5,5);
WriteNumberToSegment(6,6);
WriteNumberToSegment(7,7);
WriteNumberToSegment(8,8);
WriteNumberToSegment(9,9);
WriteNumberToSegment(10,10);
WriteNumberToSegment(11,11);
WriteNumberToSegment(12,12);
WriteNumberToSegment(13,13);
WriteNumberToSegment(14,14);
WriteNumberToSegment(15,15);
digitalWrite(LATCH_DIO, HIGH);
delay(1000);
digitalWrite(LATCH_DIO,LOW);
delay(1000);
}
3.3 Cho led 7 đoạn thứ 4 ban đầu hiển thị giá trị là 0, nếu nhấn phím A1 sẽ tăng dần giá trị lên 1
đơn vị,ví dụ 0,1,2,3,4,.....
-Khi nhấn phím A1 led 7 đoạn tăng dần lên 1 giá trị từ 0 đến F.
#define LATCH_DIO 4
#define CLK_DIO 7
#define DATA_DIO 8
int buttonPin = A1;
int buttonState = HIGH;
void setup ()
{
pinMode(LATCH_DIO, OUTPUT);
pinMode(CLK_DIO, OUTPUT);
pinMode(DATA_DIO,OUTPUT);
}
void loop()
{
buttonState = digitalRead(buttonPin);
int a;
int b;
if (buttonState == LOW) {
a++;
b++;
}
WriteNumberToSegment(a,b);
}
digitalWrite(LATCH_DIO, HIGH);
delay(90);
digitalWrite(LATCH_DIO,LOW);
delay(90);
}