You are on page 1of 7

Bài tập Ax.

y:
Sinh viên: Nguyễn Ngọc Hải
Lớp:Ca20a1a
Đề bài: UART Điều khiển ĐM

1. Bảng phân công vào ra


Đầu Vào Đầu Ra
1 NB_T 1 LED_D
2 NB_N 2 LED_T
3 NB_D 3 LED_N
4 C_T
5 C_N
2. Lưu đồ thuật toán
3. Chương trình điều khiển
TRUYỀN GIÁ TRỊ NB
int NBT=7;
int NBN=6;
int NBD=5;
int LEDT=4;
int LEDN=3;
int LEDD=2;
void setup()
{
  Serial.begin(9600);
  pinMode(NBT,INPUT_PULLUP);
  pinMode(NBN,INPUT_PULLUP);
  pinMode(NBD,INPUT_PULLUP);
  pinMode(LEDT,OUTPUT);
  pinMode(LEDN,OUTPUT);
  pinMode(LEDD,OUTPUT);
  digitalWrite(LEDD,HIGH);
  digitalWrite(LEDT,LOW);
  digitalWrite(LEDN,LOW);
}

void loop()
{
  if(digitalRead(NBT)==0)
  {
  Serial.write(1);
  digitalWrite(LEDT,HIGH);
  digitalWrite(LEDN,LOW);
  digitalWrite(LEDD,LOW);
  while(digitalRead(NBD)==1);
  }
  if(digitalRead(NBN)==0)
  {
  Serial.write(2);
  digitalWrite(LEDN,HIGH);
  digitalWrite(LEDT,LOW);
  digitalWrite(LEDD,LOW);
  while(digitalRead(NBD)==1);
  }
  if(digitalRead(NBD)==0)
  {
  Serial.write(3);
  digitalWrite(LEDD,HIGH);
  digitalWrite(LEDT,LOW);
  digitalWrite(LEDN,LOW);
  }
}
NHẬN VÀ ĐIỀU KHIỂN ĐỘNG CƠ
int CT=9;
int CN=8;
int nhan;
void setup() {
  Serial.begin(9600);
  pinMode(CT,OUTPUT);
  pinMode(CN,OUTPUT);
  digitalWrite(CT,LOW);
  digitalWrite(CN,LOW);
}
void loop() {
  if(Serial.available()){
    nhan = Serial.read();
  }
  if(nhan==1)
  {
    digitalWrite(CT,HIGH);
    digitalWrite(CN,LOW);
  }
    if(nhan==2)
  {
    digitalWrite(CT,LOW);
    digitalWrite(CN,HIGH);
  }
      if(nhan==3)
  {
    digitalWrite(CT,LOW);
    digitalWrite(CN,LOW);
  }

}
4. Kết quả mô phỏng

You might also like