You are on page 1of 27

2020

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 1


PHẦN A : TỔNG QUAN VỀ CÁC PHẦN MỀM SỬ DỤNG
Chương 1: Tổng quan về Arduino Uno.
Lập trình thì không khó học, chỉ khó ở giai đoạn thiết kế mạch điều khiển là khó khăn nhất đối
với những ai chưa biết về làm mạch thì càng khó hơn ( còn được gọi thiết kế truyền thống). Và phải
trải qua rất nhiều công đoạn như sau:

Tuy nhiên có một thứ làm cho mọi chuyện trở nên rất dễ dàng, có tên gọi là ―Arduino”. Và trải
qua các công đoạn ngắn gọn như sau:

Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng
như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của Arduino là môi trường phát
triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng
ngay cả với người ít am hiểu về điện tử và lập trình. Và điều làm nên hiện tượng Arduino chính là
mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm.
Arduino Uno là sử dụng chip Atmega328. Nó có 14 chân digital I/O, 6 chân đầu vào (input) analog,
thạch anh dao động 16Mhz.
Một số thông số kỹ thuật như sau :

Chip ATmega328
Điện áp cấp nguồn 5V

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 3


Điện áp đầu vào (input) (kiến 7-12V
nghị )

Điện áp đầu vào(giới hạn) 6-20V


Số chân Digital I/O 14 (có 6 chân điều chế độ rộng xung PWM)
Số chân Analog (Input ) 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32KB (ATmega328) với 0.5KB sử dụng
bootloader

SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Xung nhịp 16 MHz

1. Sơ đồ chân của Arduino.

Hình 1.1. Arduino Uno.

USB (1).
Arduino sử dụng cáp USB để giao tiếp với máy tính. Thông qua cáp USB chúng ta có thể Upload
chương trình cho Arduino hoạt động, ngoài ra USB còn là nguồn cho Arduino.
Nguồn ( 2 và 3 ).
Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngoài thông qua jack cắm
2.1mm ( cực dương ở giửa ) hoặc có thể sử dụng 2 chân Vin và GND để cấp nguồn cho Arduino.
Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 – 20 volt. Chúng ta có thể cấp một áp lớn hơn tuy
nhiên chân 5V sẽ có mực điện áp lớn hơn 5 volt. Và nếu sử dụng nguồn lớn hơn 12 volt thì sẽ có hiện
tượng nóng và làm hỏng bo mạch. Khuyết cáo các bạn nên dùng nguồn ổn định là 5 đến dưới 12
volt.

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 4


Chân 5V và chân 3.3V (Output voltage) : các chân này dùng để lấy nguồn ra từ nguồn mà chúng ta đã
cung cấp cho Arduino. Lưu ý : không được cấp nguồn vào các chân này vì sẽ làm hỏng Arduino.
GND: chân mass.
Chip Atmega328.
Chip Atmega328 Có 32K bộ nhớ flash trong đó 0.5k sử dụng cho bootloader. Ngoài ra còn có 2K
SRAM, 1K EEPROM.
Input và Output ( 4, 5 và 6).
Arduino Uno có 14 chân digital với chức năng input và output sử dụng các hàm pinMode(),
digitalWrite() và digitalRead() để điều khiển các chân này tôi sẽ đề cập chúng ở các phần sau.
Cũng trên 14 chân digital này chúng ta còn một số chân chức năng đó là:
Serial : chân 0 (Rx ), chân 1 ( Tx). Hai chân này dùng để truyền (Tx) và nhận (Rx) dữ liêu nối tiếp
TTL. Chúng ta có thể sử dụng nó để giao tiếp với cổng COM của một số thiết bị hoặc các linh kiện
có chuẩn giao tiếp nối tiếp.
PWM (pulse width modulation): các chân 3, 5, 6, 9, 10, 11 trên bo mạch có dấu “~” là các chân
PWM chúng ta có thể sử dụng nó để điều khiển tốc độ động cơ, độ sáng của đèn…
SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), các chân này hỗ trợ giao tiếp theo chuẩn SPI.
I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C. Các chân A4 (SDA) và A5 (SCL) cho phép chúng tao
giao tiếp giửa Arduino với các linh kiện có chuẩn giao tiếp là I2C.
Reset (7): dùng để reset Arduino.

2. Cài đặt chương trình Arduino IDE và Driver cho Arduino


