Giáo Trình Arduino Vs Proteus T So N Gui

October 13, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Giáo Trình Arduino Vs Proteus T So N Gui...

Description

 

 

Giáo viên: DƯƠNG ĐÌNH DẪN  DẪN  TỔ: TIN HỌC  HỌC 

NĂM HỌC 2019 –  2020  2020 LƯU HÀNH NỘI BỘ 

 

 

LỤC   MỤC LỤC Lời nói đầu Chương 1: Tổng quan về Arduino Uno ........................................................................ 3 1. Tổng quan .................................................................................................................. 1 2. Sơ đồ chân của Arduino ............................................................................................ 2 Chương 2: Cài đặt chương trình Arduino IDE và Driver cho Arduino ........................ 3 1. Cài đặt chương trình Arduino IDE ................................. ............... ................................ ................................ ............................ ............ 3 2. Cài đặt Driver  ............................................................................................................   ............................................................................................................ 4 3. Arduino IDE .............................................................................................................. 7

Chương 3: Hướng dẫn cài đặt bản mô phỏng Arduino trên Proteus.............. ........................... ............. 11 Chương 4: Giao tiếp Arduino với một số linh kiện điện tử ............................... .............. .......................... ......... 12 1) Project 1: Led nhấp nháy  ........................................ Error! Bookmark not defined.  2) Project 2 : Giao tiếp với còi chip ............................ Error! Bookmark not defined.  3) Project 3 : Giao tiếp với cảm ứng một chạm TTP223BError! TTP223B Error! Bookmark not

defined.  4) Project 4 : Giao tiếp với Relay ................................ ................ ................ Error! Bookmark not defined.  5) Project 5: Giao tiếp cảm biến đo nhiệt độ 6) Project 6 : Giao tiếp với cảm biến ánh

LM35. ... Error! Bookmark not defined. 

sáng ........... Error! Bookmark not defined. 

7) Project 7: Giao tiếp với cảm biến chuyển động PIR Error! Error! Bookmark not defined.  8) Project 8: Giao tiếp với LCD 16x2 ............... ......................... .......... Error! Bookmark not defined.  9) Project 9.Giao tiếp với cảm biến độ ẩm của đất ..... Error! Bookmark not defined.  10) Project 10: Giao tiếp tiếp Arduino với Servo motor  ... Error! Bookmark not defined. 

Tài liệu tham khảo 48

 

 

Lời Nói Đầu  Đầu  Arduino đã và đang được sử dụng rất rộng rãi trên thế giớ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 độ độcc đá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 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 đến nhiều, các tài liệu liên quan đến nó vẫn còn rất hạn chế. Được sự giới thiệu và chỉ dẫn của thầy Nguyễn Tấn Nó –  Công   Công ty Xuân Vinh, Vinh, sau một thời gian tìm hiểu tác giả đã biên soạn tài liệu “HƯỚNG “ HƯỚNG DẪN SỬ DỤNG CƠ BẢN ARDUINO”. ARDUINO ”. Trong tài liệu này cung cấp c ho các bạn học sinh THPT một lượng kiến thức cơ bản nhất về Arduino cũng như các ứng dụng thực tế của nó. Tài liệu gồm có các nội dung sau: Chương 1: Tổng quan về Arduino Uno. Chương 2: Cài đặt chương trình Arduino IDE và Driver cho Arduino. Chương 3: Hướng dẫn cài đặt bản mô phỏng Arduino trên Proteus. Chương 4: Giao tiếp Arduino với một số 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 các bạn học sinh. 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 đồng nghiệp giáo viên trong tổ Tin học cũng như góp ý của các bạn học sinh. Mọi ý kiến đóng góp xin liên hệ: [email protected]

 

 

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

16 MHz

1

 

 

2. Sơ đồ chân 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 ng oài thông qua jack cắm 2.1mm ( cực dương ở giửa ) hoặc có thể sử dụng 2 chân V in và GND để cấp nguồn cho Arduino. Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 –   20 volt. Chúng ta có thể cấp 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 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. Chân 5V và chân 3.3V (Output voltage) : các chân này dùng để lấy nguồn ra từ nguồn mà chúng ta đã cung cấp cho Arduino. Lưu ý : không được cấp nguồn vào các chân này vì sẽ làm hỏng Arduino. 2

 

  GND: chân mass. c)  Chip Atmega328.

