intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình Thực hành Vi điều khiển (Nghề: Điện tử công nghiệp - Trình độ: Trung cấp) - Trường Cao đẳng nghề Cần Thơ

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:41

13
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giáo trình "Thực hành Vi điều khiển (Nghề: Điện tử công nghiệp - Trình độ: Trung cấp)" được biên soạn với mục tiêu giúp sinh viên ôn tập, tổng hợp các kiến thức, kỹ năng về Vi điều khiển đã được học qua thực tiễn tại doanh nghiệp; lập trình các ứng dụng dùng Vi điều khiển trong thực tế đạt các yêu cầu về kỹ thuật và công nghệ; kết nối mạch điện theo yêu cầu công nghệ của thiết bị tại doanh nghiệp;...

Chủ đề:
Lưu

Nội dung Text: Giáo trình Thực hành Vi điều khiển (Nghề: Điện tử công nghiệp - Trình độ: Trung cấp) - Trường Cao đẳng nghề Cần Thơ

  1. TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giảng trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. 1
  2. LỜI GIỚI THIỆU Thực hành Vi điều khiển là một trong những môn học chuyên môn nghề của nghề Điện tử công nghiệp được biên soạn dựa theo chương trình khung đã xây dựng và ban hành năm 2021 của trường Cao đẳng nghề Cần Thơ dành cho nghề Điện tử công nghiệp hệ Trung cấp. Chúng tôi xin chân thành cảm ơn Ban Giám Hiệu Trường Cao Đẳng Nghề Cần Thơ và các cá nhân, các đồng nghiệp đã góp nhiều công sức để nội dung giáo trình hoàn thành một cách tốt nhất. Mặc dù chúng tôi đã rất cố gắng trong biên soạn, nhưng chắc chắn tài liệu này cũng không tránh khỏi sai sót. Chúng tôi rất mong nhận được những ý kiến đóng góp từ các thầy cô giáo, đồng nghiệp và các bạn đọc giúp giáo trình được hoàn thiện hơn trong lần tái bản sau Nội dung giáo trình được biên soạn với lượng thời gian thực hành tại doanh nghiệp là 270 giờ gồm có: Chương 01 MH28-01: Lý thuyết liên quan Chương 02 MH28-02: Nội dung công việc thực hành Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng được mục tiêu đào tạo nhưng không tránh được những thiếu sót. Rất mong nhận được sự đóng góp ý kiến của các thầy, cô, để nhóm biên soạn sẽ điều chỉnh hoàn thiện hơn. Cần Thơ, ngày tháng năm 2021 Tham gia biên soạn 1. Chủ biên: Đỗ Hữu Hậu 2. Lê Hữu Nghĩa 2
  3. MỤC LỤC Trang TUYÊN BỐ BẢN QUYỀN .................................................................................. 1 LỜI GIỚI THIỆU .................................................................................................. 2 MỤC LỤC ............................................................................................................. 3 CHƯƠNG 1: LÝ THUYẾT LIÊN QUAN ........................................................... 6 1. Trình biên dịch CCS-C...................................................................................... 6 2. Các thành phần cơ bản của ngôn ngữ C ............................................................ 6 2.1. Các toán tử ..................................................................................................... 7 2.2. Các lệnh C cơ bản ........................................................................................ 10 2.3. Cấu Trúc của chương trình C đơn giản ........................................................ 12 2.4. Các thành phần khác của chương trình C .................................................... 13 2.5. Con trỏ dữ liệu.............................................................................................. 13 2.6. Khai báo mảng ............................................................................................. 13 3. Giới thiệu về Arduino ..................................................................................... 13 3.1. Các phiên bản Arduino................................................................................. 14 3.2. Arduino UNO R3 ......................................................................................... 14 3.3. Lập trình cho Arduino .................................................................................. 15 3.4. Bộ nhớ .......................................................................................................... 15 4. Giới thiệu về Arduino Mega 2560 .................................................................. 16 5. Module màn hình Led.................................................................................... 19 5.1. Định nghĩa về Module LED ...................................................................... 19 5.2. Module LED DIP ....................................................................................... 20 5.3.Module LED SMD ...................................................................................... 20 5.4. Màn hình quảng cáo ngoài trời ................................................................ 20 5.5. Màn hình cho nhà hàng, tiệc cưới ............................................................ 20 5.6. Màn hình sân khấu, sự kiện ...................................................................... 21 5.7. Màn hình cho hội trường, phòng họp ...................................................... 21 5.8. Màn hình cho quán karaoke, quán bar .................................................... 21 5.9. Lắp đặt màn hình LED ngoài trời .............................................................. 21 CHƯƠNG 2: NỘI DUNG CÔNG VIỆC THỰC HÀNH ................................... 23 1. Các tiêu chí thực hiện công việc ..................................................................... 23 2. Thí dụ về lắp đặt màn hình LED ..................................................................... 25 2.1. Chuẩn bị ....................................................................................................... 25 2.2. Tiến hành lắp đặt .......................................................................................... 25 2.3. Sau khi lắp đặt .............................................................................................. 38 3. Nội dung thực hành ......................................................................................... 39 TÀI LIỆU THAM KHẢO ................................................................................... 41 3
  4. GIÁO TRÌNH MÔN HỌC Tên môn học: THỰC HÀNH VI ĐIỀU KHIỂN Mã môn học: MH28 Vị trí, tính chất, ý nghĩa, vai trò của môn học: - Vị trí của môn học: Môn học được bố trí thực hiện ở cuối chương trình đào tạo sau khi học sinh đã học xong các mô đun Linh kiện điện tử, Vi điều khiển cơ bản; học sinh có thể học song song với các môn học, mô đun chuyên môn nghề như: Điều khiển thủy lực, Điều khiển điện khí nén, PLC cơ bản… - Tính chất của môn học: Là môn học chuyên môn nghề tự chọn trong chương trình đào tạo trung cấp Điện tử công nghiệp - Ý nghĩa, vai trò của môn học: Thực hành tại doanh nghiệp là một môn học quan trọng trong chương trình đào, thông qua việc thực hành tại doanh nghiệp theo chuyên đề sẽ giúp học sinh áp dụng kiến thức về Vi điều khiển đã học vào thực tế cũng như tiếp cận với thực tiễn về công nghệ mới của Vi điều khiển tại doanh nghiệp, cơ sở sản xuất. Mục tiêu môn học: - Kiến thức: Ôn tập, tổng hợp các kiến thức, kỹ năng về Vi điều khiển đã được học qua thực tiễn tại doanh nghiệp - Kỹ năng: + Lập trình các ứng dụng dùng Vi điều khiển trong thực tế đạt các yêu cầu về kỹ thuật và công nghệ. + Kết nối mạch điện theo yêu cầu công nghệ của thiết bị tại doanh nghiệp + Lắp đặt các bảng LED trong nhà và ngoài trời đúng yêu cầu về kỹ thuật và công nghệ. - Năng lực tự chủ và trách nhiệm: + Có sáng kiến, tìm tòi, khám phá trong quá trình học tập và công việc + Có khả năng tự định hướng, chọn lựa phương pháp tiếp cận thích nghi với các bài học + Có năng lực đánh giá kết quả học tập và nghiên cứu của mình + Tự học tập, tích lũy kiến thức, kinh nghiệm để nâng cao trình độ chuyên môn Nội dung chính của môn học: Thời gian (giờ) Thực hành, thí Số Tên chương mục Tổng Lý nghiệm, Kiểm TT số thuyết thảo tra luận, bài tập 1 Chương 1: Lý thuyết liên quan 12 12 1. Trình biên dịch CCS-C 2 2 2. Các thành phần cơ bản của ngôn ngữ C 2 2 2.1. Các toán tử 2.2. Các lệnh C cơ bản 2.3. Cấu Trúc của chương trình C đơn giản 2.4. Các thành phần khác của chương trình C 4
  5. 2.5. Con trỏ dữ liệu 2.6. Khai báo mảng 3. Giới thiệu về Arduino 2 2 3.1. Các phiên bản Arduino 3.2. Arduino UNO R3 3.3. Lập trình cho Arduino 3.4. Bộ nhớ 4. Giới thiệu về Arduino Mega 2560 2 2 5. Module màn hình Led 4 4 5.1. Định nghĩa về Module LED 5.2. Module LED DIP 5.3.Module LED SMD 5.4. Màn hình quảng cáo ngoài trời 5.5. Màn hình cho nhà hàng, tiệc cưới 5.6. Màn hình sân khấu, sự kiện 5.7. Màn hình cho hội trường, phòng họp 5.8. Màn hình cho quán karaoke, quán bar 5.9. Lắp đặt màn hình LED ngoài trời 2 Chương 2: Nội dung công việc thực 258 3 254 1 hành 1. Các tiêu chí thực hiện công việc 1 1 2. Thí dụ về lắp đặt màn hình LED 2 2 2.1. Chuẩn bị 2.2. Tiến hành lắp đặt 2.3. Sau khi lắp đặt 3. Nội dung thực hành 254 254 Kiểm tra 1 1 Cộng 270 15 254 1 5
  6. CHƯƠNG 1: LÝ THUYẾT LIÊN QUAN Mã chương: MH28-01 Giới thiệu: Trong kỹ thuật lập trình Vi điều khiển nói chung, ngôn ngữ lập trình được sử dụng thường chia làm 2 loại: Ngôn ngữ bậc thấp và Ngôn ngữ bậc cao. Ngôn ngữ bậc cao là các ngôn ngữ gần vơi ngôn ngữ con người hơn, do đó việc lập trình bằng các ngôn ngữ này trở nên dễ dàng và đơn giản hơn. Có thể kể đến một số ngôn ngữ lập trình bậc cao như C, Basic, Pascal… trong dó C là ngôn ngữ thông dụng hơn cả trong kỹ thuật vi điều khiển. Về bản chất, sử dụng các ngôn ngữ này thay cho ngôn ngữ bậc thấp là giảm tải cho lập trình viên trong việc nghiên cứu các tập lệnh và xây dựng các cấu trúc giải thuật. Mục tiêu: - Ôn tập những kiến thức cơ bản về vi điều khiển mà học sinh đã được học tại trường - Giới thiệu thêm về các loại vi điều khiển phổ biến tại doanh nghiệp và đồng thời cung cấp cho học sinh về đặc tính kỹ thuật của chúng. - Hệ thống được những kiến về vi điều khiển đã được học để áp dụng vào thực tiễn - Có khả năng định hướng, chọn lựa phương pháp tiếp cận thích nghi với các nội dung học tập. Nội dung chính: 1. Trình biên dịch CCS-C Trình biên dịch PIC-C dùng để biên dịch tập tin mã nguồn C cho họ vi điều khiển PIC với nhiều chủng loại khác nhau, để lập trình C chúng ta có thể sử dụng phần mềm biên dịch PIC-C, cách cài đặt, lập trình, biên dịch và sử dụng ta có thể tham khảo ở tài liệu thực hành vi điều khiển. Khi lập trình cho vi điều khiển PIC dùng PIC-C thì các thành phần cơ bản cũng giống như các loại vi điều khiển khác, sự khác biệt chủ yếu ở phần cứng của từng vi điều khiển. Các lệnh liên quan đến phần cứng được trình bày theo phần cứng đó, khi khảo sát port thì có các lệnh PIC-C liên quan đến port, khi khảo sát timer/counter thì có các lệnh PIC-C liên quan đến timer/counter. Khi dùng phần mềm PIC-C lập trình cho vi điều khiển PICPIC18F4550 thì phải khai báo thư viện . Trong file này đã định nghĩa tên các thành phần của vi điều khiển, nếu các tên trong file này không có thì ta có thể định nghĩa thêm, trong phần mềm PIC-C có rất nhiều thư viện hổ trợ cho các ứng dụng giúp ta viết chương trình gọn hơn. 2. Các thành phần cơ bản của ngôn ngữ C Trong chương trình thường khai báo biến để lưu dữ liệu và xử lý dữ liệu, tùy thuộc vào loại dữ liệu mà ta phải chọn loại dữ liệu cho phù hợp. Các biến của vi xử lý bao gồm bit, byte, word và long word tương ứng với dữ liệu 1 bit, 8bit, 16bit và 32bit. Các kiểu dữ liệu cơ bản tùy thuộc vào phần mềm sử dụng, vi điều khiển PIC có rất nhiều phần mềm biên dịch như PIC-C, MIKRO-C, MPLAB, trong phần này trình bày phần mềm PIC-C. Bảng 1.1: Các kiểu dữ liệu của phần mềm PIC-C TT Kiểu dữ liêu Số bit Giới hạn 1 Inti 1 0-1 2 signed char 8 -128-127 6
  7. 3 unsigned char 8 0-255 4 signed int hay signed int8 8 -128-127 5 unsigned int hay unsigned int8 8 0-255 6 signed int16 16 -32768-32767 7 unsigned int16 16 0-65535 8 signed long long 32 -2147483648 to 2147483647 9 unsigned long long 32 0 to 4294967295 32 10 float ±1.175494E-38 to ±3.402823E+38 Ví dụ: Khai báo các biến Intl TT; //khai báo biến trạng thái thuộc kiểu dữ liệu bit. Unsigned char dem; //khai báo biến đếm (dem) thuộc kiểu kí tự không dấu 8bit. Chú ý: phần mềm lập trình PIC-C không phân biệt chữ hoa hay chữ thường nhưng các phần mềm khác thì có phân biệt. 2.1. Các toán tử Các toán tử là thành phần quan trọng trong lập trình, để lập trình thì chúng ta cần phải hiểu rõ ràng chức năng của các loại toán tử. Bảng 1.2: Các toán tử phổ biến trong ngôn ngữ C TT Toán tử Chức năng Ví dụ 1 + Toán tử cộng x+=y tương đương với 2 += Toán tử cộng và gán. x=x+y x&=y tương đương với 3 &= Toán tử and và gán. x=x&y 4 @ Toán tử địa chỉ 5 & Toán tử and 6 A= Toán tử ex-or và gán. xA=y tương đương với x=xAy 7 A Toán tử ex-or 8 |= Toán tử or và gán. x|=y tương đương với x=x|y. Toán tử or nhiều đại lượng với nhau Ví dụ or nhiều bit trong 9 I thành 1. 1byte với nhau 10 -- Giảm 11 /= Toán tử chia và gán. x/=y tương đương với x=x/y 7
  8. 12 / Toán tử chia 13 == Toán tử bằng dùng để so sánh 14 > Toán tử lớn hơn 15 >= Toán tử lớn hơn hay bằng 16 ++ Tăng Toán tử truy xuất gián tiếp, đi trước 17 * con trỏ 18 != Toán tử không bằng x > Toán tử dịch phải 8
  9. 33 -> Toán tử con trỏ cấu trúc x - = y tương đương với x=x- 34 -= Toán tử trừ và gán y 35 - Toán tử trừ Xác định kích thước theo byte của 36 Sizeof toán tử a. Toán tử gán (=) Dùng để gán một giá trị nào đó cho một biến Ví dụ: A = 5; Gán biến A bằng 5 Ví dụ: A = 2+ (B = 5); Có chức năng gán biến b bằng 5 rồi cộng với 2 và gán cho biến A, kết quả B = 5 và A = 7. b. Toán tử số học (+, -, *, /, %) Có 5 toán tử để thực hiện các phép toán cộng, trừ, nhân, chia và chia lấy phần dư. Ví dụ: A = 24; B = A % 5; Gán A bằng 24, B gán số dư của A chia cho 5, kết quả B bằng 4 Tổng quát cho toán tử gán phức hợp: biến += giá_trị tương đương với biến = biến + giá_trị. Ví dụ: A+=5; tương đương với A = A +5; A /= 5; tương đương A = A / 5; B *= X + 1; tương đương B = B * (X+1); c. Toán tử tăng và giảm (++, --) Tổng quát cho toán tử gán phức hợp: biến += giá_trị tương đương với biến = biến + giá_trị. Ví dụ: A++;tương đương với A = A +1 hay A+=1; Ví dụ: B = 3; gán B bằng 3 A=++B; kết quả A bằng 4, B bằng 4 Ví dụ: B = 3; gán B bằng 3 A=B++; kết quả A bằng B và bằng 3, B tăng lên 1 bằng 4 Sự khác nhau là “++” đặt trước thì tính trước rồi mới gán, đặt sau thì gán trước rồi mới tính. d. Toán tử quan hệ (==, !=, >, < >=,
  10. NOT, SHL (dịch trái), SHR (dịch phải). Ví dụ: A=0x77; //gán A = 0111 0111B B=0XC9; //gán B = 1100 1001B X = A & B; // X bằng A and với B, kết quả X = 0100 0001B = 0X41 Y = A | B; // Y bằng A or với B, kết quả Y = 1111 llllB = 0XFF Z = A A B; // Z bằng A xor với B, kết quả Z = 1011 1110B = 0XBE W = ~A; // W bằng not A, kết quả W = 1000 1000B = 0X88 Ví dụ: A=0x01; //gán A = 0000 0001B A= (A
  11. Cú pháp: while (điều_kiện) { Lệnh 1; Lệnh 2; } Ví dụ: while (x > 0) {x = x - 1 ;} c. Lệnh lặp do while: Chức năng: làm các lệnh trong dấu ngoặc và thoát nếu điều kiện theo sau lệnh while không đúng. Cú pháp: do { Lệnh 1; Lệnh 2; } while (điều_kiện) Ví dụ 4-20: Do { x=x+10;} while (x < 100) Thực hiện lệnh x bằng x cộng với 10, làm cho đến khi x nhỏ hơn 100. d. Lệnh lặp for: Chức năng: làm các lệnh trong dấu ngoặc một số lần nhất định. Cú pháp: for (giá_trị_bắt_đầu; điều_kiện_kết_thúc; tăng_giá_trị) { Lệnh 1; Lệnh 2; } Ví dụ: For (int n = 0; n
  12. Case constant2: Lệnh b1; Lệnh b2; Break; Default: Lệnh c1; Lệnh c2; Break; } Ví dụ: switch (cmd) { Case 0: printf(“cmd 0”); Break; Case 1: printf( “cmd 1”); Break; Default: printf( “bad cmd ”); Break; 2.3. Cấu Trúc của chương trình C đơn giản /* my first C program*/ #Include #Fuses nowdt, put, hs, noprotect, nolvp Void main() { set_tris_b(0x00); //Portb la output Output_b(0x0f); //4 led tat 4 led sang While(1) {} } “/* my first C program*/” là chú thích cho chuơng trình nằm trong cặp dấu “/*.. . . */” hoặc nằm sau “//”. Lệnh “#include ” có chức năng báo cho trình biên dịch biết chuơng trình dùng các thành phần của vi điều khiển có trong file “PIC18F4550.H”. Tiếp theo là khai báo cấu hình của vi điều khiển. “VOID MAIN ()” cho biết bắt đầu chuơng trình chính và các lệnh tiếp theo của chuơng trình chính nằm trong cặp dấu {}. 12
  13. 2.4. Các thành phần khác của chương trình C Tất cả các chuơng trình viết bằng ngôn ngữ C bao gồm các chỉ dẫn, các khai báo biến, các định nghĩa biến, các biểu thức, các lệnh và hàm. a. Chỉ dẫn tiền xử lý Có 2 chỉ dẫn là #define và #include. Chỉ dẫn #define có chức năng thay thế 1 đoạn chuỗi bằng một chỉ định đặc biệt nào đó. Chỉ dẫn # include có chức năng chèn vào một đoạn lệnh từ 1 file khác vào trong chuơng trình. Ví dụ: #define RW PIN_B1#include Chỉ dẫn thứ nhất có chức năng định nghĩa biến RW là bit thứ 1 của portB. Chỉ dẫn thứ hai có chức năng khai báo chương trình thư viện của vi điều khiển PIC18F4550.h b. Khai báo Khai báo biến bao gồm tên và thuộc tính, khai báo hàm, khai báo hằng. Khai báo biến toàn cục nằm bên ngoài hàm, khai báo biến cục bộ thì nằm bên trong hàm. c. Định nghĩa giá trị cho biến Dùng để thiết lập giá trị cho 1 biến hoặc 1 hàm. d. Biểu thức Là sự kết hợp của toán tử và tác tố để cho ra 1 kết quả duy nhất. e. Hàm Một hàm bao gồm các khai báo biến, định nghĩa giá trị, các biểu thức và các lệnh để thực hiện 1 chức năng đặc biệt nào đó. 2.5. Con trỏ dữ liệu Con trỏ dữ liệu trong ngôn ngữ C chính là kiểu truy xuất gián tiếp dùng thanh ghi, địa chỉ của ô nhớ cần truy xuất lưu trong thanh ghi. Ví dụ 4-24: khai báo con trỏ, gán địa chỉ con trỏ và lưu dữ liệu: unsigned char *pointer0 ; //khai báo con trỏ pointer0 = mem_address; //gán địa chỉ bắt đầu của vùng nhớ cho con trỏ *pointer0 = 0xFF; //lưu giá trị 0xFF vào ô nhớ có địa chỉ lưu trong con trỏ. 2.6. Khai báo mảng Ví dụ: khai báo mảng: unsigned char ma7doan [] = {0XC0,0XF9,0xA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}; char chuoi_hien_thi = {“HELLO ! ”} ; 3. Giới thiệu về Arduino Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các dự án điện tử. Arduino bao gồm cả bảng mạch lập trình (thường được gọi là vi điều khiển) và một phần mềm ( IDE ) được sử dụng để lập trình viết và tải mã máy tính lên bo mạch. Nhờ sự đơn giản và dễ tiếp cận, Arduino đã được sử dụng trong hàng nghìn dự án và ứng dụng khác nhau. Phần mềm Arduino rất dễ sử dụng cho người mới bắt đầu, nhưng đủ linh hoạt cho người dùng nâng cao. Không giống như hầu hết các bo mạch lập trình trước đây, Arduino không cần phần cứng riêng để tải mã mới lên bo mạch, ta có thể chỉ cần sử dụng cáp USB. Ngoài ra, Arduino IDE sử dụng phiên bản đơn giản của C++, giúp việc học lập trình dễ dàng hơn. 13
  14. 3.1. Các phiên bản Arduino Tại thời điểm hiện tại, có rất nhiều các phiên bản Arduino, chúng được thiết kế để hướng tới phục vụ cho các mục đích khác nhau tùy theo người sử dụng. Có thể kể đến như Arduino Nano hướng tới sự nhỏ gọn, tiện dụng, và đơn giản, hay dòng Arduino Mega 2560 thường được sử dụng cho các dự án rất phức tạp cần nhiều chân I/O,... nhưng phổ biến và được sử dụng nhiều nhất là Arduino UNO R3 hướng tới sự cân bằng. 3.2. Arduino UNO R3 Khi ai nhắc tới mạch Arduino dùng để lập trình, cái đầu tiên mà người ta luôn nghĩ tới là dòng Arduino UNO. Hiện dòng mạch này đã phát triển tới thế hệ thứ 4 (R4). Tổng quan thông số của Arduino Uno R3 Vi xử lý: ATmega328P Điện áp hoạt động: 5 Volts Điện áp vào giới hạn: 7 đến 20 Volts Dòng tiêu thụ: khoảng 30mA Số chân Digital I/O: 14 (với 6 chân là PWM) UART: 1 I2C: 1 SPPI: 1 Số chân Analog: 6 Dòng tối đa trên mỗi chân I/O: 30 mA Dòng ra tối đa (5V): 500 mA Dòng ra tối đa (3.3V): 50 mA Bộ nhớ flash: 32 KB với 0.5KB dùng bởi bootloader SRAM: 2 KB EEPROM: 1 KB Clock Speed: 16 MHz Hình 1.1: Sơ đồ chân của Arduino Uno R3 Chân cấp nguồn 5V: cấp điện áp 5V đầu ra, dùng để cấp nguồn cho các linh kiện điện tử kết nối với Arduino 3.3V: chức năng tương tự như cấp nguồn 5v nhưng đây là cấp điện áp 3.3V đầu ra. 14
  15. Ground: hay còn gọi là chân GND, là cực âm của nguồn điện cấp cho Arduino UNO. Khi ta dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau. Vin (Voltage Input): tương tự như chân 5V, nhưng thêm chức năng cấp nguồn ngoài cho Arduino UNO thay vì cắm USB, ta nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND. Các cổng vào/ra (I/O) Arduino cung cấp nhiều các chân I/O ( hay còn gọi là Pin ) để ta giao tiếp hay gửi lệnh điều khiển các thiết bị, dưới đây là sẽ nói về các chân sử dụng nhiều nhất và phân chúng làm các loại như sau: Các chân Digital Phiên bản Arduino UNO R3 được sở hữu 14 chân digital từ 0 đến 13 dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp có thể điều khiển là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ngoài ra một số chân digital có chức năng đặc biệt là chân PWM. Chân PWM: là các chân có dấu '~' đằng trước, các chân này cho phép ta xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 đến 255) tương ứng với mức dao động điện áp của chân từ 0V đến 5V, khác với các chân không phải PWM, chỉ có thể chọn giá trị 0V hoặc 5V. Các chân Analog Arduino UNO có 6 chân analog (A0 đến A5) cung cấp độ phân giải tín hiệu 10bit (0 đến 1023) để đọc giá trị điện áp trong khoảng 0V đến 5V. Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác. Chân TXD và RXD Đây là các chân Serial dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp dữ liệu với các thiết bị cần sử dụng thông qua 2 chân này, ngoài ra có thể sử dụng 2 chân này để nạp code cho mạch mà không cần thông qua USB của mạch. 3.3. Lập trình cho Arduino Các mạch Arduino hay các mạch dựa trên nền tảng Arduino được lập trình bằng ngôn ngữ riêng. Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung và khi ta xem, ta thấy nó rất giống lập trình C đơn giản, do vậy việc tiếp cận sẽ không mấy khó khăn. Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, ta sử dụng một môi trường lập trình Arduino được gọi là Arduino IDE. 3.4. Bộ nhớ Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, ta hiếm khi nào cần quá 20KB bộ nhớ này đâu. 2KB cho SRAM (Static Random Access Memory): giá trị các biến khi khai báo khi lập trình sẽ lưu ở đây. Ta khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà ta phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất. 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi ta có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM. 15
  16. 4. Giới thiệu về 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. Ở Arduino Mega 1280 sử dụng: Chip ATmega1280. Flash memory 128KB. SRAM 8KB. EEPROM 4 KB.* Hình 1.2: Arduino Mega 1280 Arduino Mega 2560 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. Chip ATmega2560. Bộ nhớ flash memory 256 KB. SRAM 8KB EEPROM 4 KB. Giúp cho nhà phát triển khả năng viết những chương trình phức tạp hơn và điều khiển các thiết bị lớn hơn như máy in 3D, điều khiển robot. Hình 1.3: Arduino Mega 2560 16
  17. Ngoài ra có những phiên bản khác như Arduino Mega ADK, hay Arduino DUE với những tính năng cao cấp hơn. Chi tiết Arduino Mega 2560 Arduino Mega 2560 là một vi điều khiển hoạt động dựa trên chip ATmega2560: 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). 4 cổng Serial giao tiếp với phần cứng: Bảng 1.3: 4 cổng của Arduino Mega 2560 Cổng serial Chân Rx Chân Tx Cổng 0 0 1 Cổng 1 19 18 Cổng 2 17 16 Cổng 3 15 14 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. Kết hợp giữa Matlab và Arduino là một sự kết hợp thú vị. 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ư: Mạch điều khiển máy in 3D RAMPS 1.4 Arduino Shield Mega Proto: một board mạch mở rộng cho Arduino Mega 2560, Arduino Mega 1280. Hình 1.4: Mạch điều khiển máy in 3D RAMPS 1.4 17
  18. Hình 1.5: Arduino Shield Mega Proto Bảng 1.4: 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.3V pin 50 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 Hình 1.6: Các nhóm chân Arduino Mega 2560 Ứng dụng thực tế 18
  19. 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. Hình 1.7: Một số ứng dụng của Arduino Mega 2560 Một vài lưu ý khi sử dụng Arduino Mega Khi bắt đầu sử dụng Arduino Mega 2560, ta 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 đó ta đã sử dụng loại Arduino khác cổng vẫn còn nhận là board cũ nên khi build ta sẽ gặp lỗi. Khi sử dụng chân RX, TX cuả Arduino, nên nhớ rút 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. 5. Module màn hình Led Là một trong những thành phần quan trọng trong quá trình hình thành nên một sản phẩm màn hình Led hoàn chỉnh. Module led sở hữu nhiều chủng loại dành riêng cho các môi trường hoạt động khác nhau như ngoài trời và trong nhà. Để sở hữu một chiếc màn hình LED đạt chuẩn, người dùng cũng phải cân nhắc giữa việc lựa chọn các module Led phù hợp. 5.1. Định nghĩa về Module LED Module LED – hay còn được hiểu là tấm nền LED do được tập hợp nhiều bóng LED lại với nhau. Nó còn là một trong những đơn vị nhỏ cấu thành nên màn hình Led, giúp cho màn hình có thể ghép lại với nhau và tạo nên một kích thước theo yêu cầu. Mỗi một loại module Led sẽ đều có số lượng bóng LED nhất định được gắn trên bo mạch điện tử. Trong số đó sẽ bao gồm nhiều thành phần IC cộng với các điện trở các loại giúp cho quá trình hiển thị màu sắc và độ sáng của mỗi bóng Led trở nên hiệu quả, chất lượng hơn. 19
  20. Hình 1.8: Module LED Về cơ bản, module LED có khá nhiều các chủng loại khác nhau cả về tính năng và ứng dụng như phổ biến nhất vẫn là hai loại chính: DIP và SMD. 5.2. Module LED DIP Hay còn gọi là Led diode hai cực, Module LED DIP được dùng chủ yếu ở ngoài trời. Nhờ cấu tạo độ sáng cao, cùng với đó là tuổi thỏ bóng LED lâu dài, việc sử dụng bóng DIP ở môi trường ánh sáng khắt khe như ngoài trời sẽ khả quan hơn so với các loại module led khác. Hiện trên thị trường đang phổ biến một số dòng Module led DIP như: P6 DIP 32×32 bóng/module kích thước 192x192mm, P8 DIP 16×32 bóng/module kích thước 128x256mm,… 5.3.Module LED SMD Không khác biệt mấy so với Module LED DIP, SMD cũng sở hữu các bo mạch và số lượng LED nhất định. Dù vậy, về phần cấu tạo thì chủng loại này lại có sự khác biệt, SMD có thể sở hữu nhiều hơn hai điện cực, phụ thuộc lớn vào số lượng đi-ốt trên mỗi bóng. Ngoài ra các bóng LED SMD có kích cỡ thường nhỏ hơn so với LED DIP nên thường được sử dụng chủ yếu với môi trường trong nhà. Một số loại Module LED SMD được sử dụng phổ biến hiện nay như: P2 64×128 bóng/module kích thước 128×256mm, P3 64×64 bóng/module kích thước 192×192mm. 5.4. Màn hình quảng cáo ngoài trời Đối với những giải pháp trình chiếu ở ngoài trời, việc lựa chọn màn hình led sẽ là một quyết định đúng đắn và hiệu quả bởi màn hình Led rất dễ dàng trong việc thu hút tầm nhìn của người xem. Cùng với đó là khả năng phát ra ánh sáng cao, màu sắc ấn tượng. Để đạt được một chất lượng trình chiếu tuyệt vời nhất, loại module led được khuyên dùng sẽ là P5 hoặc P6. Nhờ việc sở hữu các khoảng cách điểm ảnh nhỏ, module Led P6 và P5 chắc chắn sẽ đem lại một chất lượng lượng hình ảnh tuyệt vời, sắc nét và sống động đến từng chi tiết. 5.5. Màn hình cho nhà hàng, tiệc cưới Nhà hàng, tiệc cưới thường là những nơi sang trọng, thu hút rất nhiều người qua lại trong một ngày. Chính vì vậy, việc sở hữu một chiếc màn hình Led ở đây sẽ là một giải pháp tuyệt vời, đem lại hiệu quả cao. Ngoài ra, màn hình Led được ứng dụng trong các buổi tiệc cưới không những gây sự chú ý, bắt mắc cho người xem mà còn khiến cho buổi tiệc được nâng cao tính thẩm mỹ, sang trọng và chuyên nghiệp. Một sự đầu tư xứng đáng cho một bữa tiệc quan trọng nhất của đời người. Chính vì vậy, loại module Led phù hợp để sử dụng với nhu cầu này sẽ là module P3 hoặc P4. Với khoảng cách nhìn tối thiểu là từ 3 đến 4m. Vừa đủ đối với tầm nhìn của người xem lại vừa nổi bật trong toàn bộ không gian hiển thị bởi chính màu sắc và độ sáng của nó. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2