Top 10 # Xem Nhiều Nhất Huong Dan Dung Gia Lap Ps2 Mới Nhất 6/2023 # Top Like | Honggaitour.com

Huong Dan Su Dung Arduino

HƯỚ NG BẢN ARDUINO NG DẪ DẪN SỬ  SỬ  DỤNG  DỤNG CƠ BẢN

TP.HCM, Tháng 5, Năm 2014.

MỤC LỤC: Lờ i nói đầu. đầu. Chương 1: Tổng Tổng quan về về Arduino Uno. ……………………… …………………………………….. ……………………………. …………………………. ………….. 1 1. Tổng quan. ……………………………. …………………………………………… ……………………………. ……………………………. …………………………….. ………………………. ………. 1 …………………………………………… ……………………………. ……………………………. …………………. ….. 2 2. Sơ đồ chân đồ chân củ của Arduino. ……………………………. Chương 2: Cài đặt chương trình Arduino IDE và Driver cho Arduino ………………….. ………………….. 4 …………………………………………… ……………………………. …………………. ….. 4 1. Cài đặt chương trình Arduino IDE ……………………………. …………………………………………. ……………………………. ……………………………. …………………………….. ……………………. ……. 5 2. Cài đặt đặt Driver ………………………….. …………………………………………… ……………………………. ……………………………. …………………………….. ……………………. ……. 7 3. Arduino IDE ……………………………. Chương 3: Hướ ng ng dẫn dẫn cài đặt đặt bả bản mô phỏ phỏng Arduino trên Proteus…………………….. ……………………. 11 Chương 4: Giao tiếp tiế p Arduino vớ  vớ i mộ một số số linh kiện kiện điện điện tử  tử . …………………………… ………………………………….. ……..13 …………………………………………. ……………………………. ……………………………. ……………….. … 13 1) Project 1: Led nhấ nhấp nháy. ………………………….. 2) Project 2 : Đèn sáng khi nhấn nhấ n phím. ………………………….. …………………………………………. ……………………………. ……………….. … 18 …………………………… 21 3) Project 3 : Led sáng dầ d ần từ  từ led led 1 đến led 10 và ngượ c lạ lại. ……………………………. 4) Project 4 : Led sáng dầ d ần từ  từ led led 1 đến led 10 và ngượ c lạ lại thờ  thờ i gian delay thay đổi đượ c. ………………………………………….. ……………………………. ……………………………. ……………………………. ……………………………. ……………….. … 24 c. …………………………… ……………………………………….. ………….. 27 5) Project 5: Điều Điều khiể khiển tốc tốc độ động cơ bằng bằng PWM. …………………………… Điề u khiển bằng L293D. ……………………………. …………………………………………… …………………. ….. 31 6) Project 6 : Điều khiển động cơ bằng …………………………………………… …………………. ….. 34 7) Project 7: Giao tiế ti ếp Arduino vớ  vớ i LCD 16×2. ……………………………. …………………………………………… …………………………….. ………………….. ….. 47 8) Project 8: Giao tiế ti ếp vớ  vớ i máy tính. ……………………………. 9) Project 9. Đo nhiệt độ môi trườ ng ng dùng LM35D hiể hiển thị thị LCD và Serial …………………………………………… ……………………………. ……………………………. ……………………………. ……………………………. ……………….. … 49 Monitor. ……………………………. ……………………………………….. …………..54 10) Project 10: Giao tiế ti ếp Arduino vớ  vớ i Servo motor. …………………………… Tài liệ liệu tham khả khảo. …………………………… ………………………………………….. ……………………………. ……………………………. …………………………….. ………………….. ….. 56

Lờ i Nói Đầ Đầu. u. Arduino đã và đang đượ c sử dụng r ất r ộng rãi trên thế giớ i,i, và ngày càng chứng tỏ

đượ c sức mạnh của chúng thông qua vô số ứng dụng độc đáo của ngườ i dùng trong cộng đồng nguồn mở . Arduino thực sự đã gây sóng gió trên  thị trường ngườ i dùng trên toàn thế giới trong vài năm gần đây , số lượng ngườ i dùng cực lớn và đa dạng với trình độ tr ải r ộng từ bậc phổ thông lên đến đạ i học đã làm cho ngay cả  những ngườ i tạo ra chúng phải ngạc nhiên về mức độ phổ biến.Tuy nhiên tại Việt Nam Arduino vẫn còn chưa đượ c biết

“HƯỚ NG NG DẪ DẪN SỬ  SỬ  DỤNG  DỤNG CƠ BẢN BẢN ARDUINO”. ARDUINO”. Trong tài liệu này cung cấ p cho bạn ng kiến thức cơ  b  bản nhất về Arduino cũng như các ứng dụng thực tế của nó. đọc một lượ ng Tài liệu gồm có các nội dung sau:

Chương 1: Tổ ng ng quan về  Arduino  Arduino Uno. Chương 2: Chương 2: Cài đặt chương trình Arduino IDE và Driver cho Arduino. Chương 3: Hướ ng ẫn cài đặt bản mô phỏng Arduino trên Proteus. ng d ẫn Chương 4: Giao tiế  p Arduino vớ i một số  linh ử.   linh kiện điện t ử  Khi biên soạn, tác giả đã tham khảo một số tài liệu nướ c ngoài để tài liệu vừa đảm  bảo về mặc nội dung vừa có thể tiế p cận đượ c vớ i bạn đọc. Khi viết tác giả đã có gắng để tài liệu đượ c hoàn chỉnh nhất song chắc chắn không tránh khỏi sai sót, vì v ậy r ất mong nhận đượ c sự góp ý của bạn đọc. Mọi ý kiến đóng góp xin liên hệ: [email protected]

Tác giả giả SV: NGUYỄ N TRUNG TÍN

Chương 1: Tổng quan về về Arduino Uno. 1. Tổng quan. 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 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 ng Arduino chính là mức giá r ất thấ p và tính chất nguồn mở  t 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

Đ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 HỌC VIỆ N HÀNG KHÔNG

16 MHz SV: NGUYỄ N TRUNG TÍN

1

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

 Hình 1: Arduino Arduino Uno.

a) 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.  b)  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  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ệ   20 volt. Chúng ta có thể c ấ p ở  điện áp từ 5  –  20 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 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.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

2

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  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. c) Chip Atmega328. Chip Atmega328 Có 32K bộ nhớ  flash  flash trong đó 0.5k sử dụng cho bootloader. Ngoài ra còn có 2K SRAM, 1K EEPROM. d) 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() 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ác

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  giao tiế p theo chuẩn SPI. I2C: Arduino hỗ tr ợ  ợ giao  giao tiế p theo chuẩn I2C. Các chân A4 (SDA) và A5 (SCL) cho  phép chúng tao giao giao tiế p giửa Arduino vớ i các linh kiện có chuẩn giao tiế p là I2C. e) Reset (7): dùng để reset Arduino. HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

3

Chương 2: Cài đặt chương trình Arduino IDE và v à Driver cho Arduino 1. Cài đặt chương trình Arduino IDE Các bạn truy cậ p vào trang web 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. Sau khi cài đặt xong thì giao diện chương trình như sau:

Hình 2: Arduino IDE

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

4

2. Cài đặt đặ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 4: Device Manager.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

5

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

6

3. Arduino IDE Arduino IDE là nơi để soạn thảo code, kiểm tra lỗi và upload code cho arduino

Hình 7: Arduino IDE. a) Arduino Toolbar: có một số button và chức năng của chúng như sau : Hình 8: Arduino Toolbar. 

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,i, mở  và  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

 b) Arduino IDE Menu: Hình 9: IDE Menu HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

7

File menu:

Hình 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 …

SV: NGUYỄ N TRUNG TÍN

8

Edit menu:

Hình 11: Edit menu 

Sketch menu

Hình 12: 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.i.

Import Library : thêm thư việ n cho IDE

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

9

Tool memu:

Hình 13: 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 14: 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. c. HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

10

Chương 3: 3: Hướ ng ng dẫn dẫn cài đặt đặt bả bản mô phỏ phỏng Arduino trên Proteus. Để mô phỏng đượ c Arduino trên proteus thì chúng ta cần phải download thư viện arduino cho proteus. Để có đượ c thư viên này các bạn cần truy cậ p vào trang web: http://blogembarcado.blogspot.c http://blogem chúng tôi om/search/label/Proteus Proteus

Hình 15: Thư viện mô phỏng Arduino. Sau khi download về các bạn chép 2 file chúng tôi và chúng tôi vào thư mục: Proteus 7: C:Program Files (hoặc x86) Labcenter Electronics ElectronicsProteus Proteus 7 Professi ProfessionalLIBRARY onalLIBRARY Proteus 8: C:Program

Files

(hoặc

x86)

Labcenter

ElectronicsProteus

8

 professionalDataLIBRARY  professiona lDataLIBRARY

ợ  55 loại board Arduino khác nhau trong đó gồm có Arduino Trong thư viện này hổ tr ợ  Uno, MEGA, NANO, LILYPAD và UNO SMD và một cảm biến siêu âm Untrasonic.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

11

Sau khi chép xong chúng ta khở i động Proteus lên vào th ư viện linh kiện bằng cách  bấm phím P và gõ t ừ khoá là ARDUINO chúng sẽ hiện ra danh sách các board hi ện có ở 

đây tôi chọn Arduino Uno.

Hình 16: Mô phỏng Arduino bằng Proteus. Lưu ý chúng ta cần phải cấ p nguồn vào 2 chân 5V và Gnd trên mạch như hình trên.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

12

để mô phỏng. 

Sơ đồ mạch:

Hình 17: Led nhấ p nháy. 

Code chương trình. int ledPin = 9; void setup() {  pinMode(ledPin,  pinMode(ledPin, OUTPUT); OUTPUT);  } void loop() { digitalWrite(ledPin, digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, digitalWrite(ledPin, LOW); delay(1000);  }

SV: NGUYỄ N TRUNG TÍN

để kiểm tra lổi. 13

Hình 19: Check compilation. Sau đó tiế p tục bấm HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

14

Chương trình sẽ tự động built một file hex đượ c lưu ở đườ  ng dẫn như hình dướ i ở đườ ng

Hình 21: Add file Hex cho Proteus. Bấm vào vị trí số 1 và chọn nơi lưu file hex ở  trên  trên chọn tiế p Open, OK và Play. Play. Các bạn sẽ thấy led nhấ p nháy tắt và sáng thờ i gian delay là 1s.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

15

Giải thích chương trình. int ledPin = 9;

Khai báo một giá tr ị biến integer là ledPin = 9. void setup() {  pinMode(ledPin,  pinMode(ledPin, OUTPUT); OUTPUT); }

Trong Arduino sketch cần phải có hàm setup() và loop() n ếu không có thì chương trình báo lỗi. Hàm Setup() chỉ chạy một lần k ể t ừ khi bắt đầu chương trình. Hàm này có chức năng thiết lậ p ch chế độ vào, ra cho các chân digital hay tốc độ baud cho giao tiế p Serial… Cấu trúc của hàm pinMode() là như sau:  pinMode(pin,Mode);  pinMode(pin,Mode);  pin : là vị trí chân digital.  Mode: là chế độ vào ( INPUT), ra (OUTPUT).

Lệnh tiế p theo.  pinMode(ledPin, OUTPUT);

Lệnh này thiết lậ p chân số 9 trên board là chân ngõ ra ( OUTPUT). Nếu không khai  báo “ int ledPin = 9; ” thì bạn có thể viết cách sau nhưng ý ngh ĩ a không thay đổi:  pinMode(9, OUTPUT); OUTPUT);