Chip Atmega328 Có 32K bộ nhớ 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() digitalRead()  để điều khiển các chân này tôi sẽ đề cập chúng

ở các phần sau. 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): 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), 1 3 (SCK), các chân này hỗ trợ

giao tiếp theo

chuẩn SPI. I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C. Các chân A4 (SDA) và A5 (SCL) cho  phép chúng tao giao tiếp giửa Arduino Arduino với các llinh inh kiện có chuẩn giao tiếp là I2C. e) Reset (7): dùng để reset

Arduino. 

Chương 2: Cài đặt chương trình Arduino IDE và Driver cho Arduino 1. Cài đặt chương trình Arduino IDE http://arduino.cc/en/Main/Software  và tải về chương Các bạn truy cập vào trang web  http://arduino.cc/en/Main/Software

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

3

 

 

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. (Ver 1.8.9 mới nhất)  Sau khi cài đặt xong thì giao diện chương trình như sau:

Hình 2: Arduino IDE

2. Cài đặ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”

4

 

 

Hình 3: Driver Software Installation. Menu chọn Control Panel  kế đến chúng ta chọn System Bây giờ bạn click vào Start Menu  and Security, click Security, click System System  và sau đó chọn Device Manager.  Manager. 

Hình 4: Device Manager.

Chúng ta sẽ thấy cảnh báo màu vàng thiếu driver trên Arduino. Click chuột phải trên Arduino Uno icon sau đó chọn “Update Driver Software”

5

 

 

Hình 5: Right click và chọn ”Update Driver Software”  Chọn “Browse my computer for driver software”.

Hình 6: Click chọn “Browse my computer for driver software” Chọn đường dẫn tới folder “driver” nơi mà phần mềm Arduino được lưu trữ.

Hình 6: Driver

Click “Next” Windown tự động cài đặt driver, qua trình cài đặt driver hoàn tất.

6

 

 

3. Arduino IDE Arduino IDE là nơi để soạn thảo code, kiểm tra lỗi và upload cod e 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, mở 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 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 …

Hình 11: Click Exam Examples. ples.

8

 

  Edit menu:

Hình 11: Edit menu   Sketch menu

Hình 12: Sketch menu Trong Sketch menu :   Verify/   Show

Compile : chức năng kiểm tra lỗi code.

Sketch Folder : hiển thị nơi code được lưu.

  Add

File : thêm vào một Tap code mới.

  Import

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

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. 10

 

 

Chương 3: Hướng dẫn cài đặt bản mô 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 om/search/label/Proteus l/Proteus   http://blogembarcado.blogspot.com/search/labe

Hình 15: Thư viện mô phỏng Arduino. Sau khi download về các bạn chép 2 file ARDUINO.IDX và ARDUINO.LIB vào thư mục: Proteus 7: C:\Program Files (hoặc x86) \Labcenter Electronic Electronics\Proteus s\Proteus 7 Professi Professional\LIBRAR onal\LIBRARY Y Proteus 8: C:\Program Files (hoặc x86) \Labcenter Electronics\Pr Electronics\Proteus oteus  professional\Data\LIBR  professional\D ata\LIBRARY ARY

8

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

11

 

 

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.

