Bài tập lập trình nhúng và thời gian thực

GiaLong46 5 views 5 slides Apr 22, 2025
Slide 1
Slide 1 of 5
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5

About This Presentation

Report , Curriculum


Slide Content

Vũ Gia Long
Câu 1:
Code:
int segments[] = {2, 3, 4, 5, 6, 7, 8};
int numbers[10][7] = {
  {1,1,1,1,1,1,0}, 
  {0,1,1,0,0,0,0}, 
  {1,1,0,1,1,0,1}, 
  {1,1,1,1,0,0,1}, 
  {0,1,1,0,0,1,1}, 
  {1,0,1,1,0,1,1}, 
  {1,0,1,1,1,1,1}, 
  {1,1,1,0,0,0,0}, 
  {1,1,1,1,1,1,1}, 
  {1,1,1,1,0,1,1}  
};
void displayNumber(int num) {
  for (int i = 0; i < 7; i++) {  

    digitalWrite(segments[i], numbers[num][i] ? LOW : HIGH); 
  }
}
void setup() {
  for (int i = 0; i < 7; i++) {  
    pinMode(segments[i], OUTPUT);
  }
}
void loop() {
  for (int i = 0; i < 10; i++) {
    displayNumber(i);
    delay(1000);  
  }
}
Câu 2:
const int LDR_PIN = A0;  

const int TRANSISTOR_PIN = 3;
const int THRESHOLD = 900; 
void setup() {
  pinMode(TRANSISTOR_PIN, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  int ldrValue = analogRead(LDR_PIN);
  Serial.println(ldrValue);
  if (ldrValue < THRESHOLD) {
    digitalWrite(TRANSISTOR_PIN, HIGH);  
  } else {
    digitalWrite(TRANSISTOR_PIN, LOW);
  }
  delay(500);
}
Câu 3:

const int potPin = A0; 
const int redLED = 5;   
const int yellowLED = 6; 
const int greenLED = 7;  
void setup() {
    pinMode(redLED, OUTPUT);
    pinMode(yellowLED, OUTPUT);
    pinMode(greenLED, OUTPUT);
}
void loop() {
    int potValue = analogRead(potPin); 
    if (potValue <= 10) {  
        digitalWrite(redLED, HIGH);
        digitalWrite(yellowLED, LOW);
        digitalWrite(greenLED, LOW);
    } 
    else if (potValue >= 1013) { 
        digitalWrite(redLED, LOW);

        digitalWrite(yellowLED, HIGH);
        digitalWrite(greenLED, LOW);
    } 
    else { 
        digitalWrite(redLED, LOW);
        digitalWrite(yellowLED, LOW);
        digitalWrite(greenLED, HIGH);
    }
    delay(50); 
}