➢ Cài đặt chương trình Arduino IDE
Các bạn truy cập vào trang web http://arduino.cc/en/Main/Software và tải về chương trình Arduino
IDE phù hợp với hệ điều hành của máy mình bao gồm Windown, Mac OS hay Linux. Đối với
Windown có bản cài đặt (.exe) và bản Zip, đối với Zip thì chỉ cần giải nén và chạy chương trình
không cần cài đặt.

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 5


Bạn hãy mở trang arduino.cc chọn mục Downloads trong menu Software như hình sau:

Hoặc bạn có thể mở trực tiếp từ link này https://www.arduino.cc/en/Main/Software. Sau đó kéo
xuống tìm Download the Arduino IDE để tải ứng dụng.

Bạn nên chọn “Windows installer, for Windows XP and up” vì trong gói này sẽ giúp bạn cài
driver cần thiết cho board Arduino ở cuối tiến trình cài đặt. Sau khi nhấn vào liên kết trên, bạn sẽ
được chuyển qua trang Donate:

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 6


Nhấn vào Just Download để tải ngay
Nếu được, bạn có thể ủng hộ họ hoặc nhấn vào Just Download để tải ngay. Sau khi tải xong sẽ có
được file cài như sau:

Số “1.8.10” trong hình trên là số phiên bản của Arduino IDE. Khi bạn tải về số này có thể khác nhé.
Tiến hành cài đặt

Bây giờ bạn double click vào file vừa tải để tiến hành cài đặt. Khi tiến trình cài vừa bắt đầu có thể
bạn sẽ thấy màn hình hiện lên thông báo:

User Account Control

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 7


Vì file “arduino-1.8.10-windows.exe” sẽ thực hiện cài đặt vào trong máy tính và có những thiết lập ở
mức hệ thống nên User Account Control muốn “xác minh” thao tác của chúng ta. Bạn hãy
nhấn Yes để tiếp tục. Tiến trình cài đặt diễn ra vô cùng dễ dàng. Bạn sẽ gặp các màn hình như sau:
• Arduino Setup: License Agreement.

Arduino Setup: License Agreement


Nhấn I Agree để qua bước kế tiếp.
• Arduino Setup: Installation Options

Arduino Setup: Installation Folder


Nếu bạn không cần thay đổi thư mục cài đặt thì nhấn Install để đi tiếp.
• Arduino Setup: Installing

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 8


Tiến trình cài đang diễn ra, ta hãy chờ ...Windows Security sẽ hỏi bạn có muốn cài driver không qua
các thông báo như sau:

Cài driver từ “Adafruit Industries”

Cài driver từ “Arduino srl”

Cài driver từ “Arduino LLC”


Với các thông báo như trên thì tất nhiên phải chọn cài hết. Bạn chọn như hình và nhấn Install để các
driver cần thiết được cài nha.

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 9


Sau khi cài driver thì việc cài Arduino IDE đã hoàn thành. Bạn hãy kiểm tra trên Desktop sẽ thấy
shortcut của Arduino như hình dưới đây:

Sau khi cài đặt xong thì giao diện chương trình như sau:

Hình 1.2: Arduino IDE

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 10


Cài đặt Driver
Sử dụng cáp USB kết nối Arduino với máy tính, lúc này bạn sẽ thấy đèn led power của bo sáng.
Máy tính sẽ nhận dạng thiết bị và bạn sẽ nhận được thông báo:
“Device driver software was not successfully installed”

Hình 1.3: Driver Software Installation.

Bây giờ bạn click vào Start Menu chọn Control Panel kế đến chúng ta chọn System and Security,
click System và sau đó chọn Device Manager.

Hình 1.4: Device Manager.

Chúng ta sẽ thấy cảnh báo màu vàng thiếu driver trên Arduino. Click chuột phải trên Arduino Uno
icon sau đó chọn “Update Driver Software”

Hình 1.5: Right click và chọn ”Update Driver

Software” Chọn “Browse my computer for driver software”.


ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 11
Hình 1.6: Click chọn “Browse my computer for driver software”
Chọn đường dẫn tới folder “driver” nơi mà phần mềm Arduino được lưu trữ.

Click “Next” Windown tự động cài đặt driver, qua trình cài đặt driver hoàn tất.
➢ Arduino IDE
Arduino IDE là nơi để soạn thảo code, kiểm tra lỗi và upload code cho arduino

Hình 1.7: Arduino IDE.

Arduino Toolbar: có một số button và chức năng của chúng như sau :

Hình 1.8: Arduino Toolbar.

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 12


Verify : kiểm tra code có lỗi hay không