Chương 4: Giao tiếp Arduino với một số linh kiện điện tử. HƯỚNG DẪN SỬ DỤNG BREADBOARD  BREADBOARD  I. Giớ  Giớ i thiệ thiệu Lúc mớ i h ọc v ề Arduino thì ngoài khái ni ệm về Arduino, thì chúng ta còn gặ p thêm một khái niệm mớ i nữa là breadboard. Khái niệm này cũng không quá khó, nhưng để  giúp các  bạn mớ i h ọc đỡ  ph  phải tìm kiếm google (yêu hàng Vi ệt) nên tôi xin mạn phép viết ng ắn l ại giúp các bạn mớ i tiế p cận vớ i Arduino có thể rút ngắn thờ i gian tìm tòi? II. Vì sao lạ lại cầ cần breadboard? Khi làm việc với Arduino, để l ắ p ráp mạch, sẽ r ất bất tiện khi phải hàn linh kiện mà chưa thể biết hàn như vậy có đúng hay không? Các bạn chuyên nghiệ p có thể nói r ằng, chúng ta có thể dùng  dùng Proteus  Proteus để mô phỏng. Nhưng với mình, điều đó không có gì thú vị  cả, mình thích tr ải nghiệm cảm giác r ắ p ráp mạch hơn. Việc ra đờ i mạch cắm thử breadboard có thể  giải quyết đượ c vấn đề nêu trên và hơn đó là dễ dàng sử dụng dành cho ngườ i mớ i bắt đầu. Hiển nhiên, sau đó khi thấy tiềm năng của nó thì hàng loạt sản phẩm nhái của Trung Quốc cũng đã đượ c xuất ra vớ i giá cả chỉ bằng một nửa vớ i hàng thật. Giúp ngườ i dùng phát triển 12

 

  các sản phẩm đượ c t ạo ra, k ết n ối linh kiện gi ữa M ạch Arduino và các linh ki ện khác mà không cần phải sử dụng mỏ hàn.

Breadboard (Đài Loan sản xuất)

Testboard nhái

13

 

 

Phân loạ loại Có r ất nhiều loại mạch Breadboard khác nhau trên th ị trườ ng, ng, tùy vào cách sử dụng của sản  phẩm cần làm ra. Loại thông dụng là Breadboard 400 l ỗ  cắm (half breadboard) ho ặc Breadboard 830 lỗ (breadboard).

Half breadboard

III. Cấ Cấu tạ tạo breadboard 1. Đập Đập vào mắ mắt bạ bạn thấy thấy điều điều gì? (Bên ngoài) Đầu tiên, đậ p vào mắt chúng ta là những ô vuông nhỏ. Không cần là dân chuyên nghiệ p cũng biết đó là lỗ cắm dây. Kích thướ c cạnh của nó là 2.54mm (0.1 inch), và chúng cũng cách nhau một khoảng cách tương tự. Tiếp đến là những con số, cũng không cần tinh ý cũng nhận thấy r ằng, ằng, chúng đượ c viết lên breadboard để ta dễ dàng xác định đươc vị trí của một ô. Ngoài ra, còn 2 thanh đỏ, xanh ở  hai  hai bên thể hiện nơi các bạn nên gắn cực âm và cực

dương. Lưu ý: breadboard không có sẵn nguồn đâu đó nhé, đó chỉ là 2 thanh đánh dấu để  các bạn dễ dàng nhận biết thôi nha. Chứ bạn muốn xanh là dương cũng đượ c mà.

14

 

   Ngoài ra, còn một lưu ý nhỏ nữa mà mình không biết phải nói như thế nào, thôi thì b ạn xem hình r ồi mình chú thích nhé.

Vớ i breoadboard ở   trên, trên, nó có sự đứt quãng giữa các đường xanh, đỏ. Điều đó có ý nghĩa r ằng,  mạch ằng, đoạn xanh / đỏ bên này sẽ không nối với đoạn xanh / đỏ bên  bên kia. Trong Trong khi khi đó, ở  m

 breadboard bên dướ i nó lại nối với nhau. Điều đó thể hiện chúng nối tắc vớ i nhau trên mỗi dây đỏ / xanh. Mạch breadboard nó th ể  đượ c mở   r ộng bằng cách k ết nối nhiều breadboard lại vớ i nhau thông qua các khớ   p nối bên hông của breaboard. Giống như trò xế p hình vậy.

15

 

 

2. Ẩn sau lớ  lớ p nhựa nhựa đó  đó  Bên dướ i lớ  p nhựa đó là những dãy dây điện đượ c mắc nối vớ i nhau theo một quy tắc nhất định và hầu như giống nhau vớ i mọi loại breadboard. Để dùng breadboard bạn ph ải n ắm đượ c quy tắc này. Nói đao to búa lớ n thế thôi chứ nó đơn giản lắm.

 Nhìn vào hình thì chắc hẳn các bạn sẽ có m ột chút

