P1- Tài liệu lập trình Arduino bằng mBlock - Tự học arduino cơ bản

09/02/2020 | 12052 |
1 Đánh giá

Tài liệu lập trình Arduino bằng mBlock - Tự học arduino cho người mới
Tài liệu dạy lập trình bộ kit Arduino dùng trong khóa học Arduino cho người mới bắt đầu tự học Arduino

Tác giả: Nguyễn Tấn Phong – Trường THCS Đồng Nai, Cát Tiên, Lâm Đồng

Tham khảo thêm sản phẩm để tự học lập trình Arduino

1. Giới thiệu chung
1.1. Đối tượng hướng đến của tài liệu
Học sinh bậc tiểu học, trung học cơ sở và phụ huynh học sinh, người ít am hiểu về điện tử và lập trình trên phần mềm arduino (nền tảng C/C++). Trong chuyên đề này, tôi dùng ngôn ngữ lập trình mBlock v3.4.11 là ngôn ngữ lập trình kéo thả rất phù hợp cho học sinh tiểu học và trung học cơ sở.
1.2. Giới thiệu bo mạch Arduino UNO R3
a. Bộ kit Arduino UNO R3
Để học sinh tiểu học, trung học cơ sở có thể tự học hoặc phụ huynh tự nghiên cứu để dạy lại cho con mình, tôi chỉ trình bày các bài tập sử dụng bo mạch Arduino UNO R3 (hình dưới) được bán khá rộng rãi trên thị trường, bộ kit Arduino UNO R3 với các module mà tôi trình bày dưới đây có giá bán khoảng 700k vnđ, phụ huynh có thể đặt mua tại website https://dochoistem.com
Bộ kit Arduino UNO R3 cơ bản gồm các linh kiện sau:

 

1 Mini Breadboard SYB-170 21 Cảm biến khí gas MQ-135
2 Hộp nhựa đựng kit. 22 Còi Buzzer active KY-012
3 Dây bus đực-cái, cái - cái (20cm) - 40 sợi 23 Cảm biến mưa
4 Breadboard Board MB-102 24 Module cảm biến rung SW1801
5 Điện trở 200 Ohm, 1K, 10K 25 Module cảm biến từ KY-003
6 Led 5mm 26 Cảm biến âm thanh
7 Nút bấm 6* cái 27 LED 3 màu
8 Mạch 20 LED siêu sáng USB 28 Mạch thời gian DS3231
9 Máy bơm chìm + dây hơi 29 Cảm biến chuyển động HC-SR501
10 Động cơ DC 30 Điều khiển động cơ L298
11 Relay 5V High/Low Level Trigger 31 Cảm biến hồng ngoại dò line TCRT5000
12 4 LED 7 đoạn TM1637 32 Điều khiển hồng ngoại CR2025 + Module nhận hồng ngoại
13 LED ma trận 8x8 MAX 7219 33 Bàn phím 4*4
14 Màn hình text LCD1602 + IIC    
15 Cảm biến độ ẩm & nhiệt độ DHT11    
16 Động cơ RC Servo SG90    
17 Cảm biến siêu âm HC-SR04    
18 Cảm biến độ ẩm đất    
19 Cảm biến ánh sáng Quang trở    
20 Cảm biến lửa    


Bộ Kit Arduino - Bộ Kit Microbit - tự học lập trình IoT

bo kit arduino lap trinh arduino bo kit arduino tu hoc lap trinh arduino
bo kit arduino cho nguoi moi bo kit arduino khoa hoc lap trinh arduino


Các sản phẩm STEM có thể làm từ việc kết hợp nhiều bộ cảm biến, thiết bị với nhau

1 Đuổi LED 13 Mở cửa tự động
2 Đèn giao thông 14 Phát hiện động đất
3 Thùng rác thông minh 15 Cửa chống trộm
4 Tưới cây tự động 16 LED nhảy theo nhạc
5 Đèn ngủ tự động 17 Vỗ tay sáng đèn
6 Hệ thống chữa cháy 18 Đồng hồ LED
7 Trạm khí tượng 19 Đèn cảm ứng tự động
8 Mái che tự đông 20 Cửa trượt tự động
9 Đàn Piano 21 Điều khiển thiết bị bằng remote
10 Đồng hồ đo nhiệt độ - độ ẩm 22 Cửa tự động mật khẩu
11 Máy bơm tự ngắt 23 Máy tính Casio đơn giản
12 Morse 24 Smart Home Nhà Thông Minh