Upload: nạp code đang soạn thảo vào Arduino

New, Open, Save : Tạo mới, mở và Save sketch

Serial Monitor : Đây là màn hình hiển thị dữ liệu từ Arduino gửi lên máy tính
Arduino IDE Menu:

Hình 1.9: IDE Menu


File menu:

Hình 1.10: File menu.


Trong file menu chúng ta quan tâm tới mục Examples đây là nơi chứa code mẫu ví dụ như: cách sử
dụng các chân digital, analog, sensor …

Hình 1.11: Click Examples.

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 13


Edit menu:

Hình 1.12: Edit menu

Sketch menu

Hình 1.13: Sketch menu


Trong Sketch menu :
Verify/ Compile : chức năng kiểm tra lỗi code.
Show Sketch Folder : hiển thị nơi code được lưu.
Add File : thêm vào một Tap code mới.
Import Library : thêm thư viện cho IDE
Tool memu:

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 14


Hình 1.14: Tool menu.

Trong Tool menu ta quan tâm các mục Board và Serial Port
Mục Board : các bạn cần phải lựa chọn bo mạch cho phù hợp với loại bo mà bạn sử dụng nếu là
Arduino Uno thì phải chọn như hình:

Hình 1.15: Chọn Board


Nếu các bạn sử dụng loại bo khác thì phải chọn đúng loại bo mà mình đang có nếu sai thì code
Upload vào chip sẽ bị lỗi.
Serial Port: đây là nơi lựa chọn cổng Com của Arduino. Khi chúng ta cài đặt driver thì máy tính sẽ
hiện thông báo tên cổng Com của Arduino là bao nhiêu, ta chỉ việc vào Serial Port chọn đúng cổng
Com để nạp code, nếu chọn sai thì không thể nạp code cho Arduino được.
.
Những board mạch Arduino trên thị trường

Hiện nay trên thị trường có hàng trăm board mạch Arduino khác nhau, chúng đa phần là các biến thể
PCB (các board mạch điện) của những board mạch chính đến từ nhà sản xuất Arduino. Những board mạch
này hoặc có thêm 1 số tính năng cải tiến nào đó hoặc đơn giản là được thiết kế lại nhằm giảm giá thành sản
phẩm để có thể tới tay người dùng nhiều hơn. Chúng ta hãy cùng điểm qua 1 số board mạch Arduino chính
như bên dưới :
1. Arduino Uno R3
Đây là board mạch được đánh giá là tốt nhất cho những người mới bắt đầu về điện tử và lập trình. Nó được
sử dụng nhiều nhất trong các board mạch thuộc họ Arduino. Hình ảnh và các chức năng của board
Arduino Uno R3 :

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 15


Hình 1.16: Arduino Uno R3

Arduino Nano

Hình 1.17: Arduino Nano

Arduino Nano là một board mạch sử dụng chip ATmega328 (loại Arduino Nano 3.x) hoặc dùng
ATmega168 (Arduino Nano 2.x), tuy nhiên có kích thước nhỏ gọn hơn để có thể tích hợp vào các hệ
thống, đi kèm với đó là 1 vài điểm khác khi so sánh với board Arduino Uno R3 :

Arduino Leonardo
ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 16
Arduino Leonardo sử dụng vi điều khiển ATmega32u4, một số điểm khác biệt chính so với board
Arduino Uno được liệt kê bên dưới:

Bên trong chip ATmega32u4 được tích hợp 1 chip usb to serial thay vì phải dùng 2 mcu trên board.

Có thể giả lập board Leonardo như chuột, bàn phím, joystick thay vì phải dùng 1 thiết bị serial khác.
Chúng ta sẽ tìm hiểu tính năng này ở phần USB-serial.

Giá thành rẻ hơn (€18.00 trên www.arduino.cc)

20 digital I/O (7 chân PWM).

12 chân Analog (các chân PWM có thể được dùng như Analog)

Arduino mega2560

Hình 1.18: Arduino Mega 2560


Arduino Mega 2560 là phiên bản nâng cấp của Arduino Mega hay còn gọi là Arduino Mega 1280.
Sự khác biệt lớn nhất với Arduino Mega 1280 chính là chip nhân.

Còn đây là Arduino Mega 2560 phiên bản hiện đang được sử dụng rộng rãi và ứng dụng nhiều hơn.
Với chip ATmega2560 có bộ nhớ flash memory 256 KB, 8KB cho bộ nhớ SRAM, 4 KB cho bộ nhớ
EEPROM. Giúp cho người dùng thêm khả năng viết những chương trình phức tạp và điều khiển các
thiết bị lớn hơn như máy in 3D, điều khiển robot.
Arduino Mega 2560 là một vi điều khiển hoạt động dựa trên chip ATmega2560. Bao gồm:

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 17