ng r ồi ấn tượ ng ồi đúng không nào. Bạn đối xứng vớ i mạch breadboard của mình là rõ ngay. Các dòng k ẻ ngang, dọc màu cam chính là những đoạn nối tắt trên breaboard đó. 

16

 

 

CẦU NHẤP NHÁY THEO YÊU CẦ 1. CÁCH LÀM ĐÈN LED NHẤP Bài tậ p này, chúng ta sẽ tìm hiểu cách để điều khiển một con đèn led nhấ p nháy. PHẦ N CỨ   NG  



 



 



Arduino Uno sáng 5mm, bạn chỉ cần ra tiệm mua LED siêu 01 LED (khuyên dùng loại  LED siêu sáng 5mm sáng 5mm là người ta bán thôi)   220 Ohm (người ta không bán lẻ từng con điện trở, vì vậy bạn nên mua 01 điện trở  220 nghìn), sau này còn dùng nhiều thì mua luôn một bì điện trở khoảng 100 con ( vài nghìn),

luôn 1000 con (< (< 10 nghìn)) nghìn)) LẮP MẠCH

 Như hình vẽ sau

Mã lậ lập trình và giả giải thích tiên, cứ mỗi khi dùng một con LED, chúng ta ph ải pinMode OUTPUT chân Digital Trướ c tiên, mà ta sử dụng cho con đèn LED. Trong ví dụ  này, chúng ta s ử dụng chân LED là chân digital 13. Nên đoạn code sau cần nằm trong void setup()  pinMode(13, OUTPUT); OUTPUT); Để bật một con đèn LED, bạn phải digitalWrite HIGH cho chân số 13 (chân Digtal đượ c k ết nối với con LED). Đoạn code này nằm trong void loop() digitalWrite(13,HIGH); 17

 

  Dòng lệnh trên sẽ cấ p một điện thế là 5V vào chân số Digital 13. Điện thế sẽ đi qua điện tr ở  ở 220ohm   220ohm r ồi ồi đến đèn LED (sẽ làm nó sáng mà không b ị cháy, ngoài ra bạn có thể các loại điện tr ở  ở  khác đèn LED tắt. Và để thấy đượ c tr ạng thái bật và tắt của đèn LED bạn phải dừng chương tr ình ình trong một khoảng thời gian đủ lâu để mắt cảm nhận đượ c (nói vậy thôi, chứ bạn chỉ cần dừng chương trình trong vài miligiây là thấy đượ c r ồi). Vì vậy, hàm delay đượ c tạo ra để làm việc này (Dừng hẳn chương trình  bao nhiêu mili giây)! giây)!

Sau đây là đoạn code full của bài học hôm nay 1.  /*  2.  Blink - Nhấp nháy  3. 

Đoạn code làm nhấp nháy một đèn LED cho trước 

4.  */  5. 

6.  // chân digital 13 cần được kết nối với

đèn LED  7.  // và chân digital 13 này sẽ được đặt tên là 'led'. Biến 'led' này có kiểu dữ liệu là int và có giá trị là 13  8.  int int led  led = 13; 13;  9.  10. 

// Hàm setup chạy một lần duy nhất khi khởi động chương trình  

11.  void void setup  setup() ()   {  12.  13. 

// đặt 'led' là OUTPUT 

pinMode( pinMode (led led, , OUTPUT  OUTPUT); );   

14.  }  15.  16. 

// Hàm loop chạy mãi mãi sau khi kết thúc hàm setup() 

17.  void void loop  loop() ()   {  18. 

digitalWrite( digitalWrite (led led, , HIGH  HIGH); );   

19. 

delay( delay (1000 1000); );   

20. 

digitalWrite( digitalWrite (led led, , LOW  LOW); );   

21. 

delay( delay (1000 1000); );   

// bật đèn led sáng  // dừng chương trình trong 1 giây => thây đèn sáng được 1 giây  // tắt đèn led  // dừng chương trình trong 1 giây => thấy đèn tối được 1 giây 

22.  } 

Bài tậ tập: 1.  Hãy lắ p mạch và lậ p trình thiết k ế cho 2 đèn led bật tắt liên tục (1 con led sáng; con led còn lại tắt và ngượ c lại)

