Cách thức thực hiệnLên ý tưởng, nghiên cứu chương trình điều khiển và xây dựng mạch điều khiển theo sơ đồ nguyên lý từ đó đấu mạch thực tế.Nguồn 5V và đất nối trực tiếp Arduino R3Nguồn 5
Trang 1TRƯỜNG ĐẠI HỌC THỦY LỢI KHOA ĐIỆN – ĐIỆN TỬ
Sinh viên thực hiện: Hoàng Huy Hùng Thà h viên: Hoàng Huy Hùng (NT)
Vũ Thái Bình (NP) Đinh Trọng Hiếu Nguyễn Đức Hiếu Bùi Trọng Hiếu Lã Duy Hiếu Chu Danh Hiếu Đặng Vũ Hiệp Vũ Ngọc Hùng Nguyễn Đức Huy Đinh Văn Huy
Hà Nội - 2022
Trang 2MỤC LỤC
I Đặt vấn đề 1
1 Ứng dụng của arduino 1
2 Arduino là gì? 1
II Nội dung 2
Bài 1: Điều khiển led bằng nút bấm 2
Bài 2: Điều khiển 8 led đơn với hiệu ứng đẹp mắt 6
Bài 3: Điều khiển led đơn bằng biến trở 17
Bài 4: Điều khiển đèn led bằng cảm biến ánh sáng 21
Bài 5: Điều khiển led đa sắc - hiệu ứng cầu vồng tuyệt đẹp 26
Bài 6: Điều khiển led 7 đoạn 32
Bài 7: Điều khiển led 7 đoạn 40
Bài 8: Điều khiển LCD 45
Bài 9: Tạo kí tự đặc biệt trên LCD 56
Bài 10: Chương trình xuất xung PWM ARDUINO 64
III Tìm hiểu về các loại cảm biến 66
7 Cảm biến siêu âm 84
8 Cảm biến âm thanh 88
9 Cảm biến vân tay 91
10 Cảm biến đo độ biến dạng 96
IV Một số các thiết bị ngoại vi kết nối với arduino 98
1 Module L298 98
2 Module wifi 99
Trang 3V Đề tài nhóm 101
Đề tài: Phân loại và đếm số lượng sản phẩm theo chiều cao 101
VI Nhiệm vụ các thành viên trong nhóm của từng bài tập 108
Trang 4I Đặt vấn đề.1 Ứng dụng của arduino.
Phần cứng và phần mềm Arduino được thiết kế cho các nghệ sĩ, nhà thiếtkế, hacker và bất kỳ ai quan tâm đến việc tạo ra các đối tượng hoặc môitrường tương tác Arduino có thể tương tác với các nút, đèn LED, độngcơ, loa, đơn vị GPS, máy ảnh, internet và thậm chí cả điện thoại thôngminh hoặc TV Sự linh hoạt này cộng với với phần mềm Arduino là miễnphí, các bo mạch phần cứng khá rẻ và cả phần mềm, phần cứng đều dễhọc, nên nó có một cộng đồng người dùng lớn đã đóng góp mã và hướngdẫn cho một lượng lớn project dựa trên Arduino.
Đối với tất cả mọi thứ từ robot và miếng sưởi ấm tay đến các máy dựđoán tương lai, Arduino có thể được sử dụng như bộ não đằng sau hầu hếtcác dự án điện tử.
2 Arduino là gì?
Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viênnước Ý thiết kế và đưa ra đầu tiên vào năm 2005 Mạch Arduino được sửdụng để cảm nhận và điều khiển nhiều đối tượng khác nhau Nó có thểthực hiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn,động cơ, và nhiều đối tượng khác Ngoài ra mạch còn có khả năng liênkết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield,sim900A, ….để tăng khả ứng dụng của mạch.
Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nềntảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,… Hiện phầncứng của Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thườngđược sử dụng nhiều nhất là Arduino Uno và Arduino Mega.
1
Trang 5II Nội dung
Bài 1: Điều khiển led bằng nút bấm 1.1 Yêu cầu đề bài, nêu chức năng của thiết bị.
A, Yêu cầu đề bài : Điều khiển đèn led bằng nút ấnB, Thiết bị:
- 1 Arduino R3: Điều khiển mạch - 1 Đèn Led: phát sáng khi có nguồn điện - 3 Điện Trở: Giảm dòng điện đi vào đèn led- 1 Nút Nhấn: Công tắc điều khiển đèn led- Bo cắm: Kết nối các thiết bị
- Dây cắm: Kết nối các thiết bị
1.2 Cách thức thực hiện
Lên ý tưởng, nghiên cứu chương trình điều khiển và xây dựng mạch điều khiển theo sơ đồ nguyên lý từ đó đấu mạch thực tế.
Nguồn 5V và đất nối trực tiếp Arduino R3
Nguồn 5V nối đầu vào của nút nhấn, đầu ra của nút nhấn được nối đến chân số 11,đầu ra của nút nhấn cũng được nối với điện trở 1k ôm và chân của điện trở này nối đất.
Chân số 2 được đưa cực anot của led, cực catot được nối đến điện trở 220V và nối xuống đất (mạch này có chức năng điều khiển led thông qua chân số 2 của Arduino R3)
Nạp chương trình vào arduino và chạy mạch
1.3 Sơ đồ thuật toán
2
Trang 6
Hình 1-1 Sơ đồ thuật toán
3
Trang 71.4 Viết chương trình điều khiển thuật toán
int Nut_nhan = 11;int Den-led = 2;void setup() {
pinMode(Nut_nhan, INPUT); //cài đặt chân D11 ở trạng thái Đầu vào đọc dữ liệu
pinMode(Den_led, OUTPUT); //cài đặt chân D2 dưới dạng Đầu ra }
void loop() {
int Trang_thai_nut = digitalRead(Nut_nhan); //Đọc trạng thái Nút nhấn {
digitalWrite(Den_led,HIGH); //Đèn led sáng }
else {
digitalWrite(Den_led,LOW); //Đèn led tắt } }
1.5 Hình ảnh mô phỏng trên Proteus
Hình 1-2 Sơ đồ nguyên lý
4
Trang 8Bước 3 : Từ chân số 2 của arduino nối qua điện trở 220V vào chân dươngcủa led ( lưu ý phải đặt đúng chiều âm dương của led nếu không led sẽ không sáng ) Còn chân âm của led nối về đất ( GND )
1.7 Kết quả thực nghiệm của nhóm
5
Trang 9Hình 1-4 Kết quả thực nghiệm của nhóm
Bài 2: Điều khiển 8 led đơn với hiệu ứng đẹp mắt2.1 Yêu cầu đề bài, nêu chức năng của thiết bị.
A, Yêu cầu đề bài : Điều khiển đèn sáng với hiệu ứng B, Thiết bị:
- Arduino R3: Điều khiển mạch
- 8 Đèn Led: phát sáng khi có nguồn điện - 8 Điện Trở 220Ω: Giảm dòng điện đi vào đèn led
- Bo cắm: Kết nối các thiết bị- Dây cắm: Kết nối các thiết bị
2.2 Cách thức thực hiện
Lên ý tưởng, nghiên cứu chương trình điều khiển và xây dựng mạch điều khiển theo sơ đồ nguyên lý từ đó đấu mạch thực tế.
Nguồn 5V và đất nối trực tiếp Arduino R3
Chân dương của led ta đấu vào một đầu của trở,chân còn lại của trởnối với các chân từ chân số 2 đến chân số 9 của Arduino
Chân âm của led ta kết nối với đất ( bằng cách kết nối với chân GDN trên arduino )
Nạp chương trình vào arduino và chạy mạch
2.3 Vẽ sơ đồ thuật toán
6
Trang 10Hình 2-1 Sơ đồ thuật toán
2.4 Viết chương trình điều khiển thuật toán
int Ledpin[]={2,3,4,5,6,7,8,9};int i,j;
int _delay = 500;void setup()
7
Trang 11for(i=0; i<8; i++)
pinMode(Ledpin[i], OUTPUT);}
void loop() {
Nhap_Nhay(); delay(2000); Chay_Trai_Phai(); delay(2000); Chay_Phai_Trai(); delay(2000); Dontrai_phai(); delay(2000); Dontphai_trai(); delay(2000); Ngoai_Trong(); delay(2000); Trong_Ngoai(); delay(2000); Xen_Ke(); delay(2000);}
// * Hiệu ứng Led Nhấp Nháy 8 lần *void Nhap_Nhay()
8
Trang 12Run1=0; }
for(i=0; i<8; i++)
digitalWrite(Ledpin[i], LOW); delay(_delay);
for(j=0; j<8; j++)
digitalWrite(Ledpin[j], LOW); digitalWrite(Ledpin[Run2], HIGH); delay(_delay);
Run2 ; if(Run2<0) Run2=7; }
for(i=0; i<8; i++)
digitalWrite(Ledpin[i], LOW); delay(_delay);
10
Trang 13// * Hiệu ứng Led sáng dồn và tắt dồn trái qua phải * void Dontrai_phai()
static int Run3=0; // Gọi 1 lần duy nhất for(i=0; i<8; i++)
digitalWrite(Ledpin[i], LOW); delay(_delay);
// Led sáng dồn
for(Run3=0; Run3<8; Run3++) {
digitalWrite(Ledpin[Run3], HIGH); delay(_delay);
}
// Led tắt dồn
digitalWrite(Ledpin[Run3],LOW); delay(_delay);
// * Hiệu ứng Led sáng dồn và tắt dồn phải qua trái *void Dontphai_trai()
static int Run4=0;for(i=0;i<8;i++)
11
Trang 14digitalWrite(Ledpin[i], LOW);delay(_delay);
// Cho led sáng dồn
for(Run4=7; Run4 >=0; Run4 ){
digitalWrite(Ledpin[Run4], HIGH); delay(_delay);
// * Hiệu ứng Led sáng dồn và tắt dồn từ 2 bên vào trong *void Ngoai_Trong()
for(i=0;i<8;i++)
digitalWrite(Ledpin[i], LOW); delay(_delay);
digitalWrite(Ledpin[0], HIGH); digitalWrite(Ledpin[7], HIGH); delay(_delay);
digitalWrite(Ledpin[1], HIGH);
12
Trang 15digitalWrite(Ledpin[6], HIGH); delay(_delay);
digitalWrite(Ledpin[2], HIGH); digitalWrite(Ledpin[5], HIGH); delay(_delay);
digitalWrite(Ledpin[3], HIGH); digitalWrite(Ledpin[4], HIGH); delay(_delay);
digitalWrite(Ledpin[0], LOW); digitalWrite(Ledpin[7], LOW); delay(_delay);
digitalWrite(Ledpin[1], LOW); digitalWrite(Ledpin[6], LOW); delay(_delay);
digitalWrite(Ledpin[2], LOW); digitalWrite(Ledpin[5], LOW); delay(_delay);
digitalWrite(Ledpin[3], LOW); digitalWrite(Ledpin[4], LOW); delay(_delay);
Trang 16digitalWrite(Ledpin[i], LOW); delay(_delay);
digitalWrite(Ledpin[3], HIGH); digitalWrite(Ledpin[4], HIGH); delay(_delay);
digitalWrite(Ledpin[2], HIGH); digitalWrite(Ledpin[5], HIGH); delay(_delay);
digitalWrite(Ledpin[1], HIGH); digitalWrite(Ledpin[6], HIGH); delay(_delay);
digitalWrite(Ledpin[0], HIGH); digitalWrite(Ledpin[7], HIGH); delay(_delay);
digitalWrite(Ledpin[3], LOW); digitalWrite(Ledpin[4], LOW); delay(_delay);
digitalWrite(Ledpin[2], LOW); digitalWrite(Ledpin[5], LOW); delay(_delay);
digitalWrite(Ledpin[1], LOW); digitalWrite(Ledpin[6], LOW); delay(_delay);
digitalWrite(Ledpin[0], LOW); digitalWrite(Ledpin[7], LOW);
14
Trang 17delay(_delay);}
// * Hiệu ứng Led sáng xen kẽ *void Xen_Ke()
static int Run5=0;// Tắt tất cả Ledfor(i=0; i<8; i++)
digitalWrite(Ledpin[i], LOW);delay(_delay);
for(j=0; j<8; j++) {
for(Run5=0; Run5<8; Run5+=2) // Các Led lẻ sáng digitalWrite(Ledpin[Run5], HIGH);
delay(_delay); for(i=0; i<8; i++)
digitalWrite(Ledpin[i], LOW);
for(Run5=1; Run5<8; Run5+=2) // Các Led chẵn sáng digitalWrite(Ledpin[Run5], HIGH);
delay(_delay); for(i=0; i<8; i++)
digitalWrite(Ledpin[i], LOW); } }
2.5 Hình ảnh mô phỏng trên Proteus
15
Trang 18Bước 2: Từ mỗi đầu ra ta đấu điện trở vào mỗi đầu
Bước 3: Chân dương của led ta đấu vào đầu còn lại của trở, còn lại chânâm của led ta kết nối với đất ( bằng cách kết nối với chân GND trênarduino )
Bước 4: Làm tất cả các led còn lại tương tự và hoàn thành mạch như sơđồ trên
2.7 Kết quả thực nghiệm của nhóm
16
Trang 19Hình 2-4 Kết quả thực nghiệm của nhóm
Bài 3: Điều khiển led đơn bằng biến trở3.1 Yêu cầu đề bài, nêu chức năng của thiết bị.
A, Yêu cầu đề bài : Điều khiển đèn led bằng biến trở B, Thiết bị:
- 1 Anduino Uno R3 Điều khiển mạch- 1 led đơn phát sáng khi có nguồn điện- 1 biến trở Thay đổi giá trị điện trở theo ý muốn- Bo cắm Kết nối các thiết bị
- Dây cắm Kết nối các thiết bị
Trang 20Nạp chương trình vào arduino và chạy mạch
3.3 Sơ đồ thuật toán
Hình 3-1 Sơ đồ thuật toán
18
Trang 213.4 Viết chương trình thuật toán
Phần 1: Điều khiển tốc độ nháy led của biến trởint Led = 13; // Khai báo chân ra của Ledvoid setup() {
pinMode(Led, OUTPUT); }
Phần 2 Điều khiển sáng tối của led bằng biến trởint Led = 9; // Khai báo chân ra của led
void setup(){
pinMode(Led, OUTPUT);}
void loop() {
int intputval = analogRead(A0); // Đọc giá trị của biến trở bằng lệnh analogRead ở chân A0 và lưu vào biến "intputval"
19
Trang 22int x = map(intputval,0,1023,0,255); // Ánh xạ giá trị của biến trở từ "0 đến 1023" thành khoảng từ "0 đến 255"
analogWrite(Led, x); // Gán giá trị x và xuất tín hiệu ra chân ra đèn Led}
3.5 Hình ảnh mô phỏng trên Proteus
Hình 3-2 sơ đồ nguyên lý
3.6 Các bước đấu mạch thực tế.
Bước 1: Nối chân số 13 với led qua điện trở 220 và nối xuống đấtΩ
Bước 2: Nối chân số 1 xuống đất của ArduinoBước 3: Nối chân số 2 với chân Analog A0Bước 4: Nối chân số 3 với nguồn 5V của Arduino
Hình 3-3 Sơ đồ đấu mạch
20
Trang 233.7 Kết quả thực nghiệm của nhóm
Hình 3-4 Kết quả thực nghiệm của nhóm
Bài 4: Điều khiển đèn led bằng cảm biến ánh sáng4.1 Yêu cầu đề bài, nêu chức năng của thiết bị.
A, Yêu cầu đề bài : điều khiển cảm biến bằng cảm biến ánh sáng B, Thiết bị:
- 1 Aduino Uno R3; Điều khiển mạch - 1 Led đơn: Phát sáng khi có dòng điện
- 1 Điện trở 220Ω: Cản trở dòng điện đi qua đèn led -1 Điện trở 10kΩ: Cản trở dòng điện đi qua đèn led
-1 Cảm biến ánh sáng: Chuyển đổi năng lượng ánh sáng được phát hiện thành năng lượng điện
- Bo cắm: Kết nối các thiết bị - Dây cắm: Kết nối các thiết bị
4.2 Cách thức thực hiện
21
Trang 24Lên ý tưởng, nghiên cứu chương trình điều khiển và xây dựng mạch điều khiển theo sơ đồ nguyên lý từ đó đấu mạch thực tế
Cảm biến ánh sáng 1 đầu nối đến nguồn 5v đầu còn lại sẽ nối đến chân analog A0 ( chân này có chức năng đọc giá trị cảm biến ) và chân này được nối đến 1 điện trở 10k và đầu còn lại của điện trở nối đến đất ( mạch này có chức năng đọc giá trị của cảm biến ánh sáng dựa theo yêu cầu của phớt áp sẽ dao động từ 0-5V phụ thuộc vào điện trở của cảm biến ánh sáng )
Điện trở của cảm biến ánh sáng phụ thuộc ánh sáng chiếu vào Khi có ánh sáng chiếu vào cảm biến giá trị điện trở của cảm biến sẽ giảm đi khi đó điện áp sẽ tăng tối đa 5V , khi không có ánh sáng chiếu vào giá trị điện trở tăng cao khi đó điện áp sẽ giảm xuống là 0V
Chân Analog A0 là chân đọc giá trị tương tự của Arduino giá trị giao động từ 0-1023 với việc giao đọng từ 0-5V thì chân Analog A0 sẽ đọc giá trị từ 0-1023 thì arduino sẽ hiểu được ở vị trí đó sẽ giao đông từ 0-5V
Nạp chương trình vào arduino và chạy mạch
22
Trang 254.3 Sơ đồ thuật toán
Hình 4-1 Sơ đồ thuật toán
4.4 Viết chương trình thuật toán
Phần 1: Khảo sát hoạt động của cảm biến ánh sáng
// Khảo sát hoạt động của cảm biến ánh sáng bằng Serial Monitorint quangtro = A0; // Thiết lập chân analog đọc quang trởvoid setup() {
Serial.begin(9600); // Khởi tạo cổng Serial với giá trị 9600 }
23
Trang 26void loop() {
int giatriquangtro = analogRead(quangtro); // đọc giá trị quang trở Serial.println(giatriquangtro); // Xuất giấ trị ra Serial Monitor delay(500);
digitalWrite(ledPin, LOW); // Tắt led }
delay(300);}
4.5 Hình ảnh mô phỏng trên Proteus
24
Trang 28Hình 4-4 Kết quả thực nghiệm của nhóm
Bài 5: Điều khiển led đa sắc - hiệu ứng cầu vồngtuyệt đẹp
5.1 Yêu cầu đề bài, nêu chức năng của thiết bị.
A, Yêu cầu đề bài : làm sắng đèn đa sắc RGB B, Thiết bị:
- 1 Aduino Uno R3: Điều khiển mạch
- 1 led đa sắc RGB: Hiển thị tổ hợp 16 triệu màu- 3 điện trở 220Ω: Cản trở dòng điện đi qua led RGB - Bo cắm: Kết nối các thiết bị
- Dây cắm: Kết nối các thiết bị
26
Trang 29Nạp chương trình vào arduino và chạy mạch
5.3 Sơ đồ thuật toán
Hình 5-1 Sơ đồ thuật toán
27
Trang 305.4 Viết chương trình thuật toán
Phần1
const int RED_PIN = 9; // led đỏconst int GREEN_PIN = 10; // led xanh láconst int BLUE_PIN = 11; // led xanh dương
void setup(){
pinMode (RED_PIN, OUTPUT);pinMode (GREEN_PIN, OUTPUT) ;pinMode (BLUE_PIN, OUTPUT);}
void loop(){
analogWrite(RED_PIN, 0);analogWrite(GREEN_PIN, 255);analogWrite(BLUE_PIN, 0);}
Phần2
const int RED_PIN = 9; // led đỏconst int GREEN_PIN = 10; // led xanh láconst int BLUE_PIN = 11; // led xanh dương
void setup(){
28
Trang 31pinMode (RED_PIN, OUTPUT);pinMode (GREEN_PIN, OUTPUT) ;pinMode (BLUE_PIN, OUTPUT);}
void loop(){
showRainbow(); // gọi hàm showRainbow để chạy hiệu ứng cầu vồng}
void showRainbow(){
for (int i = 0; i < 767; i++) {
showRGB(i);
delay (15); // delay 15ms }
// chia làm 3 phân vùng
// phân vùng 1 là màu đỏ -> xanh lục tương ứng i = 0 -> 255// phân vùng 2 là xanh lục -> xanh lam tương ứng i = 256 -> 511// phân vùng 3 là xanh lam -> đỏ tương ứng i = 512 -> 767
void showRGB(int color){
int redPWM;int greenPWM;
29
Trang 32int bluePWM;
if (color <= 255) // phân vùng 1{
redPWM = 255 - color; // đỏ đi từ sáng về tắtgreenPWM = color; // xanh lá đi từ tắt thành sángbluePWM = 0; // xanh dương luôn tắt}
else if (color <= 511) // phân vùng 2{
redPWM = 0; // đỏ luôn tắt
greenPWM = 255 - (color - 256); // xanh lá đi từ sáng thành tắt bluePWM = (color - 256); // xanh dương đi từ tắt thành sáng}
else // color >= 512 // phân vùng 3{
redPWM = (color - 512); // đỏ tắt rồi lại sáng greenPWM = 0; // xanh lá luôn tắt
bluePWM = 255 - (color - 512); // xanh dương sáng rồi lại tắt}
analogWrite(RED_PIN, redPWM);analogWrite(BLUE_PIN, bluePWM);analogWrite(GREEN_PIN, greenPWM);}
5.5 Hình ảnh mô phỏng trên Proteus
30
Trang 33Bài 9: Tạo kí tự đặc biệt trên LCD
9.1 Yêu cầu đề bài, nêu chức năng của thiết bị.
A, Yêu cầu đề bài : Tạo được kí tự đặc biệt trên LCD B, Thiết bị:
- 1 Aduino Uno R3: Điều khiển mạch
- 1 màn hình LCD: Hiển thị nội dung lên màn hình - 1 Biến trở 20k: Điều chỉnh độ sáng của màn hình LCD - Bo cắm: Kết nối các thiết bị
- Dây cắm: Kết nối các thiết bị
Nạp chương trình vào arduino và chạy mạch
9.3 Sơ đồ thuật toán
56
Trang 34Hình 9-1 Sơ đồ thuật toán
9.4 Viết chương trình thuật toán
// Chương trình tạo ký tự đặc biệt
#include <LiquidCrystal.h> // thêm thư viện LiquidCrystalLiquidCrystal lcd(12,11,5, 4, 3, 2); // khởi tạo chân cho LCD
57
Trang 35// (RS,E,D4,D5,D6,D7)byte trai[8] = {
B00000, B00100, B01000, B11111, B11111, B01000, B00100, B00000};
byte trai_tim[8] = { B00000, B01010, B10101, B10001, B01010, B00100, B00000, B00000 };
byte mui_ten[8] = { B00100, B01110, B11111,
58
Trang 36B00100, B00100, B00100, B00100, B00100 };
byte do_C[8] = { B11000, B11000, B00111, B01000, B01000, B01000, B01000, B00111};
byte phan_tram[8] = { B11000,
B11000, B00001, B00010, B00100, B01000, B10011, B00011
59
Trang 37byte chuong[8] = { B00100, B01110, B01110, B01110, B01110, B11111, B00000, B00100};
byte nhac[8] = { B00001, B00011, B00101, B01001, B01001, B01001, B11011, B11011};
byte phai[8] = { B00000, B00100, B00010,
60
Trang 38B11111, B11111, B00010, B00100, B00000};
void setup(){
lcd.begin(16, 2); // thiết lập loại LCD 16x2 lcd.createChar(0, trai); // hàm tạo ký tự đặc biệt lcd.createChar(1, trai_tim);
lcd.createChar(2, mui_ten); lcd.createChar(3, do_C); lcd.createChar(4, phan_tram); lcd.createChar(5, chuong); lcd.createChar(6, nhac); lcd.createChar(7, phai);}
void loop(){
for(int i=0; i<8; i++) {
lcd.setCursor(i*2,0); lcd.print(char(i)); delay(200);
61
Trang 39}
lcd.setCursor(2, 1); lcd.print("NHOM 2");
delay(2000); lcd.clear(); delay(300);}
9.5 Hình ảnh mô phỏng trên Proteus
62
Trang 40Bước 4: Chân R/W kết nối với GND (R/W=0) để ghi dữ liệu vàoLCD.
Bước 5: Kết nối chân RS và Enable với board mạch Arduino để giaotiếp với Arduino.
Bước 6: Điều khiển LCD ở chế độ 4 bit, kết nối 4 chân D4, D5, D6,D7 với board mạch Arduino.
Hình 9-3 Sơ đồ đấu mạch
9.7 Kết quả thực nghiệm của nhóm
Hình 1-4 Kết quả thực nghiệm của nhóm
63