• 54 chân digital (trong đó có 15 chân có thể được sủ dụng như những chân PWM là từ chân số
2 → 13 và chân 44 45 46).
• 6 ngắt ngoài: chân 2 (interrupt 0), chân 3 (interrupt 1), chân 18 (interrupt 5), chân 19 (interrupt 4),
chân 20 (interrupt 3), and chân 21 (interrupt 2).
• 16 chân vào analog (từ A0 đến A15).

CỔNG SERIAL CHÂN RXCHÂN TX

Cổng 0 0 1

Cổng 1 19 18

Cổng 2 17 16

Cổng 3 15 14

• 4 cổng Serial giao tiếp với phần cứng:


• 1 thạch anh với tần số dao động 16 MHz.
• 1 cổng kết nối USB.
• 1 jack cắm điện.
• 1 đầu ICSP.
• 1 nút reset.

Đối với những ai quan tâm tới Matlab thì Arduino Mega 2560 cũng là một sự chọn lựa tuyệt vời. Vì
nó còn được tích hợp sẵn thư viện dành cho MatLab. Với viêc kết hợp giữa Matlab và Arduino là
một sự kết hợp thú vị. Ở đây chỉ giới thiệu cho các bạn ngoài ra các bạn có thể tìm hiểu thêm tại
Arduino Mega 2560 có thể sử dụng hầu hết các shiled dành cho các mạch Arduino Uno hay hoặc các
mạch trước đây như Duemilanove hay Diecimila với cách cài đặt và nối chân tương tự như Arduino
Uno.

Hiện nay có một số shiled hỗ trợ cho Arduino Mega rất nhiều như:

Hình 1.19:Mạch điều khiển máy in 3D RAMPS 1.4.


ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 18
Thông số kĩ thuật

Chip xử lý ATmega2560

Điện áp hoạt động 5V

Điện áp vào (đề nghị) 7V-15V

Điện áp vào (giới hạn) 6V-20V

Cường độ dòng điện trên mỗi 3.3V50pin


mA

Cường độ dòng điện trên mỗi I/O pin


20 mA

Flash Memory 256 KB

SRAM 8 KB

EEPROM 4 KB

Clock Speed 16 MHz

Ứng dụng thực tế:

Với sự tiện ích vô cùng lớn của Arduino Mega 2560, mạnh mẽ với bộ nhớ flash lớn, số chân
nhiều hơn và cùng số lượng shield hỗ trợ không hề nhỏ. Arduino Mega đã được đưa vào các dự
án lớn hơn như xử lý thông tin nhiều luồng, điều khiền nhiều động cơ, xe điều khiển từ xa,
LED cube hay còn mở rộng cánh cửa với thế giới IoT.

Một vài lưu ý khi sử dụng Arduino Mega

Khi bắt đầu sử dụng Arduino Mega 2560, bạn nên chú ý lựa chọn lại board. Bằng cách vào
Tool → Board → Arduino Mega 2560. Nhằm tránh trước đó bạn đã sử dụng loại Arduino khác
cổng vẫn còn nhận là board cũ nên khi build bạn sẽ gặp lỗi.

Khi sử dụng chân RX, TX cuả Arduino, các bạn nên nhớ tiêu thụ dây cắm tại 2 chân này ra rồi
hãy bắt đầu upload. Sau đó hãy cắm lại bình thường và sử dụng để tránh gặp phải lỗi.

Không được phép cắm trực tiếp chân GND vào chân nguồn 5V, có thể dẫn tới hỏng mạch.

3. Lập trình ESP8266 bằng Arduino IDE


Giới thiệu

Để bắt đầu với những dự án Wifi với Arduino các bạn cần ESP8266 với giá thành rẻ, và dễ
dàng sử dụng. Đặc biệt, ESP8266 có thể được lập trình bằng Arduino IDE. Trước khi bắt đầu

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 19


những chuỗi dự án hay ho với ESP8266, ở bài viết này, mình sẽ chia sẻ cách cài đặt Arduino
IDE để nạp code cho ESP8266

Chuẩn bị

1 x ESP8266 v1

1 x USB TTL (ví dụ PL2303 hoăc CP210x)

1 x Arduino IDE bản mới nhất nhé