2.  Hãy lắ p mạch và lậ p trình thiết k ế cho 8 con led lần lượ t bật tắt  18

 

 

3.  Hãy lắ p mạch và thiết k ế cho con led sáng dần và tắt dần.  2. GIAO TIẾ TIẾP VỚ  VỚ I CÒI CHIP Bài tậ p này, chúng ta sẽ tìm hiểu cách để điều khiển một còi chip sẽ phát ra âm thanh theo yêu cầu. Ứ ng ng dụng làm hệ thống báo cháy hoặc hệ thống chống tr ộm. PHẦ PH CỨ NG NG ẦN CỨ   

Arduino Uno

 

01 còi chip





hoạt động: Điện áp hoạt Điện động: 5V Dòng hoạt động: coi chip t ắt. Và để thấy đượ c tr ạng thái bật và tắt của coi chip bạn phải dừng chương trình tr ong ong một khoảng thời gian đủ  lâu để  mắt cảm nhận đượ c (nói vậy thôi, chứ bạn chỉ cần dừng chương trình trong vài miligiây là thấy đượ c

20

 

  r ồi). Vì vậy, hàm delay đượ c tạo ra để làm việc này (Dừng hẳn chương trình bao nhiêu mili giây)!

Sau đây là đoạn code full của bài học hôm nay #define coichip 8 void setup() { // put your setup code here, to run once:  pinMode(coichip,OUTPUT);  pinMode(coichip,O UTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(coichip,1); digitalWrite(co ichip,1); //bật coi chip delay(3000); //cho còi chip kêu trong 3 giây digitalWrite(coichip,0); //tắt còi chip digitalWrite(coichip,0); delay(2000); //trong 2 giây }

3. GIAO TIẾP VỚI CẢM ỨNG 1 CHẠM ĐIỆN DUNG TTP223B MINI  MINI  Cảm ứ ng ng 1 chạm chạm điện ng điện dung TTP223B mini có kích thướ c nhỏ gọn và giá thành r ẻ, ẻ, thườ ng đượ c s ử  dụng trong các ứng dụng cảm ứng điện dung: bàn phím, công t ắc cảm ứng, báo động,…  Cấp điện 3~5 VDC vào chân VCC và GND.  Nếu có thao tác chạm cảm ứng chân OUT sẽ xuất tín hiệu và đèn Led sẽ sáng báo hiệu.

THÔNG SỐ SỐ K Ỹ THU  THUẬ ẬT  

IC chính: TTP223B

 

Điện áp làm việc: 3 ~ 5VDC  





 



 



Dòng điện tiêu thụ: 0.025mA  Cảm ứng xuyên qua các phi kim như kính, nhựa, acrylic, …  

21

 

 

Sơ đồ chân: đồ chân:

nối: Sơ đồ k  đồ k ết nố

Code:

/*  /*   * Kết nối:  *

CB

Arduino  Arduino  

*

VCC

5V  5V  

*

GND

GND  GND  

22

 

  *

I/O



*/  */   void  void  setup setup() ()    {  Serial.begin begin(9600); (9600);   

}  void  void  loop loop() ()    {  Serial.println println( (digitalRead digitalRead(3)); (3));



Bài tậ tập: 1.  Hãy lắ p mạch và lậ p trình thiết k ế sao cho khi ta ch ạm tay vào TTP223B thì đèn led

thìvà đèn tắt. thiết k ế sao cho khi ta ch ạm tay vào TTP223B thì đèn led 2.  sáng Hãy l3ắ pgiây mạch lậ pled trình sáng dần sau khi sáng tối đa thì đèn tự tắt.

3.  Hãy lắ p mạch và thiết k ế cho con led sáng dần và tắt dần.  4.  Hãy lắ p mạch và lậ p trình thiết k ế sao cho khi ta ch ạm tay vào TTP223B thì còi chip phát tiếng kêu trong 3 giây sau đó tắ t.  5.  Hãy lắ p mạch và lậ p trình thiết k ế sao cho khi ta ch ạm tay vào TTP223B thì còi chip phát tiếng kêu trong 3 giây đồng thời đèn led sáng lên trong 3 giây sau đó còi chip và led cùng t ắt.  6.  Hãy lắ p mạch và lậ p trình thiết k ế sao cho khi ta ch ạm tay vào TTP223B thì còi chip phát 3 tiếng kêu sau đó tắt.  7.  Hãy lắ p mạch và lậ p trình thiết k ế sao cho khi ta ch ạm tay vào TTP223B thì còi chip phát 3 tiếng kêu đồng thời đèn led sáng lên sau đó

còi chip và led cùng tắ t. 

23

 

 

4. GIAO TIẾP VỚI RELAY  RELAY  Thông số   ccủa một module relay Một module rơ -le

đượ c t ạo nên bở i 2 linh kiện thụ  động cơ bản là rơ -le -le và transistor, nên -le có những thông số c ủa chúng. Nói như thế th ật phức t ạ p, nên mình có cách module rơ -le khác và sẽ liệt kê ngay cho bạn ở  dưới đây.    Hiệu điện thế kích t ối ưu  

người bán và ngườ i bán sẽ  đáp ứng đúng loại phù hợ  p vớ i  bạn. Ngoài ra bạn có thể xem ảnh dướ i (mục số 5) o  Chẳng hạn, bạn cần một module relay sẽ làm nhiệm vụ bật tắt một bóng đèn (220V) khi tr ờ  sánghoạt động ở  m  m ức 5-12V thì bạn b ảo h ọ bán loại ời  t ối t ừ cảm biến ánh sángho module relay 5V (5 volt) ho ặc module relay 12V (12 volt) kích ở   mức cao (bạn xem bài xem  bài viết cảm biến ánh sáng để xem cách hoạt động của cảm biến và suy ra tại sao lại dùng module relay kích ở  m  mức cao).   Các mức hiệu điện thế tối đa và cường độ dòng điện tối đa của đồ dùng điện khi nối -le vào module rơ -le o  Cái này bạn xem phía trên relay thôi. Bạn xem ví dụ về hình ảnh ở dưới nhé   o 

Cái này bạn phải hỏi



24

 

 

-  10A - 250VAC: Cường độ dòng điện tối đa qua các tiếp điể m của rơ -le -le vớ i hiệu điện

thế =3.0) {

digitalWrite(8,1);

} else { digitalWrite(8,0); } Serial.print("Dien Serial.print(" Dien ap A1= "); Serial.println(da); float nt = (da*100); Serial.print("Nhiet do = "); Serial.print("Nhiet Serial.println(nt); delay(1000); }

7. GIAO TIẾ TIẾP VỚ  VỚ I CẢ CẢM BIẾ BIẾN CHUYỂN CHUYỂN ĐỘNG ĐỘNG PIR Ở bài này, tôi sẽ nói sơ qua tính ứng d ụng của c ảm biến này trước. Như các bạn bi ết nhà của Bill Gates có h ệ thống chỉ cho phép bật đèn khi có ngườ i và tự điều chỉnh độ sáng của đèn thích hợp. Đúng vậy, một phần là sử dụng cảm biến này. Sau khi tìm hi ểu về PIR các  bạn có thể tự thiết k ế cho mình một chiếc đèn bật khi có ngườ i chẳng hạn. 33

 

   Ngoài ra, các bạn có thể làm hệ thống còi báo khi có tr ộm xâm phạm chăng. Hoặc là làm ra những cái bẫy k ết hợ   p cảm biến này. Vớ i các cửa hàng tiện lợ i có thể sử dụng để nhận  biết có khách hàng r ồi ồi

phát loa “Chào quý khách!”. Các bạ n th ấy đấy, v ớ i cảm bi ến PIR tính ứng dụng của nó khá cao, sau đây mình sẽ hướ ng ng dẫn cho các bạn làm một chiếc còi  báo tr ộm mini nhé. PIR (Passive InfaRed sensor) là gì? PIR là cảm bi ến