Bắt buộc khai báo một hàm loop() trong Arduino IDE. Hàm này là vòng lặ p vô hạn void loop() { digitalWrite(ledPin, digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, digitalWrite(ledPin, LOW); HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

16

delay(1000);  }

Tiế p theo ta s ẽ phân tích hàm digitalWrite( digitalWrite( ledPin, HIGH); lệnh này có ý ngh ĩ a là xuất ra chân digital có tên là ledPin ( chân 9) mức cao (  HIGH ), ), mức cao tướ ng ng ứng là 5 volt. delay(1000);

Lệnh này tạo một khoảng tr ễ vớ i thờ i gian là 1 giây. Trong hàm delay() của IDE thì ng ứng vớ i 1 giây. 1000 tươ ng digitalWrite(ledPin, digitalWrite(ledPin, LOW);

Cũng giống như digitalWrite( ledPin, HIGH); lệnh này xuất ra chân ledPin mức thấ p (LOW) tức là 0 volt. Và tiế p tục là một hàm delay().  Như v ậy chúng ta có thể thấy chương trình sẽ thực hiện tắt sáng led liên tục không ngừng tr ừ khi ta ngắt nguồn.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

17

2) Project 2 : Đèn sáng khi nhấn phím. 

ơ đồ mạch: Sơ đồ

Hình 22: Đèn sáng khi nhấn phím 

Code chương trình : const int buttonPin = 2; const int int ledPin = 13; int buttonState = LOW; void setup() {  pinMode(ledPin,  pinMode(ledPin, OUTPUT); OUTPUT);  pinMode(buttonPin,  pinMode(buttonPin, INPUT); INPUT);

}

void loop(){ buttonState = digitalRead(buttonPin); digitalRead(buttonPin); if (buttonState == HIGH) { HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

18

digitalWrite(ledPin, digitalWrit e(ledPin, HIGH);

}

else { digitalWrite(ledPin, LOW);  }} 

Giải thích chương trình : Trướ c tiên ta khai báo hai biến để lưu tr ữ vị trí chân của phím nhấn và led : const int buttonPin = 2; const int int ledPin = 13;

Phím nhấn sẽ ở  v  vị trí chân số 2 và led chân số 13. Ta khai báo một biến trang thái của phím nhấn là int buttonState = LOW; Trong hàm setup() là khai chế độ (Mode) cho chân button và chân led. Chân button là chân ngõ vào và chân led là chân ngõ ra.  pinMode(ledPin,  pinMode(ledPin, OUTPUT); OUTPUT);  pinMode(buttonPin,  pinMode(buttonPin, INPUT); INPUT);

Trong hàm loop() ta có câu lệnh đầu tiên là : buttonState = digitalRead(buttonPin); digitalRead(buttonPin);

Câu lệnh này có ngh ĩ a là gán giá tr ị đọc đượ c từ chân button (chân 2) cho biến buttonState.. buttonState sẽ có giá tr ị 0 nếu như button không đượ c nhấn và có giá tr ị 1 nếu

đượ c nhấn. Bằng cách sử dụng hàm digitalRead() ta có thể kiểm tra đượ c các chân digital  mức cao hay thấ p. đang ở  m Sau khi đọc đượ c giá tr ị có ở  chân  chân buttonPin ( chân 2) ta kiểm tra xem là button có nhấn hay không. HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

19

 Nếu có tức là buttonState =HIGH thì lúc này ta bật led bằng lệnh digitalWrite() if (buttonState == HIGH) { digitalWrite(ledPin, digitalWrite(ledPin, HIGH);

}

 Ngượ c lại thì ta một lần nửa sử dụng hàm digitalWrite() để tắt led else { digitalWrite(ledPin, LOW);  }

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

20

3) Project 3 : Led sáng dần từ led ừ led 1 đến led 10 và ngượ c lại. 

ơ đồ mạch. Sơ đồ

Hình 23: Led sáng dần từ led 1 đến led 10 và ngượ c lại. 

Code chương trình. byte ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; int direction = 1; int currentLED = 0; void setup() {  for (int x=0; x HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

21

void loop() {  for (int x=0; x if (currentLED == 9) {direction = -1;} if (currentLED == 0) {direction = 1;} delay(500);  } 

Giải thích chương trình. Trong Project này chúng ta s ử dụng 10 chân digital để điều khiển 10 led, để cho

ở đây tôi sử dụng mảng 1 chiều gồm 10 phần t ử trong đó chứa chương trình ngắn gọn thì ở đâ 10 vị trí chân led mà ta s ử dụng trong project byte ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13};

Tiế p tục khai báo 2 biến integer là : int direction = 1; int currentLED = 0;

Trong hàm setup() tôi sử dụng một vòng lặ p để định ngh ĩ a mode cho các chân led. Tôi ngh ĩ  là  là không khó để hiểu đượ c các câu lệnh này. Tiế p theo là hàm loop(), đầu tiên tôi tắt tất cả các led bằng các câu lệnh:  for (int x=0; x SV: NGUYỄ N TRUNG TÍN

22

Sau đó cho sáng led đầu tiên bằng câu lệnh : digitalWrite(ledPin[curre digitalWrite(ledPin[currentLED], ntLED], HIGH);

Vì ta đã khai báo currentLED = 0 nên mãng sẽ truy xuất phần tử đầu tiên trong mãng có giá tr ị là 4 vì thế led ở  v  vị trí chân digital số 4 sẽ sáng. currentLED += direction;

Tăng currentLED lên 1 đơn vị ( direction =1 ). Vòng lặ p tiế p theo sẽ là led ở  chân  chân digital 5 sáng và cứ như thế cho đến led ở  chân  chân số 13 sáng, thì lúc này currentLED == 9, câu lệnh “ if (currentLED == 9) {direction = -1;} ” sẽ thực hiện và led sẽ sáng ngượ c lại từ led 10 xuống led thứ 1. Hai câu lệnh : if (currentLED == 9) {direction = -1;} if (currentLED == 0) {direction = 1;}

dùng để quy định chiều sáng của led là tăng dần hay giảm dần. Nếu là Led th ứ 10 sang thì tiế p theo sẽ giảm xuống led thứ 9 và ngượ c lại nếu led thứ 0 sang thì chu k ỳ tiế p theo led 1 sẽ sáng.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

23

4) Project 4 : Led sáng d ần từ led ừ  led 1 đến led 10 và ngượ c lại thờ i gian c. delay thay đổi đượ c. 

Sơ đồ ơ đồ mạch : Trong project này hoàn toàn giống project 3 chỉ thêm một biến tr ở   dùng để điều ch chỉnh ở dùng

thờ i gian delay cho chương trình

c. Hình 24: Led sáng dần từ led 1 đến led 10 thời gian delay thay đổi đượ c. 

Code chương trình. int ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; int direction = 1;

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

24

int currentLED = 0; int potPin = 0; unsigned long changeTime; void setup() {  for (int x=0; x if (currentLED == 9) {direction = -1;} if (currentLED == 0) {direction = 1;} delay(delayvalu);  } 

Giải thích chương trình. Chương trình ta chỉ thêm và thay đổi một vài câu lệnh mà thôi ngoài ra không khác

gì nhiều so vớ i project 3, các câu l ệnh đó như sau : int potPin = 0 ; int delayvalu= analogRead(potPin);

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

25

delay(delayvalu);

Đầu tiên chúng ta khai báo một biến chứa vị trí chân biến tr ở  ở k   k ết nối đó là vị trí A0 int potPin = 0 ;

Đọc giá tr ị từ chân analog A0 bằng câu lệnh analogRead(potPin) và gán nó cho biến delayvalu. Arduino có 6 chân đầu vào analog đánh dấu từ A0 đên A5 vớ i 10 bit chuyển đổi

từ analog sang digital (ADC). Ngh ĩ a là chân analog có thể đọc đượ c các giá tr ị điện áp từ 0

đến 5 volt tương ứng vớ i các số integer từ 0 ( 0 volt ) đến 1023 ( 5 volt ). Trong project này chúng ta cần thiết lậ p th ờ i gian delay bằng cách điều chỉnh biến tr ở  ở.  Ta sử dụng câu lệnh delay(delayvalu) để tạo thờ i gian tr ễ. Nếu ta điều chỉnh biến tr ở  ở  sao cho điện áp đầu vào chân analog là 5 volt thì delayvalu sẽ có giá tr ị là 1023 ( hơn 1

ở ta giây), nếu là 2,5 volt thì delayvalu sẽ là 511. Các bạn thử điều chỉnh biến tr ở   ta sẽ thấy thờ i gian delay thay đổi hoặc là nhanh dần hoặc là chậm dần. Lưu ý : đối vớ i các chân analog chúng ta không cần thiết lậ p chế độ vào ra bằng hàm  pinMode như các chân digital. Mặc định các chân analog là input.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

26

5) Project 5: Điều khiển tốc độ động cơ bằng PWM. 

Sơ đồ Sơ đồ mạch

Hình 25: Điều khiển tốc độ động cơ . 

Code chương trình. int potPin = 0; int transistorPin = 9; int potValue = 0; void setup() {  pinMode(transistorPin,  pinMode(transistorPin, OUTPUT);} OUTPUT);} void loop() {  potValue = analogRead(potP analogRead(potPin) in) / 4; analogWrite(transistorP analogWrite(transistorPin, in, potValue);  }

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

27

Giải thích chương trình.  Như trong sơ đồ ơ đồ mạch ta thấy biến tr ở đượ  ở đượ c nối vớ i chân A0, transistor đượ c nối vớ i

chân số 9 thông qua điện tr ở  ở 1k.  1k. Như vậy ta khai báo 2 biến chứa vị trí chân cho biến tr ở  ở  và transistor. int potPin = 0; int transistorPin = 9;

Biến integer potValue chứa giá tr ị đọc đượ c từ chân A0. int potValue = 0

ở đây là nếu chúng ta không k ết nối transistor điều khiển động cơ  Một câu hỏi đặt ra ở đâ vào chân số 9 mà thay vào đó là chân số 1 hoặc 2 để điều khiển tốc độ động cơ  thì  thì có đượ c không ?. Câu tr ả lờ i là Không. Vậy tại sao Không ? Tôi sẽ tr ả lờ i câu hỏi này sau. Nhưng trướ c hết tôi nói về PWM. PWM (pulse width modulation) là phương pháp điều chế dựa trên sự thay đổi độ r ộng của chuổi xung dẫn đến sự thay đổi điện áp ra.

Để tạo ra đượ c PWM trên Arduino thì chúng ta sử dụng lệnh analogWrite(Pin, Value);

Tr ong ong đó:  Pin: là vị trí chân,

đối vớ i Arduino Uno thì chỉ có các chân 3, 5, 6, 9, 10 & 11 mớ i có chức năng tạo PWM. Vậy chúng ta có thể tr ả lờ i đượ c câu hỏi bên trên, các chân digital còn lại của có thể đọc hoặc xuất 2 giá tr ị là 0 và 1 mà thôi. Value: Giá tr ị nằm trong khoảng 0 đến 255.

Để hiểu rõ hơn về PWM tôi sẽ minh hoạ qua ví dụ sau.  Nếu tôi sử dụng lệnh analogWrite(transistorP   chân 9 ( analogWrite(transistorPin, in, 127); thì dạng xung ở  chân transistorPin transistorPin = 9) sẽ như hình dướ i và giá tr ị trung bình ngõ ra s ẽ là 2,5V (50% ). HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

28

Hình 26: PWM 50%.  Nếu Value = 64 (hay 25%) thì d ạng xung như sau:

Hình 27: PWM 25%. Value = 229 (hay 90%) thì d ạng xung sẽ là :

Hình 28: PWM 90%. Từ ví dụ trên ta thấy sự thay đổi độ r ộng của chuổi xung dẫn đến sự thay đổi điện áp ra. Ta cũng thấy r ằng điện áp trên motor cũng thay đổi tuyến tính theo sự thay đổi điện áp ngõ ra trên chân 9. Tức là nếu điện áp trung bình bình trên chân 9 là 2,5 volt (50% ) thì điện áp trên hai đầu motor là 6 volt ( ngu ồn motor motor là 12 volt ). Quay lại chương trình ta cần quan tâm tớ i một câu lệnh đó là:  potValue = analogRead(potP analogRead(potPin) in) / 4; HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

29

Chúng ta cần phải chia giá tr ị đọc đượ c cho 4 vì giá tr ị analog sẽ nằm trong khoảng 0 (0 volt ) đế n 1023 (5 volt ), nhưng giá tr ị cần xuất ra ngoài chân 9 lại nằm trong khoảng

ở đây. 0 đến 255 đó chính  chính là lý do tại sao có chia 4 ở đâ Và câu lệnh cuối cùng là tạo PWM trên chân 9 để điều khiển tốc đố động cơ . analogWrite(transistorP analogWrite(transistorPin, in, potValue);

 Nếu như đã điều kiển đượ c tốc độ động cơ  b  bằng PWM r ồi thì việc điều khiển độ sáng của Led hay đèn đối vớ i các bạn bay giờ  là  là chuyện quá đơn giản. Các bạn chỉ cần nối chân số 9 v ớ i một Led có điện tr ở  ở  hhạn dòng là 220 ohm và code chương trình hoàn toàn giống như điều khiển động cơ . L ưu ý là khi mô ph ỏng các bạn s ẽ không thấy đượ c led thay đổi

độ sáng mà chỉ thấy nhấ p nháy nguyên nhân nhân là do phần mềm proteus không đáp ứng k ị p  p sự thay đổi của các xung PWM. Nhưng khi làm th ực t ế các bạn s ẽ th ấy đượ c sự thay đổi độ sáng của Led rõ r ệt.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

30

6) Project 6 : Điều khiển động cơ bằ ng L293D. 

Sơ đồ Sơ đồ mạch:

Hình 29: Điều khiển động cơ  b  bằng L293D. 

Code chương trình #define switchPin switchPin 2

9

#define potPin 0

SV: NGUYỄ N TRUNG TÍN

31

 }

void loop() {  Mspeed = analogRead(potP analogRead(potPin)/4; in)/4; analogWrite (speedPin, Mspeed); if (digitalRead(switchP (digitalRead(switchPin)) in)) { digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, digitalWrite(motorPin2, HIGH); } else { digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW);  }  } 

Giải thích chươ ng ng trình:

Code của project này hoàn toàn đơn giản. Trướ c tiên ta định ngh ĩ a các chân sẽ sử dụng trên arduino.

ắ c #define switchPin switchPin 2

9

ở n #define potPin 0

Tiế p theo trong setup() ta thiết lậ p chế độ vào, ra cho các chân v ừa định ngh ĩ a. a.  pinMode(switchPin,  pinMode(switchPin, INPUT); INPUT);  pinMode(motorPin1,  pinMode(motorPin1, OUTPUT); OUTPUT);  pinMode(motorPin2,  pinMode(motorPin2, OUTPUT); OUTPUT); HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

32

 pinMode(speedPin,  pinMode(speedPin, OUTPUT) OUTPUT)

Trong vòng loop() chúng ta đọc giá tr ị từ biến tr ở   k ết nối vớ i chân A0 và gán nó cho ở k   Mspeed :  Mspeed = analogRead(potP analogRead(potPin)/4; in)/4;

Thiết lậ p tốc độ cho động cơ  b  bằng câu lệnh: analogWrite (speedPin, Mspeed);

Kiểm tra xem công tắc có đượ c bật hay không, nếu có thì thiết lậ p motorPin1 =  LOW và motorPin2 = HIGH ta sẽ thấy động cơ quay ơ quay ngượ c chiều kim đồ ng hồ. if (digitalRead(switchP (digitalRead(switchPin)) in)) { digitalWrite(motorPin1, digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, digitalWrite(motorPin2, HIGH); }

và nếu công tắc không đượ c bật thì motor sẽ quay cùng chiều kim đồng hồ: else { digitalWrite(motorPin1, digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW);  }

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

33

7) Project 7: Giao ti ếp Arduino vớ i LCD 16×2. Giao tiế p giữa Arduino và LCD 16×2 r ất đơn giản bở i vì Arduino IDE đã có sẵn thư viện cho LCD là LiquidCrystal.h,  LiquidCrystal.h, công việc của chúng ta là hiểu và biết cách sử dụng thư viện này mà thôi. 

ơ đồ mạch: Sơ đồ

Hình 30: giao tiế p vớ i LCD 16×2. 

Code chương trình : #include  LiquidCrystal  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

34

 scrollLeftDemo();  scrollLeftDemo();  scrollRightDemo();  scrollRightDemo(); cursorDemo(); createGlyphDemo();  } void introduce(){ lcd.clear(); lcd.setCursor(0,0); lcd.print(“HV HANG KHONG VN”); lcd.setCursor(1,1); lcd.print(“HD SD ARDUINO”); delay (1000);  for(int x=0; x SV: NGUYỄ N TRUNG TÍN

35

 for(int x=0; x SV: NGUYỄ N TRUNG TÍN

36

lcd.setCursor(7,0); lcd.print(“Beginning”); lcd.setCursor(9,1); lcd.print(“Arduino”); delay(500);  for(int x=0; x HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

37

void cursorDemo() { lcd.clear(); lcd.cursor(); lcd.cursor();

SV: NGUYỄ N TRUNG TÍN

38

 B01110,  B00000  };

ữ “ơ” byte char2[8] = { ữ “ô” ra màn hình lcd.write(byte(0)); lcd.write(byte(0));

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

39

Giải thích chương trình:

Đầu tiên chúng ta khai báo thư viện mà chúng ta sẽ sử dụng để điều khiển LCD. Như đã nói ở  trên chúng ta sẽ sử dụng thư viện có tên là LiquidCrystal.h.  LiquidCrystal.h. Có r ất nhiều thư viện và code mẫu cho những loại LCD khác, bạn có thể  truy cậ p vào trang web http://www.arduino.cc/playgrou http://www.ard chúng tôi nd/Code/LCD để tải về sử dụng.

Để khai báo thư viện cho LCD hay bất cứ thư viện nào khác ta dùng câu l ệnh #include

Trong trườ ng ng hợ  p này ta khai báo là : #include

Tiế p theo tạo một đổi tượ ng ng và gán chân cho nó bằng câu lệnh :  LiquidCrystal  LiquidCrystal Object(RS, E, E, D4, D5, D6, D7);

 Như vậy trong đoạn code trên tôi đã khai báo một đối tượ ng ng có tên là lcd  ( các bạn có thể thay thế lcd  b  bằng những từ khác mà các bạn muốn ) và chân 12 của Arduino nối vớ i chân RS, chân 11 nối vớ i E và các chân 5 đến chân 2 lần lượ t nối vớ i D4 đến D7 trên LCD 16×2.  LiquidCrystal  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Trong hàm  setup() chúng ta cần khai báo loại LCD mà chúng ta s ử d ụng. Vì trong

ợ  r  thư viện LiquidCrystal.h r ất nhiều loại LCD chẳng hạn như 16×2, 16×4, 20×2, 20×4,  LiquidCrystal.h hỗ tr ợ  GLCD….Ở đây chúng ta sử dụng 16×2 thì ta khai báo. lcd.begin(16,2);

Trong loop() chúng ta có 8 chương trình con, và tôi sẽ giải thích từng chương trình con. HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

40

Chương trình con thứ 1: introduce().

Đây là chương trình giớ i thiệu. 

Chương trình con thứ 2: basicPrintDemo() Trong chương trình con này chúng ta sẽ điều khiển sao cho LCD hiển thị dòng chứ

mà ta mong muốn.

Đầu tiên chúng ta xoá tất cả màn hình bằng câu lệnh: lcd.clear();

Chúng ta cần lưu ý đối tượ ng ng lcd : nếu như ban đầu chúng ta khai báo đổi tượ ng ng là  LCD16x2 thì chúng ta phải viết câu lệnh là  LCD16x2.clear().  LCD16x2.clear().

Để hi  h iển th ị một dòng ký tự b ất k ỳ lên màn hình thì ta dùng câu lệnh print() c ụ thể trong trườ ng ng hợ  p này là: lcd.print(“HV HANG KHONG”);

Các ký tự bên trong ngoặc kép sẽ đượ c hiển thị lên màn hình, nếu tổng các ký tự lớ n

ở đi sẽ không đượ c hiển thị lên màn hình. hơn 16, thì các ký tự từ thứ 17 tr ở đ 

Chương trình con thứ 3: displayOnOffDemo() Trong chương trình con này hướ ng ng dẫn cho chúng ta các câu l ệnh chức năng bật và

tắt màn hình. Ta cần quan tâm tớ i 2 câu lệnh sau. lcd.nodisplay();

Câu lệnh này có chức năng tắt màn hình hiển thị. lcd.display();

Câu lệnh này cho phép hiển thị màn hình. HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

41

Chương trình con thứ 4:  setCursorDemo()  setCursorDemo()

Hình 31: LCD 16×2. Chương trình con này hướ ng ng dẫn chúng ta các câu lệnh dịch chuyển vị trí con tr ỏ theo ý muốn, các câu lệnh cần quan tâm đó là: lcd.setCursor(5,0); lcd.print(“5,0”);

Dịch con tr ỏ đến cột thứ 5 hàng thứ 0. Sau đó xuất ra màn hình LCD “5,0” từ cột thứ 5 hàng 0 tr ở đi ở đi. lcd.setCursor(10,1); lcd.setCursor(10,1);

Dịch con tr ỏ đến vị trí cột 10 hàng thứ 1. Xuất ra màn hình “10,1”

Tương tự như vậy đối vơi 2 câu lệnh cuối là : lcd.setCursor(3,1); lcd.setCursor(3,1);

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

42

Chương trình con thứ 5: scrollLeftDemo()  scrollLeftDemo() Chương trình con này sẽ dịch các ký tự đang hiển thị trên màn hình sang bên trái.

Các câu lệnh trong chương trình con này không khó, chúng ta chỉ quan tâm tớ i các câu lệnh sau:  for(int x=0; x Trong vòng lặ p chúng ta có câu lệnh: lcd.scrollDisplayLeft();

Mỗi lần ch ương trình thực hi ện câu lệnh này sẽ d ịch t ất cả các ký tự đang hiển thị trên màn hình sang bên trái 1 cột. Chúng ta có vòng lặ p 16 l ần như vậy các ký tự sẽ đượ c dịch hết về bên trái.

Hình 32: Trướ c khi dịch trái.

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

43

Hình 33: Dịch trái lần thứ 8. Khi vòng lặ p thực hiện đượ c 16 lần thì màn hình sẽ tr ống hoàn toàn. 

Chương trình con thứ 6: scrollRightDemo()  scrollRightDemo() Hoàn toàn tương tự như  scrollLeftDemo()  scrollLeftDemo() chương trình con này s ẽ thực hiện dịch

 phải các ký tự trên màn hình. Câu lệnh cần quan tâm là: lcd.scrollDisplayRight(); 

Chương trình con thứ 7: cursorDemo() nháy. Ở phần này chúng ta sẽ tìm hiểu các câu lệnh điều khiển con tr ỏ bật, tắt và nhấ p nháy. lcd.cursor() : câu lệnh này cho phép chúng ta bật con tr ỏ.

Hình 34: Con tr ỏ LCD HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

44

lcd.noCursor(): tắt con tr ỏ lcd.blink(): nhấ p nháy con tr ỏ 

Chương trình con thứ 8: createGlyphDemo() Bây giờ  chúng   chúng ta sẽ tìm hiều cách tự tạo ra một ký tự không thuộc hệ thống mã

ASCII, chẳng hạn như các chữ cái có dấu trong hệ thống chữ cái tiếng việt như ă, â, ô,ơ …. ơ ….

Đối vớ i LCD 16×2 cứ mỗi ký tự trong một ô sẽ đượ c tạo thành từ 5×8 ô nhỏ ( 5 cột, 8 dòng)

Để tạo một ký tự thì chúng ta dùng một mãng gồm 8 phần tử, mỗi phần tử là 1 byte, nhưng chỉ sử dụng 5 bit thấ p của 1 byte để biểu diễn ký tự đó.

ữ “ô” byte happy[8] = {

ữ “ơ” byte sad[8] = { t ạo chữ “ơ”  B01110,  B00001,  B00010,  B01110,  B10001, HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

45

 B10001,  B01110,  B00000  };

Sau khi đã tạo đượ c ký tự mong muốn ta sử dụng câu lệnh: lcd.createchar(num,data);

Trong đó: num: là các chữ số tứ 0 đến 7. data: là các mãng chứa ký tự của chúng ta.

Câu lệnh này sẽ gán ký tự ta đã tạo vào một chữ số. lcd.createChar(0, lcd.createChar(0, happy); lcd.createChar(1, lcd.createChar(1, sad);

Để hiển thị một ký tự ra màn hình ta dùng câu lệnh lcd.write(data). Hiển thị chữ “ô” ra màn hình LCD. lcd.write(byte(0));

Hiển thị chữ “ơ” ra màn hình LCD lcd.write(byte(1));

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

46

8) Project 8: Giao ti ếp vớ i máy tính. Trong phần này tôi sẽ trình bày cách để  giao tiế p giữa Arduino vớ i máy tính thông qua chuẩn giao tiế p nối tiế p không đồng bộ UART.

Điều khiển bật tắt bằng cách gửi lệnh từ máy tính. 

Sơ đồ mạch:

ở  Dùng cáp USB k ết nối Arduino vớ i máy tính. Led n ối vớ i chân 13 thông qua điện tr ở  220 ohm. 

Code chương trình: int ledpin =13; void setup() { Serial.begin(9600);  pinMode(ledpin,OUTPUT);  pinMode(ledpin,OUTPUT);  }

{

digitalWrite(ledpin,HIGH); digitalWrite(ledpin,HIGH); break;  } case ‘0’: { digitalWrite(ledpin,LOW digitalWrite(ledpin,LOW); ); break; }}} HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

47

Giải thích chương trình:  Serial monitor b ằng cách nhấ p Để có thể điều khiển đượ c led bật tắt chúng ta cần mở  Serial vào biểu tượ ng ng

:

Hình 35: Serial Monitor. Trong chương trình ta cần chú ý tớ i các câu lệnh sau: Serial.begin(9600);

Câu lệnh này dùng để kiểm tra xem có dữ liệu truyền tớ i hay không. Ngoài ra Serial.available() còn tr ả về cho chúng ta số ký tự đã đượ c truyền tớ i Arduino HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

48

char setupled = Serial.read( Serial.read(); );

Khi dữ liệu đượ c truyền tớ i Arduino thì dữ liệu sẽ đượ c lưu vào bộ nhớ đệ ớ đệm. Chúng ta khai báo biến setupled vớ i ki ểu dữ liệu char và dùng hàm Serial.read() để truy suất dữ liệu trong bộ nhớ đệ ớ đệm và lưu vào trong nó. Như vậy ký tự đầu tiên trong chuỗi ký tự đượ c truyền tớ i sẽ đượ c gán vào setupled. Dùng hàm Switch-case để kiểm tra, nếu là “1” thì sáng led, nếu là “0” thì tắt led, các trườ ng ng hợ  p còn lại thì không làm gì.

9) Project 9. Đo nhiệt độ môi trườ ng ng dùng LM35D hiển thị  LCD và Serial Monitor. 

Sơ đồ ơ đồ mạch.

Hình 36: giao tiế p vớ i LM35, LCD và Serial monitor. 

Code chương trình: #include  LiquidCrystal  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

49

int scale = 1; int buttonPin=8;

SV: NGUYỄ N TRUNG TÍN

50

SV: NGUYỄ N TRUNG TÍN

51

Giải thích chương trình:

Tổng quan: chương trình sẽ kiểm ta mức điện áp ngõ ra của LM35 tương ứng v ớ i nhiệt độ của môi trườ ng ng hiển thị trên Lcd và Serial Monitor. Nhiệt độ của môi trườ ng ng đượ c tính bằng độ C và độ F, nếu nhấn phím thì sẽ thay đổi hiển thị là độ C hay độ F. Bắt đầu chương trình ta khai báo thư viện Lcd và định ngh ĩ a chân cũng như các biến cần dùng cho toàn bộ chương trình. #include  LiquidCrystal  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Trong hàm setup() chúng ta cần quan tâm tớ i câu lệnh: analogReference(INTERNAL);

Khai báo điện áp tham chiếu cho bộ chuyển đổi ADC bên trong Arduino Uno là 1,1V ( đây là giá tr ị điện áp tham chiếu nội mặc định của Arduino Uno). ng chúng ta cần lưu ý những điểm sau: Để tính toán đúng nhiệt độ môi trườ ng Bộ chuyển đổi ADC gồm 10 bit tức là 1024 mức. HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

52

Điện áp tham chiếu cho bộ chuyển đổi ADC là 1,1V. ng. Đối vớ i LM35 thì điện áp ngõ ra tuyến tính vớ i nhiệt độ của môi trườ ng. Hệ số chuyển đổi điện áp sang nhiệt độ là 10mV/10C = 0,01V/10C. Xây dựng công thức tính nhiệt độ. Ta biết: 1,1 volt (1100 mV) có 1024 mực biểu diễn, vậy 1 mức sẽ là 1,1/1024 (volt),

để chuyển đổi từ điện áp sang nhiệt độ thì ta chia tiế p cho 0,01V. Từ đây ta thấy cứ 1 mức chuyển đổi của ADC tương ứng vớ i

1,1

0

1024.0,01

C = 0.10742188 0C.

 Như vậy chúng ta chỉ cần đọc giá tr ị đầu vào ở  chân  chân A0 (giá tr ị nằm trong khoảng 0 – 1023) và gán chúng cho biến integer sensor. int sensor = analogRead(0); analogRead(0);

Để tính ra nhiệt độ chính xác chúng ta nhân giá tr ị của sensor vớ i 0.10742188. Trong chương trình con celsius(int sensor) ta có câu lệnh: int temp = sensor* 0.1074188; 0.1074188;

Trong chương trình con fahrenheit(int sensor) ta có câu lệnh chuyển đổi từ độ C sang độ F là:  float temp = ((sensor ((sensor * 0.1074188) 0.1074188) * 1.8)+32; 1.8)+32;

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

53

10) Project 10: Giao ti ếp Arduino vớ i Servo motor. 

ơ đồ mạch Sơ đồ

Hình 37: Giao tiế p vớ i Servo motor 

Code chương trình. #include Servo servo1; void setup() {  servo1.attach(5);  servo1.attach(5);  } void loop() { int angle = analogRead(0);

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

54

 servo1.write(angle);  servo1.write(angle); delay(15);  } 

Giải thích chương trình: Khai báo thư viện cho Servo motor bằng câu lệnh. #include

Khai báo đối tượ ng ng có tên là servo1 Trong hàm setup() ta định ngh ĩ a chân cho Servo:  servo1.attach(5)  servo1.attach(5) ;

Chân số 5 của Arduino sẽ nối vớ i chân input của Servo motor.

Đọc giá tr ị điện áp của biến tr ở  ở và  và gán nó cho biến integer angle : int angle = analogRead(0); analogRead(0);

Giá tr ị đọc đượ c từ biến tr ở  ở s  sẽ nằm trong khoảng 0 đến 1023 và góc quay của Servo từ 00 đến 1800 ta sử dụng câu lệnh : angle=map(angle, angle=map(angle, 0, 1023, 0, 180);

ở sang   sang góc quay tương ứng của Câu Lệnh này sẽ chuyển đổi từ giá tr ị của biến tr ở  Servo. Để điều khiển góc quay của Servo ta dùng câu l ệnh:  servo1.write(angle);  servo1.write(angle);

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

55

Tài liệu tham khảo.    

Beginning Arduino – Mike McRoberts Arduino cookbook –  Michael  Michael Margolis http://arduino.cc http://blogembarcado.blogspot.com

HỌC VIỆ N HÀNG KHÔNG

SV: NGUYỄ N TRUNG TÍN

56

Huong Dan Su Dung Eviews 5.1

Published on

4. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 4 liệu thời gian; số quan sát đối với loại dữ liệu chéo; và tần suất, ngày bắt đầu, ngày kết thúc, và số quan sát tại mỗi thời điểm đối với loại dữ liệu bảng.

6. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 6 mong muốn (ví dụ biến “employment” đổi thàng X2). Ngoài ra, ta cũng có thể mô tả đặc điểm của biến đó (ví dụ đơn vị tính, …). Cuối cùng ta chọn Finish.

8. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 8 Nội dung cửa sổ tập tin của Eviews Khi mở một tập tin làm việc của Eviews ta sẽ thấy một cửa sổ như sau: Nguồn: Eviews 5 Users Guide, pp.52 Ta có thể trình bày dạng tóm tắt nội dung của tập tin Eviews bằng cách chọn View/Statistics và quay trở về thư mục gốc bằng cách chọn View/Workfile Directory. Sau khi đã tạo một tập tin Eviews, ta nên lưu lại dưới định dạng Eviews bằng cách chọn File/Save As … hay File/Save … Eviews sẽ hiện ra hộp thoại Saveas, ta đặt tên cho tập tin đó, và chọn mức độ chính xác trong hộp thoại Workfile Save. TRÌNH BÀY DỮ LIỆU Khi đã có sẵn tập tin Eviews, ta có thể sử dụng các công cụ Eviews cơ bản để phân tích dữ liệu của từng chuỗi (sau đây cũng được gọi là biến1) hay một nhóm các biến theo nhiều cách khác nhau. Trình bày dữ liệu của một chuỗi2 Để xem nội dung của một biến nào đó, ví dụ M13 trong tập tin Chapter2.3.wf1, ta nhấp đúp vào biểu tượng biến M1 trong cửa sổ của tập tin này, hay chọn Quick/Show … trong thực đơn chính, nhập M1 và chọn OK. Eviews sẽ mở biến M1 và thể hiện dưới một dạng bảng tính mặc định. 1 Variable Series statistics 3 ??? 2

12. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 12 1600 2000 1200 1500 800 1000 400 0 500 0 55 60 65 70 75 GDP 80 85 90 95 M1 * Thống kê mô tả Ta có thể đồng thời tạo ra một bảng thống kê mô tả nhiều biến khác nhau bằng cách chọn View/Descriptive Stats/Individual Samples hay Quick/Group Statistics/Descriptive Statistics/Individual Samples.

16. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 16 * Xem đối tượng1 Một cách khác để chọn và mở đối tượng là chọn Show ở thanh công cụ2 hay chọn Quick/Show … từ thực đơn và nhập tên đối tượng vào hộp thoại. Nút Show cũng có thể được sử dụng để hiển thị các phương trình của các chuỗi. Cửa sổ đối tượng Cửa sổ đối tượng là cửa sổ được hiển thị khi ta mở một đối tượng hay một chứa đối tượng. Một cửa sổ đối tượng sẽ chứa hoặc một hiển thị của đối tượng hoặc các kết quả của một thủ tục của đối tượng. Eviews cho phép mở cùng lúc nhiều cửa sổ đối tượng. * Các thành phần của một cửa sổ đối tượng Đây là minh họa cửa sổ phương trình từ kết quả hồi qui theo phương pháp OLS. Một số điểm cần lưu ý như sau: Thứ nhất, đây là một cửa sổ chuẩn vì ta có thể đóng, thay đổi kích cở, phóng to, thu nhỏ, và kéo lên xuống hay qua lại. Khi có nhiều cửa sổ khác đang mở, nếu ta muốn cửa sổ nào ở chế độ làm việc thì ta chỉ cần nhấp vào thanh tiêu đề hay bất kỳ đâu trong cửa số đó. Lưu ý, cửa sổ đang ở chế độ làm việc được biểu hiện với thanh tiêu đề có màu đậm. Thứ hai, thanh tiêu đề của cửa sổ đối tượng cho biết loại đối tượng, tên đối tượng, và tập tin chứa. Nếu đối tượng cũng chính là đối tượng chứa thì thông tin chứa được thay bằng thông tin thư mục.Thứ ba, trên đỉnh cửa sổ có một thanh công cụ chứa một số nút giúp ta dễ dàng làm việc. 1 2 Show Toolbar

17. 17 Hướng dẫn sử dụng Eviews 5.1 Phùng Thanh Bình * Các thực đơn và thanh công cụ của đối tượng Làm việc với đối tượng * Đặt tên và tên nhãn của đối tượng Các đối tượng có thể được đặt tên hoặc không được đặt tên. Khi ta đặt tên cho đối tượng, thì tên đối tượng sẽ xuất hiện trong thư mục của tập tin Eviews, và đối tượng sẽ được lưu như một phần của tập tin khi tập tin được lưu. Ta phải đặt tên đối tượng nếu muốn lưu lại các kết quả của đối tượng. Nếu ta không đặt tên, đối tượng sẽ được gọi là “UNTITLED”. Các đối tượng không được đặt tên sẽ không được lưu cùng với tập tin, nên chúng sẽ bị xóa khi đóng tập tin. Để đổi tên đối tượng, trước hết phải mở cửa sổ đối tượng, sau đón nhấp vào nút Name trên cửa sổ đối tượng và nhập tên (và tên nhãn) vào. Nếu có đặt tên nhãn thì tên nhãn sẽ xuất hiện trong các bảng biểu đồ thị, nếu không Eviews sẽ dùng tên đối tượng. Lưu ý, đây là nhóm đã mặc định và không được sử dụng cho tên đối tượng: ABS, ACOS, AND, AR, ASIN, C, CON, CNORM, COEF, COS, D, DLOG, DNORM, ELSE, ENDIF, EXP, LOG, LOGIT, LPT1, LPT2, MA, NA, NOT, NRND, OR, PDL, RESID, RND, SAR, SIN, SMA, SQR, và THEN. * Copy và dán đối tượng Có hai phương pháp tạo ra bản sao các thông tin chứa trong đối tượng: Copy và Freeze.

20. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 20 Các hàm chuỗi Hầu hết các hàm trong Eviews đều bắt đầu bằng ký hiệu @, ví dụ @mean(y) nghĩa là lấy giá trị trung bình của chuỗi y cho toàn bộ mẫu hiện hành. Có ba nhóm hàm chuỗi hay sử dụng trong Eviews: hàm toán (mathematical functions), hàm tập tin Eviews (workfile functions), và hàm dãy số (string functions). Để tìm hiểu thêm về các hàm này, ta có thể tham khảo ở Help/Command & Programming Reference, hoặc Help/Quick Help Reference, ở đây chỉ trình bày một số hàm hay sử dụng trong cuốn sách này. Hàm giá trị tuyệt đối: @abs(x), abs(x) Hàm mũ cơ số e hay antilog (ex): @exp(x), exp(x) Hàm nghịch đảo (1/x): @inv(x) Hàm log tự nhiên (ln(x) hay loge(x)): @log(x), log(x) Hàm căn bậc hai: @sqrt(x), sqr(x) Hàm xu thế: @trend(base date), trong đó, base date chỉ thời điểm bắt đầu của chuỗi xu thế T (tại đó T = 0) Biến trễ, tới, sai phân1 và mùa vụ Khi làm việc với dữ liệu chuỗi thời gian, ta thường xử lý dữ liệu bằng cách chuyển hóa sang dạng trễ, tới, sai phân, hoặc tạo thêm các biến giả mùa vụ. * Biến trễ, tới và sai phân Biến trễ một giai đoạn (xt-1): x(-1) Biến trễ k giai đoạn (xt-k): x(-k) Biến tới một giai đoại (xt+1): x(1) Biến tới k giai đoạn (xt+k): x(k) Sai phân bậc một (∆x = xt – xt-1): d(x) Sai phân bậc k (∆kx = xt – xt-k): d(x,k) Sai phân bậc một của biến trễ dạng log tự nhiên: dlog(x) Trung bình trượt k giai đoạn: @movav(x,k) Ngoài ra, ta có thể đồng thời kết hợp nhiều toán tử với nhau, ví dụ dlog(x), dlog(x,4), … * Biến giả mùa vụ Tạo ra một biến giả theo quí có giá trị là 1 đối với quí 2 và giá trị là 0 đối với các quí khác: @seas(2) Tạo ra một biến giả theo tháng có giá trị là 1 đối với tháng 2 và giá trị 0 đối với các tháng khác: @month(2) 1 Lead: tới, Lag: trễ, và Difference: Sai phân

22. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 22 JB lớn hơn giá trị quan sát (giá trị phê phán) dưới giả thiết không (H0). Giá trị xác suất càng nhỏ thì khả năng bác bỏ giả thiết H0 càng cao. * Thống kê theo nhóm Thống kê theo nhóm cho phép ta tính các thống kê mô tả của một chuỗi theo các phân nhóm khác nhau trong mẫu phân tích. Nếu ta chọn View/Descriptive Statistics/Stats by Classification …, thì một hộp thoại sau đây sẽ xuất hiện: Các lựa chọn ở Stattistics bên trái cho phép ta chọn các tiêu chí thống kê muốn tính toán. Trong ô Series/Group for classify ta nhập tên chuỗi hay nhóm để xác định các phân nhóm. Nếu ta chọn nhiều chuỗi thì mỗi chuỗi cách nhau một khoảng trắng. Ở mục Output Layout, nếu ta chọn các Margins thì bảng kết quả có trình bày thống kê của tất các các quan sát trong cùng một nhóm cũng như của toàn bộ mẫu phân tích. Ví dụ, sử dụng file chúng tôi để thống kê mô tả biến LWAGE (log tự nhiên1 của lương tuần) theo hai biến CONSTRUC (= 1 nếu làm việc trong ngành xây dựng và = 0 nếu làm trong các ngành khác) và MARRIED (= 1 nếu đã có gia đình và = 0 nếu chưa có gia đình). Kết quả thống kê biến LWAGE với bốn tiêu chí thống kê là trung bình, trung vị, lệch chuẩn, và số quan sát được trình bày như bảng bên cạnh. Nhìn vào bảng kết quả ta có thể so sánh có sự khác biệt giữa các nhóm hay không. Tuy nhiên, để chắc chắn sự khác biệt đó có ý nghĩa về mặt thống kê hay không, ta cần dựa vào loại kiểm định thống kê thích hợp. 1 Log tự nhiên được ký hiệu là ln, nhưng toán tử trong Eviews là log

24. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 24 χ2 = ( N − 1)s 2 σ2 (2.4) Với giả thiết H0 và giả định rằng X có phân phối chuẩn, thì thống kê chi bình phương sẽ theo phân phối chi bình phương với N-1 bậc tự do. * Kiểm định ngang bằng theo nhóm Đây là các kiểm định xem các giá trị trung bình, phương sai và trung vị ở các phân nhóm trong cùng một chuỗi có bằng nhau hay không. Khi chọn View/Tests for Descriptive Stats/Equality Tests by Classification … sẽ thấy xuất hiện một hộp thoại như hình bên. Trước tiên ta phải chọn loại kiểm định: trung bình, phương sai, hay trung vị, sau đó chọn các phân nhóm muốn so sánh. Xác định giả thiết: Đối với kiểm định trung bình H0: Trung bình của các nhóm bằng nhau H1: Trung bình của các nhóm khác nhau Đối với kiểm định phương sai H0: Phương sai của các nhóm bằng nhau H1: Phương sai của các nhóm khác nhau Để quyết định, ta so sánh giá trị thống kê F1 tính toán với giá trị thống kê F quan sát (phê phán). Nếu giá trị thống kê F tính toán lớn hơn giá trị thống kê F quan sát tại một mức ý nghĩa nhất định, ta bác bỏ giả thiết H0 và ngược lại. Lập bảng tần suất một chiều Để lập bảng tần suất một chiều ta chọn View/One-Way Tabulation … và sẽ xuất hiện một hộp thoại như sau. Biểu đồ tự tương quan Mục đích của biểu đồ tự tương quan là giúp ta kiểm định xem một chuỗi thời gian dừng hay không dừng2. Trong các mô hình dự báo chuỗi thời gian và dự báo bằng phương pháp hồi qui các chuỗi thời gian, thì việc các chuỗi thời gian dừng hay không 1 Sẽ được giải thích ở chương 4 và 5 Đây là một nội dung rất quan trọng khi phân tích chuỗi thời gian và đặc biệt có ý nghĩa rất lớn trong việc lựa chọn mô hình dự báo thích hợp trong các phương pháp dự báo định lượng với dữ liệu chuỗi thời gian. Nội dung này sẽ được trình bày chi tiết ở chương 14. 2

26. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 26 Trong Eviews, ta lập biểu đồ tự tương quan bằng cách chọn View/Correlogram … , xác định biểu đồ tự tương quan của chuỗi gốc hay chuỗi sai phân bậc một và bậc hai, và cuối cùng là xác định độ trễ k. Ví dụ, chuỗi GDP trong chúng tôi có biểu đồ tự tương quan như sau: Dựa vào biểu đồ tự tương quan để xác định một chuỗi thời gian dừng hay không như sau. Có thể tóm tắt ý tưởng chính như sau. Nếu hệ số tự tương quan đầu tiên khác không nhưng các hệ số tự tương quan tiếp theo bằng không một cách có ý nghĩa thống kê, thì đó là một chuỗi dừng. Nếu một số hệ số tự tương quan khác không một cách có ý nghĩa thống kê thì đó là một chuỗi không dừng. Kiểm định nghiệm đơn vị Kiểm định nghiệm đơn vị là một kiểm định được sử dụng khá phổ biến để kiểm định một chuỗi thời gian dừng hay không dừng. Nội dung chi tiết phần kiểm định nghiệm đơn vị sẽ được trình bày ở chương 14 về các mô hình hồi qui chuỗi thời gian. Tuy nhiên, để hiểu qui trình kiểm định nghiệm đơn vị trên Eviews, ta nên xem qua một số ý tưởng cơ bản về mặt lý thuyết. Trước hết, cần lưu ý rằng có nhiều khái niệm chưa được học nên người đọc không nhất thiết phải hiểu ngay nội dung kiểm định nghiệm đơn vị ở chương này. Giả sử ta có phương trình hồi qui tự tương quan như sau: Yt = ρYt-1 + ut (-1 ≤ ρ ≤ 1) (2.7) Ta có các giả thiết: H0: ρ = 1 (Yt là chuỗi không dừng) H1: ρ < 1 (Yt là chuỗi dừng) Phương trình (2.7) tương đương với phương trình (2.8) sau đây: Yt – Yt-1 = ρYt-1 – Yt-1 + ut = (ρ – 1)Yt-1 + ut ∆Yt = δYt-1 + ut Như vậy các giả thiết ở trên có thể được viết lại như sau: H0: δ = 0 (Yt là chuỗi không dừng) (2.8)

27. 27 Hướng dẫn sử dụng Eviews 5.1 Phùng Thanh Bình H1: δ < 0 (Yt là chuỗi dừng) Dickey và Fuller cho rằng giá trị t ước lượng của hệ số Yt-1 sẽ theo phân phối xác suất τ (tau statistic, τ = giá trị δ ước lượng/sai số của hệ số δ). Kiểm định thống kê τ còn được gọi là kiểm định Dickey – Fuller (DF). Kiểm định DF được ước lượng với 3 hình thức: * Khi Yt là một bước ngẫu nhiên không có hằng số: ∆Yt = δYt-1 + ut (2.9) * Khi Yt là một bước ngẫu nhiên có hằng số: ∆Yt = β1 + δYt-1 + ut (2.10) * Khi Yt là một bước ngẫu nhiên với hằng số xoay quanh một đường xu thế ngẫu nhiên: ∆Yt = β1 + β2TIME + δYt-1 + ut (2.11) Để kiểm định H0 ta so sánh giá trị thống kê τ tính toán với giá trị thống kê τ tra bảng DF (các phần mềm kinh tế lượng đều cung cấp giá trị thống kê τ). Tuy nhiên, do có thể có hiện tượng tương quan chuỗi giữa các ut do thiếu biến, nên người ta thường sử dụng kiểm định DF mở rộng là ADF (Augmented Dickey – Fuller Test). Kiểm định này được thực hiện bằng cách đưa thêm vào phương trình (2.11) các biến trễ của sai phân biến phụ thuộc ∆Yt: ∆Yt = β1 + β2TIME + δYt-1 + αi Σ∆Yt-i + εt (2.12) Để tiến hành kiểm định nghiệm đơn vị trên Eviews ta chọn View/Unit Root Test …, sẽ xuất hiện hộp thoại Unit Root Test. Ở lựa chọn Test for unit root in, chọn level nếu muốn kiểm định chuỗi gốc có phải là một chưỡi dừng hay không, chọn 1st difference nếu muốn kiểm định chuỗi sai phân bậc một có phải là một chuỗi dừng hay không. Ở lựa chọn Include in test equation, chọn intercept nếu dùng phương trình (2.10), chọn trend and intercept nếu dùng phương trình (2.11), chọn None nếu dùng phương trình (2.9), chọn trend and intercept và xác định độ trễ ở lựa chọn Lag length nếu dùng phương trình (2.12).

28. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 28 PHÂN TÍCH NHÓM Khi mở một nhóm, nếu chọn View ta thấy xuất hiện thực đơn dạng drop-down như hình bên cạnh. Block thứ nhất cung cấp các cách khác nhau để mô tả dữ liệu trong nhóm. Block thứ hai trình bày các thống kê cơ bản. Block thứ ba chuyên về các thống kê của chuỗi thời gian. Block thứ tư là tên nhãn nhằm cung cấp các thông tin về nhóm. Trong phần này ta chỉ xem xét một số nội dung quan trọng thường được sử dụng trong kinh tế lượng. Thống kê mô tả Trong thống kê mô tả ta thấy có ba loại như sau: Common Sample, Individual Sample, và Boxplots. Common Sample chỉ tính các thống kê các quan sát có đầy đủ giá trị ở tất cả các chuỗi dữ liệu trong nhóm. Individual Sample tính các thống kê của các quan sát có đầy đủ giá trị ở mỗi chuỗi dữ liệu. Kiểm định đồng liên kết1 Chúng ta sẽ được biết ở chương 14 rằng khi hồi qui các chuỗi thời gian không dừng thường dẫn đến “kết quả hồi qui giả mạo”2. Tuy nhiên, Engle và Granger3 (1987) cho rằng nếu kết hợp tuyến tính của các chuỗi thời gian không dừng có thể là một chuỗi dừng và các chuỗi thời gian không dừng đó được cho là đồng liên kết. Kết hợp tuyến tính dừng được gọi là phương trình đồng liên kết và có thể được giải hích như mối quan hệ cân bằng dài hạn giữa các biến. Nói cách khác, nếu phần dư trong mô hình hồi qui giữa các chuỗi thời gian không dừng là một chuỗi dừng, thì kết quả hồi qui là thực và thể hiên mối quan hệ cân bằng dài hạn giữa các biến trong mô hình. Mục đích của kiểm định đồng liên kết là xác định xem một nhóm các chuỗi không dừng có đồng liên kết hay không. Có hai cách kiểm định. * Kiểm định nghiệm đơn vị phần dư Giả sử GDP và M1 là hai chuỗi thời gian không dừng và ta có mô hình hồi qui như sau: GDPt = β1 + β2M1t + ut (2.13) Nếu phần dư ut là một chuỗi dừng thì kết quả hồi qui giữa GDP và M1 là “thực” và ta vẫn sử dụng một cách bình thường. Nói cách khác, GDP và M1 có quan hệ đồng liên kết và β2 được gọi là hệ số hồi qui đồng liên kết. Các bước thực hiện trên Eviews như sau: 1) Ước lượng mô hình GDPt = β1 + β2M1t + ut 1 Cointegration test Spurious regression 3 Đoạt giải Nobel kinh tế năm 2003 2

29. 29 Hướng dẫn sử dụng Eviews 5.1 Phùng Thanh Bình 2) Kiểm định nghiệm đơn vị chuỗi ut * Kiểm định đồng liên kết dựa trên phương pháp VAR của Johasen Eviews thực hiện kiểm định đồng liên kết trên cơ sở phương pháp luận VAR của Johasen (1991, 1995a). Lưu ý, kiểm định này chỉ có hiệu lực khi ta đang xét các chuỗi thời gian không dừng. Giả sử ta muốn kiểm định đồng liên kết giữa GDP và M1 trong chúng tôi theo phương pháp luận của Johasen, ta chọn View/Cointegration Test … sẽ thấy xuất hiện một hộp thoại như sau: Ở lựa chọn Deterministic trend in data có năm giả định về các chuỗi thời gian đang xem xét. Như sẽ được trình bày ở chương 14, một chuỗi thời gian có thể dừng sai phân hoặc dừng xu thế, trong đó có thể có xu thế xác định và xu thế ngẫu nhiên. Tương tự, các phương trình đồng liên kết có thể có hệ số cắt và xu thế xác định. Trên thực tế, trường hợp 1 và 5 ít khi được sử dụng. Nếu ta không chắc chắn về các giả định xi thế, ta nên chọn trường hợp 6. Nếu mô hình có các biến ngoại sinh thì ta đưa vào ô exog variables. Ngoài ra, ta có thể xác định độ trể của biến phụ thuộc trong mô hình ở ô Lag intervals và mức ý nghĩa ở ô MHM. Kết quả kiểm định mối quan hệ đồng liên kết giữa GDP và M1 như bảng bên

31. 31 Hướng dẫn sử dụng Eviews 5.1 Phùng Thanh Bình Lưu ý, các độ trễ của X và Y có thể khác nhau và có thể được xác định bằng một số tiêu chí thống kê khác nhau. XÂY DỰNG HÀM KINH TẾ LƯỢNG TRÊN EVIEWS Trong tài liệu này ta chỉ xét phân tích hồi qui đơn phương trình. Phần này trình bày các kỹ thuật phân tích hồi qui cơ bản như xác định và ước lượng một mô hình hồi qui, kiểm định giả thiết, và sử dụng kết quả ước lượng cho các mục đích dự báo. ĐỐI TƯỢNG PHƯƠNG TRÌNH Ước lượng hồi qui đơn phương trình trên Eviews được thực hiện bằng cách sử dụng đối tượng phương trình. Để tạo ra một đối tượng phương trình ta chọn Object/New Object … /Equation hay Quick/Estimate Equation … từ thực đơn chính, hay đơn giản chỉ cần đánh equation trong cửa sổ lệnh. Kế tiếp, ta sẽ xác định dạng phương trình trong hộp soạn thảo Specification của hộp thoại Equation Estimation và chọn phương pháp ước lượng ở ô Method. Các kết quả ước lượng được lưu trữ như một phần của đối tượng phương trình. Xác định phương trình hồi qui Khi tạo ra một đối tượng phương trình sẽ thấy xuất hiện một hộp thoại Equation Estimation và ta cần xác định ba việc sau: dạng phương trình, phương pháp ước lượng, và mẫu được sử dụng để ước lượng. Trong hộp soạn thảo dạng phương trình ta nhập các biến phụ thuộc và giải thích theo thứ tự từ trái qua phải và lưu ý xác định dạng hàm. Có hai cách xác định dạng phương trình ước lượng: liệt kê các biến và công thức. Phương pháp liệt kê dễ hơn nhưng chỉ có thể sử dụng giới hạn ở các dạng mô hình tuyến tính. Phương pháp công thức tổng quát hơn và phải được sử dụng để xác định các dạng mô hình phi tuyến và các mô hình có ràng buộc tham số. Xác định phương trình theo phương pháp liệt kê Cách đơn giản nhất để xác định một phương trình tuyến tính là liệt kê các biến trong phương trình. Trước hết, nhập tên biến phụ thuộc hay công thức của biến phụ thuộc,

32. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 32 sau đó nhập tên các biến giải thích. Ví dụ, sử dụng chúng tôi để xác định phương trình hồi qui GDP theo cung tiền M1, ta nhập vào hộp thoại soạn thảo dạng phương trình như sau: GDP c M1 (2.17) Lưu ý có hiện diện của chuỗi C trong danh sách các biến giải thích. Đây là một chuỗi mặc định sẵn trong Eviews được dùng để xác định hằng số trong phương trình hồi qui. Eviews không tự động đưa hằng số vào phương trình hồi qui vì tùy thuộc vào mô hình có hệ số cắt hay không nên ta phải đưa vào khi xác định phương trình hồi qui. C là một đối tượng đã được xác định trước trong bất kỳ một tập tin Eview nào. Đây là một vectơ hệ số mặc định – khi ta xác định phương trình bằng cách liệt kê tên các biến, Eviews sẽ lưu giữ các hệ số ước lượng trong vectơ này theo thứ tự xuất hiện trong danh sách các biến. Trong ví dụ trên, hằng số sẽ được lưu trong C(1) và hệ số của M1 sẽ được lưu trong C(2). Nếu mô hình có biến trễ một giai đoạn của biến phụ thuộc thì ta liệt kê các biết trong hộp thoại soạn thảo này như sau: GDP GDP(-1) c M1 (2.18) Như vậy hệ số của biến trễ biến GDP là C(1), hệ số của hằng số là C(2), và hệ số của M1 là C(3). Nếu mô hình có nhiền biến trễ liên tục của biến GDP thì thay vì phải nhập từng biến trễ GDP(-1) GDP(-2) GDP(-3) GDP(-4), Eviews cho phép thực hiện như sau: GDP GDP(1 to 4) c M1 (2.19) Tuy nhiên, nếu ta không đưa số 1 và dấu ngoặc đơn thì Eviews sẽ hiểu đó là số 0. Ví dụ: GDP c M1(to 2) M1(-4) (2.20) Thì Eviews sẽ hiểu ta hồi qui GDP theo hằng số C, M1, M1(-1), M1(-2), và M1(-4). Ngoài ra, ta cũng có thể đưa các chuỗi điều chỉnh vào nhóm các biến giải thích. Ví dụ ta hồi qui GDP theo hằng số, biến trễ của GDP, và biến trung bình di động hai giai đoạn của M1 như sau: GDP GDP(-1) c ((M1+M1(-1))/2) (2.21) Xác định phương trình theo phương pháp công thức Một công thức phương trình trong Eviews là một biểu thức toán về các biến và hệ số. Để xác định một phương trình bằng công thức, đơn giản là ta nhập biểu thức vào hộp thoại soạn thảo. Ví dụ, hồi qui mô hình dạng log tự nhiên như sau: log(GDP) c log(GDP(-1)) log(M1) (2.22) Hai lý do chủ yếu ta phải sử dụng phương pháp công thức này là ước lượng các mô hình ràng buộc và phi tuyến.

33. 33 Hướng dẫn sử dụng Eviews 5.1 Phùng Thanh Bình Ước lượng một phương hồi qui Phương pháp ước lượng Sau khi đã xác định phương trình, ta cần chọn phương pháp ước lượng bằng cách nhấp vào Method và sẽ thấy xuất hiện một hộp thoại dạng drop-down liệt kê các phương pháp ước lượng. Phương pháp sử dụng phổ biến nhất đối với hồi qui đơn phương trình là phương pháp bình phương bé nhất1. Trong chương trình kinh tế lượng căn bản của cuốn sách này, ta chỉ sử dụng hai phương pháp là LS – Least Squares2 và BINARY – Binary choice3. Hai phương pháp này sẽ được trình bày chi tiết vào các chương sau. Mẫu ước lượng Ta nên xác định mẫu sử dụng cho việc ước lượng mô hình. Theo mặc định, Eviews đưa ra mẫu của tập tin Eviews hiện hành, nhưng ta có thể thay đổi mẫu theo mục đích ước lượng bằng cách nhập vào hộp thoại Sample. Thay đổi mẫu ở đây không ảnh hưởng gì đến mẫu của tập tin Eviews hiện hành. Nếu có quan sát không có giá trị4, Eviews tạm thời điều chỉnh mẫu ước lượng để loại bỏ các quan sát đó ra khỏi mẫu phân tích. Ngoài ra, nếu trong mô hình có các biến trễ hay biến điều chỉnh thì Eviews cũng điều chỉnh số mẫu ước lượng. 1 Least squares/Ordinary least squares Kể cả phương pháp WLS (Weighted least squares) và GLS (Generalized least squares) 3 Hai loại mô hình sẽ được trình bày ở chương 15 là Logit và Probit 4 Missing value 2

34. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 34 Các lựa chọn ước lượng Khi chọn Options ta sẽ thấy xuất hiện hộp thoại Equation Estimation. Các nội dung trong phần lựa chọn ước lượng như Heteroskedastiscity consistent coefficient covariance và Weighted LS/TSLS sẽ được trình bày chi tiết ở chương 11 và 12. Kết quả ước lượng Sau khi đã hoàn thành các bước trên ta chọn OK trong hộp thoại Equation Estimation, Eviews sẽ hiển thị cửa số phương trình về hiển thị kết quả ước lượng. Trong kết quả ước lượng của Eviews gồm ba phần chính: Tóm tắt các đặc điểm của mô hình hồi qui (biến phụ thuộc, phương pháp ước lượng, thời điểm thực hiện ước lượng, mẫu ước lượng, và số quan sát được sử dụng cho ước lượng kết quả); Kết quả hệ số (tên các biến giải thích, giá trị ước lượng các hệ số hồi qui, sai số chuẩn, thống kê t, và giá trị xác suất); và Tóm tắt thống kê (hệ số xác định R2, R2 điều chỉnh, sai số chuẩn của hồi qui, tổng bình phương phần dư (RSS), thống kê d Durbin-Watson, AIC, SIC, thống kê F, …). Sau khi học xong chương trình kinh tế lượng căn bản ít nhất ta sẽ hiểu một cách hệ thống tất cả các thông tin trong bảng kết quả ước lượng này.

36. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 36 ta nên lưu phần dư với một tên gọi khác. Khi vừa ước lượng mô hình, nếu ta chọn Resids ở Equation ta sẽ có đồ thị hệ trục kép như sau: 2000 1500 1000 30 500 20 10 0 0 -10 -20 -30 55 60 65 70 Residual 75 80 Actual 85 90 95 Fitted Biến giả trong Eviews Để đưa biến giả vào mô hình hồi qui, thay vì phải tạo ra các biến này, Eviews đưa ra công thức hỗ trợ rất hữu ích như sau: @EXPAND(D1, D2, …) (2.23) Ví dụ sử dụng chúng tôi hồi qui biến wage theo các biến giáo dục, năm kinh nghiệm, giới thích, ngành xây dựng, và ngành dịch vụ như sau:

39. 39 Hướng dẫn sử dụng Eviews 5.1 Phùng Thanh Bình Tổng các hệ số hồi qui của log(K) và log(L) dường như lớn hơn 1, nhưng để có kết luận tin cậy ta cần kiểm định giả thiết H0: β2 + β3 = 1. Để thực hiện kiểm định Wald ta chọn View/Coefficient Tests/Wald – Coefficient Restrictions … và nhập điều kiện ràng buộc vào hộp thoại soạn thảo như sau: Lứu ý, nếu có nhiều ràng buộc khác nhau, thì mỗi ràng buộc cách nhau bằng một dấu phẩy. Eviews sẽ cho kết quả kiểm định như sau: Các giá trị thống kê sẽ được giải thích ở chương mô hình hồi qui bội. Ngoài ra, ta có thể đưa ra các điều kiện ràng buộc khác tùy vào phát biểu giả thiết. Để quyết định bác bỏ hay chấp nhận H0, nếu là mô hình hồi qui tuyến tính ta so sánh giá trị F tính toán với giá trị F phê phán ở một mức ý nghĩa xác định. Ngược lại, nếu mô hình hồi qui phi tuyến ta so sánh giá trị chi bình phương tính toán với giá trị chi bình phương phê phán với số bậc tự do bằng số ràng buộc. * Kiểm định bỏ sót biến Đây là một nội dung quan trọng trong kiểm định sai dạng mô hình. Ý tưởng của kiểm định này là khi ta đưa thêm biến vào mô hình và muốn biết các biến này có đóng góp có ý nghĩa vào việc giải thích sự thay đổi của biến phụ thuộc hay không. Giả thiết không của kiểm định này là các biến mới đưa thêm vào mô hình đồng thời không có ý nghĩa. Giả sử, với chúng tôi lúc đầu ta chỉ ước lượng mô hình như sau: log(GDPt) = B1 + B2log(M1t) + B3log(RSt) + ut Hai điểm lưu ý với kiểm định này: (2.27)

40. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 40 – Số quan sát trong hai mô hình phải bằng nhau. – Áp dụng cho mọi phương pháp ước lượng miễn là phương trình hồi qui được xác định bằng cách liệt kê các biến chứ không phải bằng công thức. Để thực hiện kiểm định bỏ sót biết ta chọn View/Coefficient Tests/Omitted Variables – Likelihood Ratio … và nhập tên các biến nghi là bị bỏ sót cần được kiểm định (giả sử đó là TIME và PR) vào hộp thoại soạn thảo và được kết quả sau đây: Để quyết định bác bỏ hay chấp nhận H0, nếu là mô hình hồi qui tuyến tính ta so sánh giá trị F tính toán với giá trị F phê phán ở một mức ý nghĩa xác định. Ngược lại, nếu mô hình hồi qui phi tuyến ta so sánh giá trị LR với giá trị chi bình phương phê phán với số bậc tự do bằng số ràng buộc. * Kiểm định thừa biến Đây cũng là một nội dung trong kiểm định sai dạng mô hình. Kiểm định này cho phép ta kiểm định xem một nhóm biến đưa vào mô hình có ý nghĩa thống kê hay không. Nói cách khác, đây là kiểm định xem các hệ số của một nhóm biến đưa vào mô hình có đồng thời bằng không hay không để quyết định có nên loại chúng ra khỏi mô hình hay không. Các điều kiện áp dụng kiểm định này cũng tương tự như kiểm định bỏ sót biến. Giả sử lúc đầu ta có mô hình như sau: log(GDPt) = B1 + B2log(M1t) + B3log(RSt) + B4PRt + B5TIME + ut (2.28)

42. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG EVIEWS 42 tương quan và thống kê Q để kiểm định “chuỗi” phần dư của mô hình hồi qui có tương quan với nhau không. Biểu đồ tự tương quan đã được trình bày ở phần xử lý dữ liệu chuỗi. Để thực hiện kiểm định phần dư có tự tương quan hay không ta chọn View/Residual Tests/Correlogram – Q Statistics … * Kiểm định nhân tử Lagrange Đây là một cách kiểm định khác với kiểm định Q để kiểm định tương quan chuỗi. Kiểm định này sẽ được trình bày ở chương 13 về lựa chọn dạng mô hình. Trên Eviews ta thực hiệm kiểm định này bằng cách chọn Views/Residual Tests/Serial Correlation LM Test … * Kiểm định White về phương sai thay đổi Tương tự, mô hình hồi qui tuyến tính cổ điển cũng giả định các hạn nhiễu có phương sai đồng nhất. Để xem phương sai của nhiễu có đồng nhất hay không ta có thể sử dụng các kiểm định Park, kiểm định Glejser, kiểm định White, … Nội dung các kiểm định này sẽ được trình bày ở chương 11 về phương sai thay đổi. Trên Eviews ta thực hiện kiểm định White bằng cách chọn hoặc View/Residual Tests/White Heteroskedasticity (no cross terms) hoặc View/Residual Tests/White Heteroskedasticity (cross terms). Kiểm định sự ổn định * Kiểm định Chow Mục đích của kiểm định Chow là xem liệu có sự thay đổi về mặt cấu trúc của mô hình hồi qui (đối với hồi qui chuỗi thời gian) giữa các giai đoạn khác nhau (do thay đổi chính sách hoặc cú sốc kinh tế) hay không. Nội dung của kiểm định này sẽ được trình bày ở chương 8 về phân tích hồi qui bội. Ta xét ví dụ trong chúng tôi Sau khi ta hồi qui tiết kiệm theo thu nhập và thực hiện kiểm định như sau View/Stability Tests/Chow Breakpoint Test … và ta nhập mốc thời gian vào hộp thoại soạn thảo để có kết quả như sau: . * Kiểm định RESET của Ramsay Mục đích của kiểm định này là xem có bỏ sót biến quan trọng trong mô hình hồi qui hay không (nhất là khi không có số liệu về biến bỏ sót đó). Nội dung của kiểm định này sẽ được trình bày ở chương 8 về lựa chọn dạng mô hình. Sau khi ước lượng, để kiểm định xem liệu mô hình có sót biến hay không ta chọn View/Stability Tests/Ramsay RESET Test …

Huong Dan Su Dung Cheat Engine 6 2 Trong Hai Tac 2

15 Tháng Giêng 2012 … Vua Hải Tặc by Tuoc Phan 5,423 views; 3:58 … 2:12 chúng tôi – Cao thủ siêu tấn công trong webgame Ninja VTC by VNplaypark 5,031 views … 6:59 hướngdẫn sử dụng cheat engine v6.1 by viet anh Duong 46,094 views….Hướng dẫn cheat web game ninja VTC – YouTube Xem tiếp

5 Lý do để xài Cheat Engine .

Cheat Engine – Phần mềm ột nhập game và ứng dụng miễn phí …

download cheat engine– Cheat Engine là một công cụ mã nguồn mở được … Ngày: 3/24/2013 11:45:28 AM, Dung lượng: 6,9 MB … và hơn thế nữa Download game Diablo 2 hoàn toàn miễn phí khi sử dụng. … Fraps là một ứng dụng của Windows được sử dụng trong các trò chơi bằng cách sử dụng công nghệ DirectX hoặc…

Vua Hải Tặc Offline bản mới nhất giống Game5 – Game Private

+ Số liệu bug chiến tich, beri và danh vọng này có công thức x*2+1 (ví dụ bạn có 500 beri thì = 500*2+1 =1001) Bạn mún cheat ở đây là 500 beri = 1001. Nhập số 1001 … Hướng dẫn lấy vàng trong vua hải tặc offline 4 · Hướng dẫn lấy vàng trong vua hải tặc offline 7. 6. Lên cấp tất cả các tướng. B1: Đi hội đàm và khi nào có đc điểm Chiến Tích thì dùng Cheat Engine B2: Đến con cừu và làm như bước nhận vàng, các bạn sẽ đổi 10k Chiến Tích thành EXP cái này áp …

Cùng vọc CheatEngine ∩(_)∩ – WordPress.com

Hướng dẫn chi tiết về Cheat Engine ( C.E ) để ột nhập các game. giới thiệu chung: 1: sử dụng để tìm game mà bạn cần ột nhập. 2: số file tìm được sau mỗi lần lọc dữ liệu. hầu như nhiệm vụ của bạn là giảm con số này xuống mức …

Dota mang phong cách Tam Quốc đã về Việt Nam – VnExpress …

Game thủ đã từng thử sức với game MOBA 3Q (Củ Hành hay Mộng Tam Quốc) của VNG sẽ cảm thấy có một sự quen thuộc “nhẹ” bởi cả 2 đều xây dựng trên thời kỳ đẫm máu nhất trong lịch sử Trung Quốc. … “Biết thân, biết phận” không theo hưởng ké sự thành công của League of Legends và Dota, Anh Hùng Tam Quốc phát triển các trận Trường Bản, Xích Bích, Đồng Quan thành những chiến dịch hoành tráng trong chiến …. Lộ cấu hình ‘khủng’ của iPhone 6.

Đêm Hoa Đăng Bi Thảm. Hồi ký của Mũ Đỏ Nguyễn Văn Lập …

Nhiệm vụ bây giờ chỉ là yễm trợ tổng quát tăng cường cho các đơn vị bạn, nên chúng tôi có thì giờ đi vào làng dân thăm hiểu tình hình luôn tiện làm công tác dân sự vụ. … và một liên đội 175 ly gồm 3 khẩu để tác xạ tăng cường cho Lữ Đoàn 3 Nhảy dù gồm các Tiểu đoàn 2,5, và 6 Nhảy Dù đóng từ Khánh Dương tức cửa ngỏ vào tỉnh Ban Mê Thuột chạy dài đến phía Bắc của Trung tâm Huấn luyện Lam Sơn. Còn Tiểu đoàn tôi yễm trợ trực tiếp cho các đơn vị tác chiến …

Thachpham.com đang dùng các plugin và dịch vụ nào?

Công dụng: Real-time backup, tức là vừa có một thay đổi nhỏ trong website nó sẽ backup ngay luôn và lưu trữ file backup lên tới 90 ngày. Theo ước tính, blog mình đang backup với tần suất vài chục giây một lần hoặc chậm …

Hướng dẫn chi tiết và bàn luận về Cheat Engine và Artmoney

ai vượt qua các bài tutorial trong CE rồi thì viết lại hướng dẫn đi, tui cũng chỉ đến tutorial 5 ~ 6 thì kẹt ~~ À ông fido ơi, median có mấy skill dù là max lv hay đủ poin cũng đâu có được thì làm sao mà ột nhập 😕 … Space Ranger 2 mình chơi rùi mà ột nhập bình thường dùng ART ột nhập tốt:D . Cách ột nhập item thì cũng dễ thui nhưng hơi lâu và mất công tẹo vì phải dùng Unknown Value và fiter đến khi nào còn khoảng vài chục add thui rồi thử, ột nhập item thích lắm có hôm tớ bỏ cả …

Huong Dan Su_Dung_Eviews_5.1( Kinh Tế Lượng)

Embed Size (px)

Hng dn s dng Eviews 5.1 Phng Thanh Bnh 1

CHNG 2 HNG DN S DNG EVIEWS TRONG PHN

TCH D LIU V HI QUI Chng ny s trnh by mt s th tc c bn ca phn mm Eviews 5.1 sinh vin c th thc hnh cc bi tp thng k v kinh t lng cc chng sau. Do mc ch chnh ca ta l thc hnh kinh t lng vi Eviews, nn chng ny ch gii hn mt s thao tc m ngi nghin cu thng hay s dng, ch khng phi ton b hng dn chi tit cch s dng Eviews. Tuy nhin, tin li cho sinh vin t nghin cu, chng ny s gii thiu s qua chc nng tr gip trong Eviews c th tham kho khi cn thit. Mt s ni dung c trnh by trong chng ny, c bit l cc kim nh, nhng chng s c hng dn mt cch chi tit hn cc chng lin quan. sinh vin c th thc hnh cc bi tp v d n nghin cu vi Eviews, chng ny s nhm vo cc ni dung sau y:

Eviews l g?

Workfile l g?

Trnh by d liu trong Eviews

i tng trong Eviews

Qun l d liu trong Eviews

Cc php ton v hm s trong Eviews?

Phn tch d liu chui v nhm

Xy dng hm kinh t lng trong Eviews

Kim nh gi thit m hnh hi qui trong Eviews

NHNG VN C BN V EVIEWS EVIEWS L G? Eviews1 cung cp cc cng c phn tch d liu phc tp, hi qui v d bo chy trn Windows. Vi Eviews ta c th nhanh chng xy dng mt mi quan h kinh t lng t d liu c sn v s dng mi quan h ny d bo cc gi tr tng lai. Eviews c th hu ch trong tt c cc loi nghin cu nh nh gi v phn tch d liu khoa hc, phn tch ti chnh, m phng v d bo v m, d bo doanh s, v phn tch chi ph. c bit, Eviews l mt phn mm rt mnh cho phn tch d liu thi gian cng nh cho vi c mu ln.

1 Vit tt ca Econometrics Views

CHNG 2: HNG DN S DNG EVIEWS 2

Eviews a ra nhiu cch nhp d liu rt thng dng v d s dng nh nhp t bn phm, t cc file sn c di dng excel hay text, d dng m rng file d liu c sn. Eviews trnh by cc biu mu, th, kt qu n tng v c th in trc tip hoc chuyn qua cc loi nh dng vn bn khc. Eviews gip ngi s dng d dng c lng v kim nh cc m hnh kinh t lng. Ngoi ra, Eviews cn gip ngi nghin cu c th xy dng cc file chng trnh cho d n nghin cu ca mnh. Eviews tn dng cc c im hin th ca phn mm Windows hin i nn rt thun tin cho ngi s dng nh dng chut, cc thanh ko, thay i giao din, thot, Nu chng trnh c ci t ng, th khi khi ng eviews ta s thy ca s chnh nh sau:

Ngun: Eviews 5 Users Guide, pp.16

WORKFILE L G? Workfile c gi chung l tp tin lm vic ca Eviews (sau y s gi l tp tin Eviews). mt cp c bn, mt tp tin Eviews n gin l mt tp tin cha cc i tng ca Eviews1. Mi i tng bao gm mt tp hp cc thng tin c lin quan n mt lnh vc phn tch c th v d mt chui2, mt phng trnh, hay mt th. Lm vic trn Eviews ch yu lin quan n cc i tng cha trong mt tp tin Eviews. Cho nn trc ht cn to mt tp tin mi hoc m mt tp tin c sn. Mi tp tin Eviews cha mt hoc nhiu trang3. Mi trang cha cc i tng ring. Trang

1 Container for Eviews objects 2 Series 3 Page

Hng dn s dng Eviews 5.1 Phng Thanh Bnh 3

c xem nh mt th mc con hay tp tin ph1 trong mt tp tin. Lu , mt tp hp cc quan st ca mt hoc mt s bin c gi l b s liu, trong mi quan st c nhn dng ring. To mt tp tin Eviews C nhiu cch to mt tp tin mi. Vic u tin trong to tp tin l xc nh cu trc ca tp tin2. C ba cch khc nhau. Th nht l m t cu trc ca tp tin Eviews. Theo cch ny, Eviews s to ra mt tp tin mi ta nhp d liu vo mt cch th cng t bn phm hoc copy v dn. Th hai l m v c d liu t mt ngun bn ngoi (khng thuc nh dng Eviews) nh Text, Excel, Stata. Thun tin hn nhiu so vi cc phin bn trc, Eviews 5 t ng phn tch ngun d liu, to mt tp tin, v nhp d liu. y l cch c s dng ph bin. Th ba l to mt tp tin theo hai bc ring bit. Trong bc mt ta to ra mt tp tin mi theo mt trong hai cch trn. Trong bc hai ta s cu trc tp tin. Chng ny ch tp trung hng dn cch th nht v th hai. (i) To mt tp tin bng cch m t cu trc m t cu trc ca tp tin Eviews, ta phi cung cp cho Eviews cc thng tin v s quan st v cc nhn dng lin quan. to mt tp tin mi trn Eviews, ta chn File/New Workfile, t thc n chnh3 m hp thoi Workfile Create. gc tri ca hp thoi l mt hp nh m t cu trc c bn ca b d liu. Ta c th chn gia Dated-Regular Frequency, Unstructured, v Balanced Panel. Ni chung, ta c th s dng Dated-regular frequency4 nu ta c b d liu thi gian, vi b d liu bng n gin ta s dng Balanced Panel, v cc trng hp khc ta s dng Unstructured5.

Sau khi ta xc nh loi cu trc d liu, Eviews s t ng nhc ta m t c im ca b d liu nh tn sut, ngy bt u, ngy kt thc i vi loi d

1 Subdirectory/Subworkfile 2 Structure of the workfile 3 Main menu 4 Nu l d liu nm, th Frequency ta chn Annual; cc Start date v End date ta nhp nm bt u v nm kt thc ca cc chui d liu. Nu d liu l qu, th Frequency ta chn Quarterly; cc Start date v End date ta nhp qu bt u v qu kt thc ca cc chui d liu. y ta c th chn mt trong hai cch sau (v d qu 2 nm 2005): 2005:2 hoc 2005Q2. Nu l d liu thng, th Frequency ta chn Monthly; cc Start date v End date ta nhp thng bt u v thng kt thc ca cc chui d liu. Tng t, ta c th chn mt trong hai cch sau (v d thng 8 nm 2008): 2008:8 hoc 2008M8. Cc t tn l ty chn (t tn tp tin v tn trang), nhng thng thng khng cn thit. 5 S dng i vi loi d liu cho v ta ch cn nhp s quan st ca b d liu (dataset) vo Observations l xong.

CHNG 2: HNG DN S DNG EVIEWS 4

liu thi gian; s quan st i vi loi d liu cho; v tn sut, ngy bt u, ngy kt thc, v s quan st ti mi thi im i vi loi d liu bng.

Hng dn s dng Eviews 5.1 Phng Thanh Bnh 5

(ii) To mt tp tin bng c t mt ngun d liu bn ngoi Ta c th m trc tip mt ngun d liu bn ngoi nh nh cch m mt tp tin Eviews. m mt file bn ngoi, trc ht ta chn File/Open/Foreign Data as Workfile1, n hp thoi Open, chn Files of type, m file cn chuyn sang tp tin Eviews, v thc hin mt s iu chnh nu cn thit. Xem v d minh ha sau y. m v chuyn mt tp tin no sang Eviews, trc ht phi xc nh th mc thch hp, ri chn tp tin (File name v Files of type) cn chuyn sang tp tin Eviews. Tuy nhin, tp tin ngun vi nh dng khc nhau s c mt s khai bo ring.

i vi tp tin Text. Khi chn v m tp tin (v d Chapter2.2.txt), ta thy xut hin hp thoi ASCII Read. Trong Column specification c ba la chn: Delimiter , Fixed , v An explicit cho php ta la chn chiu rng ca cc ct d liu hin trong tp tin. Tuy nhin, thng thng Eviews s mc nh dng Delimiter Start date/header ta thy Skip lines cho php ta la chn b cc dng u tin (thng ch li dng tn cc bin), v d y ta chn 2. iu ny ch c ngha gip ta d dng kim tra d liu ch khng cn thit lm. Mc Row specification cho php ta xc nh s quan st trong mt dng (thng thng l 1). Mc ny ni chung cng khng cn thit. Sau ta chn Next qua bc 2, v li chn Next qua bc 3. bc 3 ta c th t li tn bin bng cch chn bin v thay bng tn bin

1 D nhin ta cng c th chn File/Open/Eviews Workfile nhng s bt tin mt t xu l trong types of file s mc nh loi tp tin Eviews thi.

CHNG 2: HNG DN S DNG EVIEWS 6

mong mun (v d bin employment i thng X2). Ngoi ra, ta cng c th m t c im ca bin (v d n v tnh, ). Cui cng ta chn Finish.

Hng dn s dng Eviews 5.1 Phng Thanh Bnh 7

Bc hai, ging nh bc 3 tp tin dng Text, Eviews s a ra cc la chn c d liu v nhng thay i theo ngi s dng nh t li tn v nhn ca cc bin. Tuy nhin, trong hu ht cc trng hp ngi s dng ch cn chn Finish chp nhn nh dng mc nh. 1 Eviews 5 cho php m trc tip tt c cc tp tin dng .xls, .raw, .txt, .dta, Ngy xa ngy xa khi cha c Eviews 5, vic chuyn mt tp tin t Excel hay Text sang Eviews l mt k tch.

CHNG 2: HNG DN S DNG EVIEWS 8

Ni dung ca s tp tin ca Eviews Khi m mt tp tin lm vic ca Eviews ta s thy mt ca s nh sau:

Ngun: Eviews 5 Users Guide, pp.52 Ta c th trnh by dng tm tt ni dung ca tp tin Eviews bng cch chn View/Statistics v quay tr v th mc gc bng cch chn View/Workfile Directory.

Sau khi to mt tp tin Eviews, ta nn lu li di nh dng Eviews bng cch chn File/Save As hay File/Save Eviews s hin ra hp thoi Saveas, ta t tn cho tp tin , v chn mc chnh xc trong hp thoi Workfile Save.

TRNH BY D LIU Khi c sn tp tin Eviews, ta c th s dng cc cng c Eviews c bn phn tch d liu ca tng chui (sau y cng c gi l bin1) hay mt nhm cc bin theo nhiu cch khc nhau. Trnh by d liu ca mt chui2

xem ni dung ca mt bin no , v d M13 trong tp tin Chapter2.3.wf1, ta nhp p vo biu tng bin M1 trong ca s ca tp tin ny, hay chn Quick/Show trong thc n chnh, nhp M1 v chn OK. Eviews s m bin M1 v th hin di mt dng bng tnh mc nh.

1 Variable 2 Series statistics 3 ???

Hng dn s dng Eviews 5.1 Phng Thanh Bnh 9

t tn v nhn ca mt chui Nhp p vo thc n Name, Eviews s hin th Object Name (tn i tng), trong c phn tn bin v nhn ca bin. Nu bin c tn nhn th khi ta lp bng hoc v th, th trn bng hay th s hin th tn nhn.

V th C hai cch biu din th dng Line ca bin M1. Th nht, t Series M1 (chui M1), ta chn View/Graph/Line. Th hai, t ca s tp tin chúng tôi ta chn Quick/Graph