Tiến hành

Sau khi down bản mới nhất của Arduino IDE, các bạn tiến hành cài đặt như bình thường và mở
chương trình

Hình 1.20: Giao diện Arduino IDE.

Để tiến hành cài đặt thư viện và chức năng nạp code cho IDE các bạn làm như sau:

Vào File→ Preferences, vào textbox Additional Board Manager URLs thêm đường link sau
vào http://arduino.esp8266.com/stable/package_esp8266com_index.json

Click OK để chấp nhận.

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 20


Tiếp theo vào Tool→Board→Boards Manager

đợi một lát để chương trình tìm kiếm. Ta kéo xuống và click vào ESP8266 by ESP8266
Community, click vào Install. Chờ phần mềm tự động download và cài đặt.

Chọn Board để lập trình cho ESP8266:

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 21


Kết nối mudule USB-to-UART vào máy tính. Vào Tool→Board→Generic ESP8266 Module,
chọn cổng COM tương ứng với module USB-to-UART tương ứng.

Chọn chế độ nạp Arduino as ISP. Vậy là ta đã có môi trường lập trình cho esp8266 rất thân thiện.

Sau khi kết nối UART vs ESP8266. các bạn có thể test code ESP8266 ở đây:

int pin = 2;
void setup() {
pinMode(pin, OUTPUT);
}
void loop() {
digitalWrite(pin, HIGH); //bật led
delay(1000); //dừng 1s
digitalWrite(pin, LOW); //tắt led
delay(1000); //dừng 1s
}

ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/ 22


11. TrafficLights(Đèn giao thông)

Introduction
Trong dự án này, bạn sẽ xây dựng một hệ thống đèn giao thông:
• Có 3 đèn LED với các màu khác nhau (xanh lá cây, vàng và đỏ) để mô phỏng đèn giao thông cho xe
ô tô
• Có 2 đèn LED với các màu khác nhau (xanh lá cây và đỏ) để mô phỏng đèn giao thông cho người đi
bộ
• Có một nút bấm để bắt chước những cái trong đèn giao thông dành cho người đi bộ

Parts Required
Grab all the needed components for this project.

1x Breadboard
Arduino UNO – read Best Arduino Starter Kits
3x 5mm LED (1x red, 1x yellow, 1x green)
ARDUINO IOT VIETNAM -https://www.facebook.com/groups/486295328966960/ 91
2x 3mm LED (1x red, 1x green)
5x 220Ohm Resistor
1x 10kOhm Resistor
1x pushbutton
Jumper Wires
Sử dụng đèn LED có kích cỡ khác nhau nhưng nếu bạn không có đèn LED có kích cỡ khác nhau
thì không sao. Dự án vẫn hoạt động.
Schematics

Code
Bạn không cần thư viện cho mã này. Mã rất đơn giản. Dưới đây, một số lời khuyên để hiểu rõ hơn về
những gì đang diễn ra.
• Đèn xe luôn sáng màu xanh lá cây, và vì vậy đèn dành cho người đi bộ luôn có màu đỏ trừ khi có ai
đó nhấn nút.
• Khi ai đó nhấn nút ở đây, điều gì xảy ra:
• Đèn xe chuyển sang màu vàng và sau đó chuyển sang màu đỏ
• Đèn dành cho người đi bộ chuyển sang màu xanh lá cây
Đèn ở trạng thái này trong một thời gian (trong mã lần này là biến đổi thời gian)
• Đèn xanh của người đi bộ nhấp nháy và chuyển sang màu đỏ
• Đèn xe chuyển từ đỏ sang xanh
Tất cả những hành động này sẽ nằm trong hàm ChangeLights (). Mỗi khi bạn muốn thay đổi đèn, bạn
chỉ cần gọi hàm changeLights ().
Sao chép mã sau vào Arduino IDE của bạn và tải nó lên bảng Arduino của bạn. Hãy chắc chắn rằng
bạn đã chọn đúng bảng và cổng COM.

ARDUINO IOT VIETNAM -https://www.facebook.com/groups/486295328966960/ 92


Code:

int redCar = 13; int yellowCar = 12; int greenCar = 11; int greenPed = 2; int redPed = 3;
int button = 7;
int crossTime = 2000; unsigned long changeTime;

