Huong Dan Su Dung Noi Ap Suat Ikisaki / TOP #10 Xem Nhiều Nhất & Mới Nhất 11/2021 # Top View

— Bài mới hơn —

HƯỚ NG BẢN ARDUINO NG DẪ DẪN SỬ SỬ DỤNG DỤNG CƠ BẢN
TP.Hồ Chí Minh, Tháng 5, Năm năm trước .
MỤC LỤC : Lờ i nói đầu. đầu. Chương 1 : Tổng Tổng quan về về Arduino Uno. … … … … … … … … … … … … … … … … … … … … … … … .. … … … … … … … … … … …. … … … … … … … … … …. … … … … .. 1 1. Tổng quan. … … … … … … … … … … …. … … … … … … … … … … … … … … … … … … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … … .. … … … … … … … … …. … … …. 1 … … … … … … … … … … … … … … … … … … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … …. … .. 2 2. Sơ đồ chân đồ chân củ của Arduino. … … … … … … … … … … …. Chương 2 : Cài đặt chương trình Arduino IDE và Driver cho Arduino … … … … … … … .. … … … … … … … .. 4 … … … … … … … … … … … … … … … … … … … … … … … … … … … …. … … … … … … …. … .. 4 1. Cài đặt chương trình Arduino IDE … … … … … … … … … … …. … … … … … … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … … .. … … … … … … … …. … …. 5 2. Cài đặt đặt Driver … … … … … … … … … … .. … … … … … … … … … … … … … … … … … … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … … .. … … … … … … … …. … …. 7 3. Arduino IDE … … … … … … … … … … …. Chương 3 : Hướ ng ng dẫn dẫn setup đặt bả bản mô phỏ phỏng Arduino trên Proteus … … … … … … … … .. … … … … … … … …. 11 Chương 4 : Giao tiếp tiế p Arduino vớ vớ i mộ một số ít số linh phụ kiện kiện điện điện tử tử. … … … … … … … … … … … … … … … … … … … … … … … … .. … … .. 13 … … … … … … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … .. … 13 1 ) Project 1 : Led nhấ nhấp nháy. … … … … … … … … … … .. 2 ) Project 2 : Đèn sáng khi nhấn nhấ n phím. … … … … … … … … … … .. … … … … … … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … .. … 18 … … … … … … … … … … … 21 3 ) Project 3 : Led sáng dầ d ần từ từ led led 1 đến led 10 và ngượ c lạ lại. … … … … … … … … … … …. 4 ) Project 4 : Led sáng dầ d ần từ từ led led 1 đến led 10 và ngượ c lạ lại thờ thờ i gian delay đổi khác đượ c. … … … … … … … … … … … … … … … … .. … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … .. … 24 c. … … … … … … … … … … … … … … … … … … … … … … … … … … .. … … … … .. 27 5 ) Project 5 : Điều Điều khiể khiển tốc vận tốc động cơ bằng bằng PWM. … … … … … … … … … … … Điề u khiển bằng L293D. … … … … … … … … … … …. … … … … … … … … … … … … … … … … … … … … … … … …. … .. 31 6 ) Project 6 : Điều khiển động cơ bằng … … … … … … … … … … … … … … … … … … … … … … … …. … .. 34 7 ) Project 7 : Giao tiế ti ếp Arduino vớ vớ i LCD 16 × 2. … … … … … … … … … … …. … … … … … … … … … … … … … … … … … … … … … … … … … … … … .. … … … … … … … .. … .. 47 8 ) Project 8 : Giao tiế ti ếp vớ vớ i máy tính. … … … … … … … … … … …. 9 ) Project 9. Đo nhiệt độ môi trườ ng ng dùng LM35D hiể hiển thị thị LCD và Serial … … … … … … … … … … … … … … … … … … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … .. … 49 Monitor. … … … … … … … … … … …. … … … … … … … … … … … … … … … .. … … … … .. 54 10 ) Project 10 : Giao tiế ti ếp Arduino vớ vớ i Servo motor. … … … … … … … … … … … Tài liệ liệu tham khả khảo. … … … … … … … … … … … … … … … … … … … … … … … … … … … .. … … … … … … … … … … …. … … … … … … … … … … …. … … … … … … … … … … … .. … … … … … … … .. … .. 56
Lờ i Nói Đầ Đầu. u. Arduino đã và đang đượ c sử dụng r ất r ộng rãi trên thế giớ i, i, và ngày càng chứng tỏ
đượ c sức mạnh của chúng trải qua vô số ứng dụng độc lạ của ngườ i dùng trong hội đồng nguồn mở. Arduino thực sự đã gây sóng gió trên thị trường ngườ i dùng trên toàn quốc tế trong vài năm gần đây, số lượng ngườ i dùng cực lớn và phong phú với trình độ tr ải r ộng từ bậc đại trà phổ thông lên đến đạ i học đã làm cho ngay cả những ngườ i tạo ra chúng phải kinh ngạc về mức độ phổ cập. Tuy nhiên tại Nước Ta Arduino vẫn còn chưa đượ c biết
“ HƯỚ NG NG DẪ DẪN SỬ SỬ DỤNG DỤNG CƠ BẢN BẢN ARDUINO ”. ARDUINO ”. Trong tài liệu này cung cấ p cho bạn ng kỹ năng và kiến thức cơ b bản nhất về Arduino cũng như các ứng dụng thực tiễn của nó. đọc một lượ ng Tài liệu gồm có các nội dung sau :
Chương 1 : Tổ ng ng quan về Arduino Arduino Uno. Chương 2 : Chương 2 : Cài đặt chương trình Arduino IDE và Driver cho Arduino. Chương 3 : Hướ ng ẫn setup bản mô phỏng Arduino trên Proteus. ng d ẫn Chương 4 : Giao tiế p Arduino vớ i 1 số ít linh ử. linh phụ kiện điện t ử Khi biên soạn, tác giả đã tìm hiểu thêm một số ít tài liệu nướ c ngoài để tài liệu vừa bảo vệ về mặc nội dung vừa hoàn toàn có thể tiế p cận đượ c vớ i bạn đọc. Khi viết tác giả đã có gắng để tài liệu đượ c hoàn hảo nhất tuy nhiên chắc như đinh không tránh khỏi sai sót, vì v ậy r ất mong nhận đượ c sự góp ý của bạn đọc. Mọi quan điểm góp phần xin liên hệ : = { 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 } ; int direction = 1 ; int currentLED = 0 ; void setup ( ) { for ( int x = 0 ; xHỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
21
void loop ( ) { for ( int x = 0 ; xif ( currentLED = = 9 ) { direction = – 1 ; } if ( currentLED = = 0 ) { direction = 1 ; } delay ( 500 ) ; } 
Giải thích chương trình. Trong Project này tất cả chúng ta s ử dụng 10 chân digital để tinh chỉnh và điều khiển 10 led, để cho
ở đây tôi sử dụng mảng 1 chiều gồm 10 phần t ử trong đó chứa chương trình ngắn gọn thì ở đâ 10 vị trí chân led mà ta s ử dụng trong project byte ledPin, ntLED ], HIGH ) ;
Vì ta đã khai báo currentLED = 0 nên mãng sẽ truy xuất thành phần tiên phong trong mãng có giá tr ị là 4 do đó led ở v vị trí chân digital số 4 sẽ sáng. currentLED + = direction ;
Tăng currentLED lên 1 đơn vị chức năng ( direction = 1 ). Vòng lặ p tiế p theo sẽ là led ở chân chân digital 5 sáng và cứ như thế cho đến led ở chân chân số 13 sáng, thì lúc này currentLED = = 9, câu lệnh “ if ( currentLED = = 9 ) { direction = – 1 ; } ” sẽ thực thi và led sẽ sáng ngượ c lại từ led 10 xuống led thứ 1. Hai câu lệnh : if ( currentLED = = 9 ) { direction = – 1 ; } if ( currentLED = = 0 ) { direction = 1 ; }
dùng để pháp luật chiều sáng của led là tăng dần hay giảm dần. Nếu là Led th ứ 10 sang thì tiế p theo sẽ giảm xuống led thứ 9 và ngượ c lại nếu led thứ 0 sang thì chu k ỳ tiế p theo led 1 sẽ sáng .
HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
23
4 ) Project 4 : Led sáng d ần từ led ừ led 1 đến led 10 và ngượ c lại thờ i gian c. delay biến hóa đượ c. 
Sơ đồ ơ đồ mạch : Trong project này trọn vẹn giống project 3 chỉ thêm một biến tr ở dùng để điều ch chỉnh ở dùng
thờ i gian delay cho chương trình
c. Hình 24 : Led sáng dần từ led 1 đến led 10 thời hạn delay đổi khác đượ c. 
Code chương trình. int ledPin = { / / t ạo chữ “ ữ “ ô ” B01110, B10001, B00000, B01110, B10001, B10001, HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
38
B01110, B00000 } ;
ữ “ ơ ” byte char2 = { / / t ạo chữ “ B01110, B10001, B00000, B01110, B10001, B10001, B01110, B00000 } ;
ữ “ ơ ” byte sad [ 8 ] = { t ạo chữ “ ơ ” B01110, B00001, B00010, B01110, B10001, HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
45
B10001, B01110, B00000 } ;
Sau khi đã tạo đượ c ký tự mong ước ta sử dụng câu lệnh : lcd.createchar ( num, data ) ;
Trong đó : num : là các chữ số tứ 0 đến 7. data : là các mãng chứa ký tự của tất cả chúng ta .
Câu lệnh này sẽ gán ký tự ta đã tạo vào một chữ số. lcd. createChar ( 0, lcd. createChar ( 0, happy ) ; lcd. createChar ( 1, lcd. createChar ( 1, sad ) ;
Để hiển thị một ký tự ra màn hình hiển thị ta dùng câu lệnh lcd.write ( data ). Hiển thị chữ “ ô ” ra màn hình hiển thị LCD. lcd.write ( byte ( 0 ) ) ;
Hiển thị chữ “ ơ ” ra màn hình hiển thị LCD lcd.write ( byte ( 1 ) ) ;
HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
46
8 ) Project 8 : Giao ti ếp vớ i máy tính. Trong phần này tôi sẽ trình diễn cách để giao tiế p giữa Arduino vớ i máy tính trải qua chuẩn giao tiế p nối tiế p không đồng nhất UART .
Điều khiển bật tắt bằng cách gửi lệnh từ máy tính. 
Sơ đồ mạch :
ở Dùng cáp USB k ết nối Arduino vớ i máy tính. Led n ối vớ i chân 13 trải qua điện tr ở 220 ohm. 
Code chương trình : int ledpin = 13 ; void setup ( ) { Serial. begin ( 9600 ) ; pinMode ( ledpin, OUTPUT ) ; pinMode ( ledpin, OUTPUT ) ; }
{
digitalWrite ( ledpin, HIGH ) ; digitalWrite ( ledpin, HIGH ) ; break ; } case ‘ 0 ’ : { digitalWrite ( ledpin, LOW digitalWrite ( ledpin, LOW ) ; ) ; break ; } } } HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
47

