P1- Tài liệu lập trình Arduino bằng mBlock - Tự học arduino cơ bản
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
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
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 |
b. 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:
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:
Chú thích các khu vực đánh dấu trên hình như sau:
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:
*/ 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.
*/ 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:
- Bước 2: Kích chuột trái vào menu Boards => Arduino Uno, như hình:
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
500 VND - 500.000 VND
|
||
Xem thêm