Chào các bạn, hôm nay mình xin giới thiệu về led 7 đoạn
Led 7
đoạn là loại led có hình số 8 được ghép lại từ 7 đoạn thẳng, led 7 có nhiều tác dụng khác nhau, có thể dùng làm đồng hồ đêm ngược, đếm thời gian, đồng hồ
vạn niên, hoặc đơn thuần chỉ để hiển thị số.
Sau đây là phần kết nối
Led 7 đoạn với arduino uno, dùng nút nhấn
Nguyên lí hoạt động: sau khi đã lắp mạch hoàng chỉnh, đổ code vào arduino, led 7 đoạn hiển thị 0, khi ta nhấn button 1 lần, thì led hiển thị 1, cứ thế sau mỗi lần nhấn led sẽ tăng 1 số đến 9, nhấn lần 10 thì led hiển thị 0, và quay lại từ đầu
Phần cứng
- Arduino uno r3
- 1 led 7 đoạn
- 1 nút nhấn 4 chân (button)
- 1 breadboard
- 2 điện trở
- Dây cắm
Sơ đồ nối dây
Video thực nghiệm: https://www.youtube.com/watch?v=p5J1lcNLWVc&feature=youtu.be
code lập trình
// Đối với Led7 đơn chúng ta
sẽ không sử dụng thư viện SevSeg như Led 7 tứ
const int segmentPins[8] = {6,10,9,3,4,5,7,8}; //quản lý việc hiển thị LED 7
đoạn DP,G-A (dấu chấm)
int buttonPin = 2; // khai báo chân digital kết
nối đến button
int i=0;
const byte numberal[10] = { // Chúng ta
sẽ dùng kiểu mảng để khai báo 9 trạng thái của led (0-9) bằng mã nhị phân
B11111100, // Quy ước 1 sáng 0 tắt =>
các vị trí F-A sẽ sáng, G tắt, DP tắt. Led hiển thị số 0
B01100000, // tương tự với mã này ta sẽ
được số 1
B11011010, // 2
B11110010, // 3
B01100110, // 4
B10110110, // 5
B10111110, // 6
B11100000, // 7
B11111110, // 8
B11100110, // 9
};
void setup() { //thiết lập các chức năng
chân
for (int vitri = 0; vitri < 8; vitri++) {
pinMode(segmentPins[vitri], OUTPUT);
digitalWrite(segmentPins[vitri], HIGH);
}
pinMode(buttonPin, INPUT); // PinMode
để nhận tín hiệu đầu vào từ Button
attachInterrupt(0, tang, RISING); // Thêm một
Interrupt tại chân digital 2
// Tham khảo thêm tại
http://arduino.vn/reference/attachinterrupt
Serial.begin(9600); // Bật
Serial ở mức baudrate 9600
Sodawrite(0); //Đầu tiên
là xuất số 0
}
void loop() {}
void tang(){
//Chỉ đếm từ 0 --> 9