Giải thích chương trình : Serial monitor b ằng cách nhấ p Để hoàn toàn có thể tinh chỉnh và điều khiển đượ c led bật tắt tất cả chúng ta cần mở Serial vào biểu tượ ng ng
:

Hình 35: Serial Monitor. Trong chương trình ta cần chú ý tớ i các câu lệnh sau: Serial.begin(9600);

Câu lệnh này dùng để kiểm tra xem có tài liệu truyền tớ i hay không. Ngoài ra Serial. available ( ) còn tr ả về cho tất cả chúng ta số ký tự đã đượ c truyền tớ i Arduino HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
48
char setupled = Serial. read ( Serial. read ( ) ; ) ;
Khi tài liệu đượ c truyền tớ i Arduino thì tài liệu sẽ đượ c lưu vào bộ nhớ đệ ớ đệm. Chúng ta khai báo biến setupled vớ i ki ểu tài liệu char và dùng hàm Serial. read ( ) để truy suất tài liệu trong bộ nhớ đệ ớ đệm và lưu vào trong nó. Như vậy ký tự tiên phong trong chuỗi ký tự đượ c truyền tớ i sẽ đượ c gán vào setupled. Dùng hàm Switch-case để kiểm tra, nếu là “ 1 ” thì sáng led, nếu là “ 0 ” thì tắt led, các trườ ng ng hợ p còn lại thì không làm gì .
9 ) Project 9. Đo nhiệt độ môi trườ ng ng dùng LM35D hiển thị LCD và Serial Monitor. 
Sơ đồ ơ đồ mạch .
Hình 36 : giao tiế p vớ i LM35, LCD và Serial monitor. 
Code chương trình : # include LiquidCrystal LiquidCrystal lcd ( 12, 11, 5, 4, 3, 2 ) ; / / dinh nghia nghia chan cho LCD LCD int maxC = 0, minC = 100, maxF = 0, minF = 212 ;
HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
49
int scale = 1 ; int buttonPin = 8 ; / / chan ket noi voi phim nhan void setup ( ) { lcd.begin ( 16, 2 ) ; / / khai bao su dung lcd 16 × 2 analogReference ( INTER analogReference ( INTERNAL ) ; / / NAL ) ; / / khai bao dien ap tham chieu cho lm35 Serial. begin ( 9600 ) ; pinMode ( buttonPin, pinMode ( buttonPin, INPUT ) ; INPUT ) ; lcd.clear ( ) ; } void loop ( ) { lcd. setCursor ( 0,0 ) ; int sensor = analogRead ( 0 ) ; / / doc du lieu tu lm35 int buttonState = digitalRead ( buttonPin ) ; digitalRead ( buttonPin ) ; if ( buttonState = = 1 ) { scale = – scale ; lcd.clear ( ) ; } switch ( scale ) { case 1 : celsius ( sensor ) ; break ; case – 1 : fahrenheit ( sensor ) ; } fahrenheit ( sensor ) ; } delay ( 250 ) ; } void celsius ( int sensor ) { lcd. setCursor ( 0,0 ) ; HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
50
SV : NGUYỄ N TRUNG TÍN
51
Giải thích chương trình :
Tổng quan : chương trình sẽ kiểm ta mức điện áp ngõ ra của LM35 tương ứng v ớ i nhiệt độ của môi trườ ng ng hiển thị trên Lcd và Serial Monitor. Nhiệt độ của môi trườ ng ng đượ c tính bằng độ C và độ F, nếu nhấn phím thì sẽ đổi khác hiển thị là độ C hay độ F. Bắt đầu chương trình ta khai báo thư viện Lcd và định ngh ĩ a chân cũng như các biến cần dùng cho hàng loạt chương trình. # include LiquidCrystal LiquidCrystal lcd ( 12, 11, 5, 4, 3, 2 ) ; / / dinh dinh nghia chan cho LCD LCD int maxC = 0, minC = 100, maxF = 0, minF = 212 ; int scale = 1 ; int buttonPin = 8 ; / / chan ket noi voi phim nhan
Trong hàm setup ( ) tất cả chúng ta cần chăm sóc tớ i câu lệnh : analogReference ( INTERNAL ) ;
Khai báo điện áp tham chiếu cho bộ chuyển đổi ADC bên trong Arduino Uno là 1,1 V ( đây là giá tr ị điện áp tham chiếu nội mặc định của Arduino Uno ). ng tất cả chúng ta cần quan tâm những điểm sau : Để đo lường và thống kê đúng nhiệt độ môi trườ ng Bộ chuyển đổi ADC gồm 10 bit tức là 1024 mức. HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
52
Điện áp tham chiếu cho bộ chuyển đổi ADC là 1,1 V. ng. Đối vớ i LM35 thì điện áp ngõ ra tuyến tính vớ i nhiệt độ của môi trườ ng. Hệ số quy đổi điện áp sang nhiệt độ là 10 mV / 10C = 0,01 V / 10C. Xây dựng công thức tính nhiệt độ. Ta biết : 1,1 volt ( 1100 mV ) có 1024 mực màn biểu diễn, vậy 1 mức sẽ là 1,1 / 1024 ( volt ) ,
để quy đổi từ điện áp sang nhiệt độ thì ta chia tiế p cho 0,01 V. Từ đây ta thấy cứ 1 mức quy đổi của ADC tương ứng vớ i
1,1
0
1024.0,01
C = 0.10742188 0C .
Như vậy tất cả chúng ta chỉ cần đọc giá tr ị nguồn vào ở chân chân A0 ( giá tr ị nằm trong khoảng chừng 0 – 1023 ) và gán chúng cho biến integer sensor. int sensor = analogRead ( 0 ) ; analogRead ( 0 ) ;
Để tính ra nhiệt độ đúng chuẩn tất cả chúng ta nhân giá tr ị của sensor vớ i 0.10742188. Trong chương trình con celsius ( int sensor ) ta có câu lệnh : int temp = sensor * 0.1074188 ; 0.1074188 ;
Trong chương trình con fahrenheit ( int sensor ) ta có câu lệnh quy đổi từ độ C sang độ F là : float temp = ( ( sensor ( ( sensor * 0.1074188 ) 0.1074188 ) * 1.8 ) + 32 ; 1.8 ) + 32 ;
HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
53
10 ) Project 10 : Giao ti ếp Arduino vớ i Servo motor. 
ơ đồ mạch Sơ đồ
Hình 37 : Giao tiế p vớ i Servo motor 
Code chương trình. # include Servo servo1 ; void setup ( ) { servo1.attach ( 5 ) ; servo1.attach ( 5 ) ; } void loop ( ) { int angle = analogRead ( 0 ) ; / / Read the pot value angle = map ( angle, angle = map ( angle, 0, 1023, 0, 180 ) ;
HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
54
servo1.write ( angle ) ; servo1.write ( angle ) ; delay ( 15 ) ; } 
Giải thích chương trình : Khai báo thư viện cho Servo motor bằng câu lệnh. # include
Khai báo đối tượ ng ng có tên là servo1 Trong hàm setup ( ) ta định ngh ĩ a chân cho Servo : servo1.attach ( 5 ) servo1.attach ( 5 ) ;
Chân số 5 của Arduino sẽ nối vớ i chân input của Servo motor .
Đọc giá tr ị điện áp của biến tr ở ở và và gán nó cho biến integer angle : int angle = analogRead ( 0 ) ; analogRead ( 0 ) ;
Giá tr ị đọc đượ c từ biến tr ở ở s sẽ nằm trong khoảng chừng 0 đến 1023 và góc quay của Servo từ 00 đến 1800 ta sử dụng câu lệnh : angle = map ( angle, angle = map ( angle, 0, 1023, 0, 180 ) ;
ở sang sang góc quay tương ứng của Câu Lệnh này sẽ quy đổi từ giá tr ị của biến tr ở Servo. Để tinh chỉnh và điều khiển góc quay của Servo ta dùng câu l ệnh : servo1.write ( angle ) ; servo1.write ( angle ) ;
HỌC VIỆ N HÀNG KHÔNG
SV : NGUYỄ N TRUNG TÍN
55
Tài liệu tìm hiểu thêm.    
Beginning Arduino – Mike McRoberts Arduino cookbook – Michael Michael Margolis http://arduino.cc http://blogembarcado.blogspot.com

HỌC VIỆ N HÀNG KHÔNG

SV : NGUYỄ N TRUNG TÍN
56
— Bài cũ hơn —