void setup() {
// initialize timer
changeTime = millis();
// here we are initializing our pins as outputs
pinMode(redCar, OUTPUT);
pinMode(yellowCar, OUTPUT);
pinMode(greenCar, OUTPUT);
pinMode(redPed, OUTPUT);
pinMode(greenPed, OUTPUT);
pinMode(button, INPUT);
//turn on the green light
digitalWrite(greenCar, HIGH);
digitalWrite(redPed, HIGH);
digitalWrite(redCar, LOW);
digitalWrite(yellowCar, LOW);
digitalWrite(greenPed, LOW);
Serial.begin(9600);
}
void loop() {
// this variable will tell us if the button is pressed
int state = digitalRead(button);
Serial.println(state);
// if the button is pressed and if it has passed 5 seconds since last button press
if (state == HIGH && (millis() - changeTime) > 5000) {
//call the function to change the lights
changeLights();
}
}
void changeLights() {
digitalWrite(greenCar, LOW); // the green LED will turn off
digitalWrite(yellowCar, HIGH); // the yellow LED will turn on for 2 second
delay(2000);
digitalWrite(yellowCar, LOW); // the yellow LED will turn off
digitalWrite(redCar, HIGH); // the red LED will turn on for 5 seconds

digitalWrite(redPed, LOW);
ARDUINO IOT VIETNAM -https://www.facebook.com/groups/486295328966960/ 93
digitalWrite(greenPed, HIGH);
delay(crossTime);
// flash the ped green
for (int x=0; x<10; x++) {
digitalWrite(greenPed, LOW);
delay(100);
digitalWrite(greenPed, HIGH);
delay(100);
}
digitalWrite(greenPed, LOW);
digitalWrite(redCar, LOW);
digitalWrite(redPed, HIGH);
digitalWrite(greenCar, HIGH);
changeTime = millis();
}

Demonstration
Khi bạn nhấn nút, đèn cho xe ô tô chuyển từ màu xanh sang màu đỏ và đèn dành cho người đi bộ
chuyển từ màu đỏ sang màu xanh lá cây.

ARDUINO IOT VIETNAM -https://www.facebook.com/groups/486295328966960/ 94


Sau khi crosstime, đèn led xanh của người đi bộ nhấp nháy và chuyển sang màu đỏ. Ánh sáng cho
những chiếc xe thay đổi từ màu đỏ sang màu xanh lá cây.

Kết thúc
Nếu bạn bắt đầu với Arduino, một bài tập tốt là thay đổi giá trị của một số biến như crossTime và
changeTime và xem điều gì sẽ xảy ra.
Nếu bạn muốn một cái gì đó khó khăn hơn một chút, hãy thử bắt chước những gì xảy ra trong một ngã
ba, với một vài đèn chiếu sáng cho một vài chiếc xe hơi và người đi bộ.

12. Điều khiển led đơn qua giao tiếp serial giữa Arduino và PC .
Thư viện Serial được dùng trong việc giao tiếp giữa các board mạch với nhau (hoặc board mạch với
máy tính hoặc với các thiết bị khác). Tất cả các mạch Arduino đều có ít nhất 1 cổng Serial (hay còn
được gọi là UART hoặc USART). Giao tiếp Serial được thực hiện qua 2 cổng digital 0 (RX) và 1 (TX)
hoặc qua cổng USB tới máy tính. Vì vậy, nếu bạn đang sử dụng các hàm của thư viện Serial này, bạn
không thể sử dụng các chân digital 0 và digital 1 để làm việc khác được!

Bạn có thể sử dụng bảng Serial monitor có sẵn trong Arduino IDE để giao tiếp với Arduino qua giao
thức Serial. Kích vào biểu tượng Serial Monitor (hình kính lúp bên góc phải trên cùng ) hoặc nhấn tổ
hợp phím Ctrl+Shift+M để mở bảng Serial Monitor, sau đó bạn kích chuột vào bảng chọn như hình
dưới để chọn baudrate giống với baudrate được dùng trong quá trình lập trình của bạn. Mặc định là
9600.

ARDUINO IOT VIETNAM -https://www.facebook.com/groups/486295328966960/ 95


Tài liệu biên soạn từ các nguồn tài liệu trong nước và nước ngoài. Một số lập
trình trong các project tự viết và đã cho hoạt động tốt. Tài liệu tự biên soạn
để học tập. Mong muốn có sự góp ý để hoàn thiện hơn.

Tài liệu này chỉ chia sẻ trong nhóm

ARDUINO IOT VIETNAM


https://www.facebook.com/groups/486295328966960/

ARDUINO IOT VIETNAM -https://www.facebook.com/groups/486295328966960/ 103

You might also like