bo-mach-arduino-uno-r3b. Sơ đồ chân của Arduino UNO R3
Arduino 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ơ, Led, … 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 dễ sử dụng, có thể lập trình 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 (viết code bằng arduino.exe nền tảng C/C++; không viết code như mBlock, S4A v1.6, miniBloq V0.83,…). Và điều quan trọng hơn của Arduino chính là mức giá rất thấp hoàn toàn phù hợp cho học sinh và tính chất nguồn mở từ phần cứng tới phần mềm. Arduino UNO R3 sử dụng chip ATMEGA328, có 14 chân digital input/output (vào/ra), 6 chân analog input (chỉ vào), thạch anh dao động 16Mhz.

Chip ATMEGA328
Điện áp cấp nguồn 5V
Điện áp đầu vào (input) 7V-12V
Điện áp đầu vào (giới hạn) 6V-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 40mA
DC Current for 3.3V Pin 50mA
Flash Memory 32KB với 0.5KB sử dụng bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Xung nhịp 16MHz

Theo hình:
(1) Cỗng USB: 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 (tải/nạp) chương trình cho Arduino hoạt động, ngoài ra USB còn là nguồn cấp điện DC 5V cho Arduino.
(2) (3) Nguồn DC ngoài vào: 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 Arduino hoạt động với nguồn một chiều có mức điện áp từ 5V –20V. Chúng ta có thể cấp một điện áp lớn hơn tuy nhiên chân 5V sẽ có mức điện áp lớn hơn 5V, nếu sử dụng nguồn lớn hơn 12V thì sẽ có hiện tượng nóng và làm hỏng bo mạch. Khuyến cáo nên dùng nguồn ổn định là 5V đến dưới 12V, khả dụng nhất
là nguồn PIN 9V hoặc Adapter chuyển đổi 220V thành 9V.

(3) 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 là chân mass.
(4) (5) (6) là các chân Vào (Input) và Ra (Output). Cụ thể: Arduino Uno có 14 chân digital với chức năng input và output (từ chân số 0 đến chân 13 hoặc kí hiệu là D0 đến D13) và 6 chân analog với chức năng input (từ chân A0 đến chân A5)
- Cũng trên 14 chân digital, chúng ta còn một số chân có chức năng khác đó là:
+ Giao tiếp 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.
+ Điều khiển chế độ rộng xung 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 Led, ...
+ Giao tiếp chuẩn SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
- Trên 6 chân analog, chúng ta còn một số chân có chức năng khác đó là:
+ Giao tiếp chuẩn 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 (như I2C LCD1602, ....)
+ Về lý thuyết thì 6 chân analog chỉ nhận tín hiệu vào, nhưng thực tế với bo Arduino UNO R3 chúng ta có thể dùng 6 chân này như chân digital và đánh số như sau: A0 = 14, A1 = 15, A2 = 16, A3 = 17, A4 = 18, A5 = 19. Như vậy, thực tế ta có 20 chân digital trên bo Arduino UNO R3.
(7) Nút ấn Reset: dùng để reset Arduino.
c. Tín hiệu Digital và Analog là gì? PWM là gì?

Tín hiệu digital là tín hiệu số, chỉ bao gồm hai mức cao và thấp (biểu diễn trong máy tính là 0 và 1), tức là không liên tục. Trong điện tử và máy tính, điện thế cao đại diện cho mức 1, thấp cho mức 0, thông thường là 5vôn và 0vôn, nhưng trong bộ vi xử lý hiện nay để tiết kiệm điện, mức cao chỉ cỡ 1vôn, mức thấp là 0vôn.
Tín hiệu analog là tín hiệu tương tự và liên tục, có nghĩa là tín hiệu lúc sau cũng có dạng/bản chất tương tự như lúc trước đó, nhưng sẽ khác về cường độ tín hiệu lúc sau so với lúc trước. Trong thiết bị điện tín hiệu analog là dòng điện, trong cuộc sống analog có thể là tín hiệu âm thanh ta nghe, hình ảnh ta thấy, trong viễn
thông là sóng điện từ (đơn giản là ánh sáng không nhìn thấy).

PWM là điều chế độ rộng xung, (hiểu đơn giản là thay đổi được điện áp) nó cho phép sử dụng để điều khiển nguồn điện cung cấp cho các thiết bị điện, đặc biệt là điều khiển độ nhanh chậm của động cơ hay cao hơn nữa, nó còn được dùng để điều khiển sự ổn định tốc độ động cơ.
Trong lập trình arduino bằng mBlock thì tín hiệu digital mức cao là HIGH và mức thấp là LOW, được đọc vào hoặc xuất ra ở các chân từ 0 đến 13; tín hiệu analog có giá trị trong khoản từ 0 đến 1023 và chỉ được đọc vào ở các chân từ A0 đến A5; PWM được điều khiển ở các chân có dấu “~”.