đượ c k ết n ối b ở i 2 chữ Passive  –   InfaRed. Có nghĩa là bộ c ảm thụ  động (Passive) dùng nguồn kích là tia hồng ngoại (InfaRed). Tia hồng ngoại là tia phát ra từ các vật thể  nóng. Cơ thể  con ngườ i có nhiệt độ  thông thườ ng ng là 37 0C và phát ra các tia h ồng ngoại do đó cảm biến này sẽ hấ p thụ và chuyển hóa nó thành tín hi ệu điện. Vì nó hấ p thụ  chứ không tự phát nhiệt ra nên nó đượ c gọi là thụ động (Passive). Các bạn có thể tìm hiểu thêm về tia hồng ngoại qua cảm biến hồng ngoại (IR sensor). Vậy tại sao con ngườ i phát ra tia hồng ngoại mà ta lại không thấy gì nhỉ? Có một thí nghiệm thú vị cho các bạn có hứng thú vớ i tia hồng ngoại, hãy thử l ấy chiếc

điện thoại của mình bật chế độ chụ p hình lên và lấy chiếc remote điều khiển TV đưa cái đèn phía trướ c vào và bấm nút thử xem hiện tượ ng ng gì xảy ra nhé! Qua thí nghi ệm đó bạn có thể giải thích đượ c câu hỏi trên.

Cấu tạ tạo Quay về vớ i c ảm biến PIR, đi kèm vớ i PIR sẽ là một kính hình bán cầu, đượ c gọi là kính Fresnel. Fresnel có chức năng chống tia tử ngoại đồng thờ i mở   r  r ộng góc dò cho PIR. V ậy

34

 

  cảm biến dùng chất li ệu

gì để thu tia hồng ngoại? Và vì sao lại là kính Fresnel mà không dùng thấu kính hội tụ (kính Focus)? Hình bên trái là PIR, bên phải là Fresnel.

Nguyên lí Các nguồn nhiệt (với ngườ i và con vật là nguồn thân nhiệt) đều phát ra tia hồng ngoại, qua kính Fresnel, qua kích lọc lấy tia hồng ngoại, nó đượ c cho tiêu tụ trên 2 cảm biến hồng ngoại gắn trong đầu dò, và tạo ra điện áp đượ c khuếch đại vớ i transistor FET. Khi có một vật nóng đi ngang qua, từ  2 cảm biến này sẽ cho xuất hiện 2 tín hiệu và tín hiệu này sẽ đượ c khuếch đại để có biên độ đủ cao và đưa vào mạch so áp để tác động vào một thiết bị điều khiển hay báo động.

35

 

 

Chuẩn bị Chuẩ bị   

Board Arduino UNO R3

 

Module PIR - Cảm biến chuyển động

 

1 đèn LED 

 

1 cái loa









Lắp mạ mạch

36

 

 

int ledPin = 13;

//Chân LED Arduino

int inputPin = 2;

//Chân tín hiệu cảm biến PIR

int pirState = LOW; int val = 0;

//Bắt đầu với không có báo động

//Giá tr ị 

int pinSpeaker = 10;

//Chân chuông

