CƠ SỞ LÝ THUYẾT - Tài Liệu Text - 123doc
Có thể bạn quan tâm
- Trang chủ >
- Kỹ Thuật - Công Nghệ >
- Điện - Điện tử >
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.63 MB, 57 trang )
Arduino được biết đến nhiều nhất là phần cứng của nó, nhưng phải có phầnmềm để lập trình phần cứng. Cả phần cứng và phần mềm gọi chung là Arduino.♦ Phần mềm Arduino:Phần mềm Arduino được gọi là sketches, được tạo ra trên máy tính có tích hợpmơi trường phát triển (IDE). IDE cho phép viết, chỉnh sửa code và chuyển đổi sao chophần cứng có thể hiểu. IDE dùng để biên dịch và nạp vào Arduino (quá trinh xử lý nàygọi là UPLOAD).♦ Phần cứng Arduino:Phần cứng Arduino là các board Arduino, nơi thực thi các chương trình lậptrình. Các board này có thể điều khiển hoặc đáp trả các tín hiệu điện, vì vậy các thànhphần được ghép trực tiếp vào nó nhằm tương tác với thế giới thực để cảm nhận vàtruyền thơng. Ví dụ các cảm biến bao gồm các thiết bị chuyển mạch, cảm biến siêuâm, gia tốc. Các thiết bị truyền động bao gồm đèn, motor, loa và các thiết bị hiển thị.Có rất nhiều ứng dụng sử dụng Arduino để điều khiển. Arduino có rất nhiềumodule, mỗi module được phát triển cho một ứng dụng.Về mặt chức năng, các bomạch Arduino được chia thành hai loại: loại bo mạch chính có chip Atmega và loại mởrộng thêm chức năng cho bo mạch chính. Các bo mạch chính về cơ bản là giống nhauvề chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, haykích thước có sự khác nhau. Một số bo mạch có trang bị thêm các tính năng kết nốinhư Ethernet và Bluetooth. Các bo mở rộng chủ yếu mở rộng thêm một số tính năngcho bo mạch chính ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ.1.1.2. Cấu trúc phần cứng♦ Cấu trúc chungArduino Uno là một bo mạch vi điều khiển dựa trên chip ATmega168 hoặcATmega 328. Cấu trúc chung bao gồm:- 14 chân vào ra bằng tín hiệu số, trong đó có 6 chân có thể sử dụng để điều chếđộ rộng xung.- Có 6 chân đầu vào tín hiệu tương tự cho phép chúng ta kết nối với các bộ cảmbiến bên ngoài để thu thập số liệu.-Sử dụng một dao động thạch anh tần số dao động 16MHz.-Có một cổng kết nối bằng chuẩn USB để chúng ta nạp chương trình vào bomạch và một chân cấp nguồn cho mạch, một nút reset.7- Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, nguồn cung cấpcho Arduino có thể là từ máy tính thơng qua cổng USB hoặc là từ bộ nguồnchuyên dụng được biến đổi từ xoay chiều sang một chiều hoặc là nguồn lấy từpin.Hình 1.1. Cấu trúc phần cứng của Arduino Uno Thông số kỹ thuật của Uno: Khối xử lý trung tâm là vi điều khiển Atmega328. Điện áp hoạt động 5V. Điện áp đầu vào khuyến nghị là 5-12V. Điện áp đầu vào giới hạn 6-20V. Dòng điện một chiều trên các chân vào ra là 40mA. Dòng điện một chiều cho chân 3.3V là 50mA. Clock Speed 16 MHz. Flash Memory 16 Kb (ATmega 168) hoặc 32 Kb (ATmega 328), SRAM 1 Kb(ATmega 168) hoặc 2 Kb (ATmega 328), EEPROM 512 bytes (ATmega 168)hoặc 1 Kb (AT mega 328).♦ Khối xử lý trung tâmTrong bo mạch Arduino IC đóng vai trò xử lý trung tâm là Atmega328 cấu trúcsơ đồ chân của nó như sau:8Hình 1.2. Sơ đồ chân trong ATmega 328 Chân VCC (chân số 7): Chân cung cấp điện áp dương nguồn 5V. Chân GND (chân số 8): Chân đất chung. Chân AREF (chân 21): Là chân tham chiếu để chuyển đổi tín hiệu tương tựsang số. Chân AVCC (chân 20): Chân cung cấp điện áp cho quá trình chuyển đổiADC. Cổng B (chân 14 - chân 19, chân 9, chân 10): Bao gồm có 8 chân I/O từ(PB0÷PB7). Cổng C (chân 23 – chân 28, chân 1): Bao gồm có 7 chân I/O từ (PC0÷PC6)trong đó chân PC6 (chân số 1) làm chân reset. Cổng D (chân 2 – chân 6, chân 11 – chân 13): Bao gồm có 8 chân I/O từchân (PD0÷PD7).9Hình 1.3.Sơ đờ khới cấu trúc bên trong ATmega 328● Khối xử lý trung tâm trong IC ATmega 328 như sau:Đây là kiến trúc chung trong lõi AVR nói chung. Chức năng chính của lõi CPUlà để đảm bảo thực hiện chương trình chính xác. CPU do đó phải có khả năng truy cậpnhanh, thực hiện các tính tốn, thiết bị ngoại vi điều khiển và xử lý ngắt. Để tối đa hóahiệu suất, AVR sử dụng một kiến trúc Harvard và đường bus riêng biệt cho chươngtrình và dữ liệu. Hướng truyền dữ liệu trong bộ nhớ chương trình thực hiện với một tốcđộ nhất định.10Hình 1.4. Sơ đờ cấu trúc CPU trong ATmega 328♦ Nguồn niArduino có thể được hỗ trợ thông qua kết nối USB hoặc với một nguồn cung cấpđiện bên ngoài. Các nguồn năng lượng được lựa chọn tự động. Hệ thống vi điều khiểncó thể hoạt động bằng một nguồn cung cấp bên ngồi từ 6V đến 20V. Nên cung cấpvới ít hơn 7V, tuy nhiên pin 5V có thể cung cấp ít hơn 5V và hệ thống vi điều khiển cóthể khơng ổn định. Nếu sử dụng nhiều hơn 12V điều chỉnh điện áp có thể quá nóng.Phạm vi khuyến nghị là 7V đến 12V. Chân Vin: Điện áp đầu vào Arduino khi chúng ta dùng nguồn điện bênngồi. Chúng ta có thể cung cấp nguồn thông qua chân này. Chân 5V: Cung cấp nguồn vi điều khiển và các bộ phận khác trên bo mạchvà cung cấp nguồn cho các thiết bị ngoại vi khi kết nối tới bo mạch. Chân 3V3: Cung cấp nguồn cho các thiết bị cảm biến. Chân GND : Chân nối đất..1.1.3. Cấu trúc phần mềm và lập trình Arduino♦ Cấu trúc phần mềm các hàm cơ bảnCấu trúc chương trình viết cho Arduino gồm hai phần đầu tiên là hàm khởi tạo setup()và vòng lặp loop().11Hình 1.5. Mơ hình cấu trúc của chương trình ArduinoHàm setup() được gọi khi bắt đầu một bản thiết kế. Trong hàm sẽ khai báo các biếnkhởi tạo, các chế độ của chân, bắt đầu sử dụng các thư viện. Hàm setup chỉ chạy mộtlần sau mỗi lần bật nguồn hoặc reset mạch Arduino.Ví dụ 1:int buttonPin = 3;void setup(){serial.begin(9600); // cấu hình cổng nối tiếp có tốc độ dữ liệu là9600 bpspinMode(buttonPin, INPUT); // đặt chân 3 là chân input}void loop(){//…}Vòng lặp loop() sử dụng để lặp và những vòng lặp liên tiếp, chương trình có thể thayđổi và đáp ứng. Sử dụng để điều khiển mạch Arduino.Ví dụ 2:int button = 3; // ham setup se khoi tao cong serial va nut pinvoid setup() {beginSerial(9600);pinMode(buttonPin, INPUT);}//vong lap loop kiem tra nut pin moi lan lap//va gui du lieu ra cong serial neu an nut12void loop(){if(digitalRead(buttonPin) == HIGH)serialWrite(‘H’);elseserialWrite(‘L’);delay(1000);}♦ Các hàm vào ra số Hàm pinMode(): Cấu hình một chân thành một chân vào hoặc một chân ra.Cú pháp: pinMode(pin, mode);Trong đó: pin là số của chân muốn đặt chế độ, mode là các chế độ INPUT,INPUT_PULLIP, OUTPUT. Giá trị trả về là none. Ví dụ 3:int ledPin = 13; //ket noi den Led voi chan so 13void setup(){pinMode(ledPin, OUTPUT);// dat chan so lam chan ra}void loop(){digitalWrite(ledPin, HIGH); // den led sangdelay(1000); // doi trong 1sdigitalWrite(ledPin, LOW); //den led tatdelay(1000); //doi trong 1s} serial.println (giá trị): In giá trị để Monitor Serial trên máy tính . pinMode (pin, chế độ): Cấu hình cho một pin kỹ thuật số để đọc (đầu vào)hoặc viết (đầu ra) một giá trị kỹ thuật số. digitalRead (pin): Đọc một giá trị kỹ thuật số (HIGH hoặc LOW) trên một bộpin cho đầu vào. digitalWrite (pin, giá trị): Ghi giá trị kỹ thuật số (HIGH hoặc LOW) với mộtbộ pin cho đầu ra.13● Ví dụ 4:int ledPin = 13;//ket noi den led voi chan so 13int inPin = 7; //ket noi chan so 7 voi nut nhanint val = 0;// bien doc cac gia tri cua nut nhanvoid setup(){pinMode(ledPin, OUTPUT);// dat chan so 13 lam chan xuatpinMode(inPin, INPUT);//dat chan so 7 lam chan nhap}void loop(){val = digitalRead(inPin); //doc du lieu tu chan so 7digitalWrite(ledPin, val); //den led se sang hoac tat theo nut nhan}1.2. Cơ sở lý thuyết về Module Wifi ESP82661.2.1. Giới thiệu về ESP8266♦ Khái niệm:Module ESP8266 là module wifi được đánh giá rất cao chocác ứng dụng liên quan đến Internet và Wifi cũng như các ứng dụng truyền nhận sửdụng thay thế cho các module RF khác với khoảng cách truyền lên tới 100 mét( Mơitrường khơng có vật cản). Trên 400m với anten và router thích hợp.ESP8266 cung cấp một giải pháp kết nối mạng Wi-Fi hồn chỉnh và khépkín, cho phép nó có thể lưu trữ các ứng dụng hoặc để giảm tải tất cả các chức năng kếtnối mạng Wi-Fi từ một bộ xử lý ứng dụng.Khi ESP8266 là máy chủ các ứng dụng hay khi nó chỉ là bộ vi xử lý ứngdụng có trong thiết bị, nó có thể khởi động trực tiếp từ một flash ngồi. Nó có tích hợpbộ nhớ cache để cải thiện hiệu suất của hệ thống trong các ứng dụng này, và để giảmthiểu các yêu cầu bộ nhớ.Luôn phiên, phục vụ như một bộ chuyển đổi Wi-Fi, truy cập internetkhông dây có thể được thêm vào bất kỳ thiết kế vi điều khiển nào dựa trên kết nối đơngiản qua giao diện UART hoặc giao diện cầu CPU AHB.Khả năng lưu trữ và xử lý mạnh mẽ cho phép nó được tích hợp với các bộcảm biến, vi điều khiển và các thiết bị ứng dụng cụ thể khác thông qua GPIOs với chi14phí tối thiểu và một PCB tối thiểu. Với mức độ tích hợp cao trên chip, trong đó baogồm các anten chuyển đổi balun, bộ chuyển đổi quản lý điện năng…Hình 1.6: Hình ảnh thực tế của Chip ESP82661.2.2. Cấu tạo của ESP8266Module ESP8266 có 10 chân dùng để cấp nguồn và thực hiện kết nối. Chức năngcủa các chân như sau:+ VCC: 3.3V lên đến 300Ma+ GND: Mass+ Tx: Chân Tx của giao thức UART, kết nối đến chân Rx của vi điều khiển.+ Rx: Chân Rx của giao thức UART, kết nối đến chân Tx của vi điều khiển.+ RST: chân reset, kéo xuống mass để reset.+ CH_PD: Kích hoạt chip, sử dụng cho Flash Boot và updating lại module+ GPIO0: kéo xuống thấp cho chế độ update.+ GPIO2: khơng sử dụng.15Hình 1.7. Hình ảnh sơ đờ chân kết nới ESP82661.2.3. Tính năng của ESP8266-Hỗ trợ chuẩn 802.11 b/g/n.-Wi-Fi 2.4 GHz, hỗ trợ WPA/WPA2.-Chuẩn điện áp hoạt động: 3.3V.-Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến115200-Tích hợp ngăn xếp giao thứcTCP / IP.-Tích hợp chuyển đổi TR, balun, LNA, bộ khuếch đại cơng suất và phù hợp vớimạng.-Tích hợp PLL, bộ quản lý, và các đơn vị quản lý điện năng.-Công suất đầu ra +19.5dBm trong chế độ 802.11b.-Tích hợp cảm biến nhiệt độ.-Hỗ trợ nhiều loại anten.-Wake up và truyền các gói dữ liệu trong
Từ khóa » Cấu Trúc Phần Cứng Arduino
-
Arduino Là Gì? Cấu Trúc Của Board Mạch Arduino Uno - Góc Học IT
-
#5: Giới Thiệu Chi Tiết Phần Cứng Arduino Uno | MT-Tech Community
-
[PDF] Giới Thiệu Phần Cứng Arduino Và Hướng Dẫn Lắp Ráp Xe
-
Học Arduino Bài 2 : Những điều Cơ Bản Về Arduino - MLAB
-
Tìm Hiểu Phần Cứng Board Mạch Arduino Uno R3 - TAPIT
-
Bài 4. Chi Tiết Về Các Chân, Cấu Trúc Của Board Arduino
-
Arduino Là Gì? Tổng Quan Về Bo Mạch Vi điều Khiển Arduino
-
Tài Liệu Tổng Quan Về Cấu Trúc Phần Cứng Arduino Uno R3 - 123doc
-
Arduino Là Gì? Cấu Tạo, ứng Dụng Và Một Số Mạch Thường Gặp
-
Arduino UNO R3 Là Gì? | Cộng đồng Arduino Việt Nam
-
Sơ đồ Cấu Tạo Mạch Kit Arduino Uno R3 Và Hướng Dẫn Lập Trình
-
Tìm Hiểu Phần Cứng Của Arduino Uno R3 - Phần1 - Dientublog
-
Hướng Dẫn Lập Trình Arduino Cơ Bản - Viblo