1.3. Hướng dẫn cài đặt mblock và kết nối Arduino UNO R3
a. Hướng dẫn cài đặt mBlock phiên bản v3.4.11
- Tải bộ cài đặt tại địa chỉ: http://www.mblock.cc/software/mblock/mblock3/
- Sau khi tải về nhấp đôi chuột vào file: mBlock_win_V3.4.11.exe để tiến hành cài đặt.

Hình dưới là giao diện của phần mềm mBlock v3.4.11, tương tự như phần mềm lập trình kéo thả Scratch 2.0:

lap trinh mblock

Nhưng trong phạm vi bài này, chúng ta chỉ nghiên cứu cách lập trình điều khiển bo Arduino UNO R3. Do đó, chúng ta chuyển sang giao diện Arduino mode:
Để chuyển về Arduino mode thực hiện như sau: Edit => Arduino mode

Giao diện Arduino mode như hình dưới:

lap trinh mblock

Chú thích các khu vực đánh dấu trên hình như sau:

khoa hoc lap trinh arduino

b. Kết nối và cài đặt bo mạch Arduino UNO R3
*/Kết nối bo mạch Arduino UNO vào máy tính:

Dùng cáp USB kèm theo bộ kit kết nối như hình, khi thấy đèn trên bo mạch sáng là đã kết nối được với máy tính:

lap trinh ardino

*/ Xác định cỗng kết nối:
- Bước 1: Nhấn đồng thời tổ hợp phím Windows + R, xuất hiện hộp thoại RUN, nhập lệnh hdwwiz.cpl

- Bước 2: Cửa sổ Device Manager xuất hiện, kiểm tra ở Ports (COM & LPT), như hình là COM6.

tu hoc arduino

*/ Cài đặt driver bo mạch bằng phần mềm mBlock (chỉ cài một lần)
- Bước 1: Khởi động mBlock V3.4.11.
- Bước 2: Kích chuột trái vào menu Connect => Install Arduino Driver
- Bước 3: Hộp thoại Setup xuất hiện, kích chuột vào Install

*/ Kết nối bo mạch arduino với phần mềm mBlock
Chú ý: Mỗi lần kết nối bo mạch với máy tính đều phải chọn lại cỗng kết nối:
- Bước 1: Kích chuột trái vào menu Connect => Serial Port => COM6, như hình:

cai dat arduino

- Bước 2: Kích chuột trái vào menu Boards => Arduino Uno, như hình:

ket noi bo mach

Như vậy, đến đây là ta đã hoàn thành cài đặt và kết nối phần mềm mBlock v3.4.11 với bo mạch Arduino UNO R3, tiếp theo sẽ tiến hành lập trình điều khiển các module.

 

Xem phần 1: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản

Xem phần 2: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: LED & Buzzer

Xem phần 3: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: Màn hình LCD & I2C

Xem phần 4: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: LED 7 đoạn & IC 74HC595

Xem phần 5: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: 4 LED 7 đoạn

Xem phần 6: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: LED ma trận 8x8

Xem phần 7: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: động cơ Servo

Xem phần 8: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: động cơ Bước

Xem phần 9: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: mắt thu hồng ngoại

Xem phần 10: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: bàn phím & nút nhấn

Xem phần 11: Tài liệu lập trình Arduino bằng mBlock - Tự học Arduino cơ bản: các loại cảm biến

-----------------

Liên hệ Khóa học lập trình Arduino

Liên hệ Khóa học lập trình Micro:bit

Liên hệ Khóa học lập trình Robot Arduino

Liên hệ tư vấn sản phẩm & tư vấn cuộc thi robotic cho khối tiểu học - trung học 

Mr.Ân - 0908.110586
Mail: john@atwo.com.vn

 

500 VND - 500.000 VND

khoa hoc arduino

Khóa học lập trình Arduino

khoa hoc micro bit

Khóa học lập trình Micro:Bit

khoa hoc lap trinh scratch

 

Khóa học lập trình Scratch - Arduino

bo kit arduino

Bộ Kit Arduino

bo kit arduino

Bộ Kit Arduino

bo kit arduino

Bộ Kit Arduino

bo kit arduino

Bộ Kit Arduino

bo kit microbit

Bộ Kit Micro:Bit

bo kit micro bit

Bộ Kit Micro:Bit

 


Tin tức liên quan

Bình luận