void setup() {  pinMode(ledPin,  pinMode(ledPi n, OUTPUT); OUTPUT);  pinMode(inputPin,  pinMode(inputP in, INPUT) INPUT);;  pinMode(pinSpeaker,  pinMode(pinS peaker, OUT OUTPUT); PUT); Serial.begin(9600); } void loop() {

val = digitalRead(inputPin); digitalRead(inputPin); //đọc giá tr ị đầu vào. if (val == HIGH) //nếu giá tr ị ở  m  mức cao.(HIGH - 1) { digitalWrite(ledPin, digitalWrite( ledPin, HIGH); // bật LED  playTone(300,  playTone(30 0, 160);

// thờ i gian chuông kêu

37

 

  delay(150); if (pirState == LOW)

{ Serial.println("Motion Serial.println( "Motion detected!");  pirState = HIGH; HIGH; } }

//Ngượ c lại

else {

digitalWrite(ledPin, digitalWrite( ledPin, LOW);  playTone(0, 0); delay(300); if (pirState == HIGH) { Serial.println("Motion Serial.println( "Motion ended!");  pirState = LOW; LOW; }

}

} void playTone(long duration, int freq) //Hàm xu ất âm thanh { duration *= 1000; int period = (1.0 / freq) * 1000000; long elapsed_time = 0; while (elapsed_time < duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period delayMicrosec onds(period / 2); digitalWrite(pinSpeaker, digitalWrite( pinSpeaker, LOW); delayMicroseconds(period delayMicrosec onds(period / 2); elapsed_timee += (period); elapsed_tim } 38

 

  }

Bài tậ tập: 1.  Thiết k ế m ạch và lậ p trình làm hệ th ống b ật

đèn phòng t ắm hoặc phòng làm

việc tự động mỗi khi có ngườ i. i. 2.  Thiết k ế  mạch và lậ p trình làm h ệ  thống bật xâm nhậ p trái phép vào nhà. nhà.

chuông báo động khi có ngườ i

3.  Thiết k ế và lậ p trình làm h ệ thống chống tr ộm bằng cách bật đèn và phát còi  báo hiệu khi có ngườ i xâm nhậ p trái phép.

8. GIAO TIẾ TIẾP VỚ  VỚ I LCD 16x2 I. Giớ i thiệu Hôm nay, các bạn sẽ tìm cách điều khiển màn hình LCD bằng Arduino mà không sử dụng module I2C LCD. Vì chỉ cần Arduino và LCD 16x2 thì bạn sẽ tốn khá nhiều dây để lậ p trình điều khiển đượ c LCD II. Mục tiêu cần nắm Bạn sẽ biết đượ cc::   Pinout của một số chân quan tr ọng vớ i module LCD   Điều khiển nó bằng Arduino UNO R3 



III. Phần cứng 1.  Arduino UNO 2.  Breadboard 3.  Dây cắm breadboard  4.  Module LCD (16x02, (16x02, 20x04,...  20x04,... miễn nó là LCD ô vuông) 5.  Một biến tr ở  ở  (1k, 4.7K, 10K,... cái nào cũng đượ c cả) IV. Giớ i thiệu sơ lượ c về LCD và thư viện điều khiển LCD của Arduino

1. Thư viện điều khiển LCD của Arduino Thư viện LiquidCrystal là thư viện điều khiển LCD trên Arduino, nó đượ c xây dựng để cho các bạn có thể  lập trình điều khiển các module LCD ô vuông một cách nhanh chóng mà không cần ph ải l ậ p trình nhiều. Thư viện này đượ c vi ết để phù hợ   p v ớ i con IC HD44780 ng mình toàn thấy các con LCD của (con điều khiển module LCD), tuy nhiên, trên th ị trườ ng Trung Quốc và thư viện này vẫn hoạt động tốt. Nghĩa là, bạn chỉ cần mua module LCD về  và gắn vào Arduino, nạ p code là chạy đượ c, c, không cần quan tâm đến IC điều khiển LCD.

39

 

 

2. LCD pinout - sơ đồ chân của LCD

 



 



VSS: tương đương vớ i GND - cực âm VDD: tương đương vớ i VCC - cực dương (5V)  40

 

   



 



 



Constrast Voltage (Vo): điều khiển độ sáng màn hình Register Select (RS): điều khiển địa chỉ nào sẽ đượ c ghi dữ liệu Read/Write (RW): Bạn sẽ đọc (read mode) hay ghi (write mode) dữ liệu? Nó sẽ phụ  thuộc vào bạn gửi giá tr ị gì vào.

 

Enable pin: Cho phép ghi vào LCD

 

D0 - D7: 8 chân dư liệu, mỗi chân sẽ có giá tr ị HIGH hoặc LOW nếu bạn đang ở  ch  chế 





độ  đọc (read mode) và nó sẽ nh ận giá tr ị HIGH hoặc LOW nếu đang ở   chế  độ ghi (write mode)  



Backlight (Backlight Anode (+) và Backlight Cathode (-)): T ắt bật

đèn màn hình

LCD.

3. Cách dùng thư viện vớ i LCD Module LCD có thể  được điều khiển ở   chế  độ: 4-bit điều khiển và 8- bit  bit điề u khiển. V ớ i cách dùng ở  ch  chế  độ 4-bit, bạn cần 7 chân ở  Arduino,  Arduino, và nếu muốn dùng hết khả  năng của

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF