1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế 8 led đơn sáng tắt dùng arduino uno r3

27 464 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 1,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chip này có thể xử lí tín hiệu cho xe điều khiển từ xa, làmmột trạm đo nhiệt độ - độ ẩm và hiển thị lên man hình LCD,… Nguồn Arduin Uno R3 có thể được cấp nguồn qua: Thông qua cổng USB v

Trang 1

- Thực hiện hoàn chỉnh đề tài nghiên cứu và ứng dụng vào đề tài thực tế.

- Phát triển đề tài và khắc phục hạn chế gặp phải

- Tìm hiểu và thiết kế thành công 8 Led đơn sáng tắt dùng Arduino Uno R3

3 ĐỐI TƯỢNG VÀ KHÁCH THỂ

3.1 Đối tượng nghiên cứu

8 Led đơn sáng tắt dùng Arduino Uno R3

3.2 Khách thể nghiên cứu

- Tham khảo thực tế các dạng Led đơn dùng Arduino Uno R3 có trên thị trường

- Vận dụng các kiến thức lý thuyết và thực hành được học trong các môm về mạchđiện tử và lập trình căn bản để thực hiện đề tài

4 NHIỆM VỤ NGHIÊN CỨU

Để thực hiện thành công đề tài “ THIẾT KẾ 8 LED ĐƠN SÁNG TĂT DÙNGARDUINO UNO R3” , người nghiên cứu đã bỏ ra nhiều thời gian để tìm hiểu về led,tham khảo cơ sở lý thuyết Trong phạm vi đề tài, người nghiên cứu thực hiện các nhiệm

vụ sau đây:

Trang 2

- Đọc kỹ các tài liệu liên quan về mạch điện tử, lập trình căn bản.

- Bố trí các led

- Nối dây giữa các bóng led với board Arduino Uno R3

- Nạp code hiệu cho board Arduino Uno R3

- Tham khảo các led ngoài thực tế và thiết kế sao cho thẩm mỹ nhất

5 PHƯƠNG PHÁP NGHIÊN CỨU

5.1 Phương pháp nghiên cứu tài liệu

Nghiên cứu các đề tài như sau:

- Các giáo trình lý thuyết như: mạch điiện tử, lập trình căn bản,…

- Các sơ đồ nguyên lý, sơ đồ khối của các nhà sản xuất đề ra

- Tham khảo các thiết kế có sẵn trên wed và các tài liệu liên quan

5.2 Phương pháp nghiên cứu thực tiễn

- Tham khảo các ý kiến của các giảng viên chuyên ngành

- Tìm hiểu về các led có trên thị trường

Trang 3

PHẦN NỘI DUNG Chương 1: GIỚI THIỆU CHUNG

1.1 ĐIỆN TRỞ

Điên trở là một linh kiện có tính cản trở dòng điện, điện trở tiêu thụ điện năng vàchuyển thành nhiệt năng và làm một số chức năng khác tùy vào vị trí điện trở trongmạch

Cấu tạo: được cấu tạo từ những vật liệu điện trở suất cao như: than, magie, kim loạiNIO2, oxit kim loại, dây quấn

Người ta sử dụng các vòng màu để hiển thị giá trị của điện trở

Kí hiệu:

Hình ảnh thực tế:

Hình 1.1 Hình dạng thực tế của một số điện trở cơ bản

Cách đọc điện trở 4 vòng màu:

Trang 4

• Vạch màu thứ hai: chỉ giá trị hàng đơn vị trong giá trị điện trở.

• Vạch màu thứ ba: chỉ hệ số nhân với giá trị số mũ của 10 dùng nhân với giá trị điệntrở

• Vạch màu thứ tư: chỉ giá ntrij sai số của điện trở

• Điện trở dẫn điện càng tốt thì giá trị của nó càng nhỏ và ngược lại Giá trị điện trởđược tính theo đơn vị Ohm (Ω), kΩ, MΩ, hoặc GΩ

• Vòng màu của điện trở

Hình 1.2 Bảng cách đọc điện trở theo vòng màu

1.2 TỤ ĐIỆN

Tụ điện tích năng lượng dưới dạng năng lượng điện trường, sau đó năng lượng đượcgiải phóng ĐIều này được thể hiện ở đặc tính tích và phóng điện của tụ điện Tụ điện gồm 2bản cực làm bằng chất dẫn điện được đặt song song với nhau, ở giữa là lớp cách điện gọi làchất điện môi ( giấy tẩm dầu, mica, hay gốm, không khí) Chất cách điện được lấy làm tên gọicho tụ điện ( tụ giấy, tụ dầu, tụ gốm hay tụ không khí)

Có 2 loại tụ chính: tụ phân cực và tụ không phân cực Tụ phân cực có trị số lớn vàphân biệt âm dương

Ký hiệu:

Hình dạng của tụ:

Trang 5

Hình 1.3 Hình dạng thực tế của một số loại tụ Đơn vị: đơn vị của tụ là Fara, 1 Fara có trị số rất lớn và trong thực tế người tadùng các đơn vị nhỏ hơn:

• Pico Fara(P), 1P=1/10-12 Fara

• Nano Fara(N), 1N=1/10-9 Fara

• Micro Fara(U), 1U=10-6 Fara

Cách đọc giá trị trên thân tụ:

• Đọc trực tiếp trên thân tụ

Sau trị số điện dung bao giờ cũng có trị số điện áp, điện áp ghi trên tụ chính là điện ápcực đại mà tụ có thể chịu được, nêu vượt quá giá trị này thì tụ có thể cháy nổ hay hư hỏng

1.3 LED

Cấu tạo của Led: Bản chất của LED là một đi-ốt, nó chứa một chíp bán dẫn có pha cáctạp chất để tạo ra một tiếp giáp P-N, kênh P chứa lỗ trống, kênh N chứa điện tử, dòng điệntruyền từ A-nốt (kênh P) đến K-tốt (kênh N), khi điện tử lấp đầy chỗ trống nó sinh ra bức

xạ ánh sáng, các bước sóng phát ra có màu khác nhau tùy thuộc vào tạp chất trong chipbán dẫn

Trang 7

Hình 1.4 Cấu tạo của led Hoạt động của LED:

• giống như nhiều loại đi-ốt bán dẫn khác Tùy theo mức năng lượng giải phóng cao haythấp mà bước sóng ánh sáng phát ra khác nhau ( tùy màu sắc của LED sẽ khác nhau) Mứcnăng lượng (màu sắc của LED) hoàn toàn phụ thuộc vào cấu trúc năng lượng của các nguyên

tử chất bán dẫn

• Tùy vào từng loại LED mà điện áp phân cực thuận khác nhau Đối với LED thườngthì điện áp phân cực thuận khoảng 1,5V đến 2,5V; còn đối với LED siêu sáng thì điện áp phâncực thuận có thể lên tới 5V

• khi LED hoạt động bình thường thì cường độ điện từ 10mA đến 50mA

Hình dạng một số loại led:

Hình 1.5 Các loại led

1.4 BOARD ARDUINO UNO R3

Trang 8

Hình 1.6 Hình dạng thực tế của Arduino UNO R3

1.4.1 Thông số kỹ thuât của Arduino Uno R3

Trang 9

Bộ nhớ flash 32 KB (Atmega328) với 0,5KB dùng tới bootloader

Arduino Uno có thể sử dụng 3 vi điều khiển họi 8bit AVR là Atmega8,Atmega168, Atmega328 Chip này có thể xử lí tín hiệu cho xe điều khiển từ xa, làmmột trạm đo nhiệt độ - độ ẩm và hiển thị lên man hình LCD,…

Nguồn Arduin Uno R3 có thể được cấp nguồn qua: Thông qua cổng USB với mứcđiện áp 5v, nguồn ngoài dùng với điện áp là 7 – 12V DC và giới hạn là 6 – 20V Thôngthường bạn có thể sử dụng pin 9v để cấp nguồn cho Arduino

GND (Ground): cực âm của nguồn điện cấp cho Arduino Uno Khi bạn dùng các thiết

bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau

5V: cấp điện áp 5V cho đầu ra Dòng tối đa cho phép ở chân này là 500mA.

3,3V: cấp điện áp 3,3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.

Vin (Voltage Input): để cấp cho nguồn ngoài Arduino Uno, bạn nối cực dương của

nguồn với chân này và cực âm của nguồn với chân GND

IO-REF: điện áp hoạt động của vi điều khiển trên Arduino Uno có thể được đo ở chân

này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từ chân này

để sử dụng bởi chức năng của nó không phải là cấp nguồn

RESET: việc nhấn nút Reset trên board reset vi điều khiển tương đương với việc chân

Lưu ý:

Arduino Uno không có bảo vệ khi cắm ngược nguồn vào: do đó bạn phải hết

sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino Uno.Việc làm chập mạch nguồn vào sẽ làm Arduino không sử dụng được nữa Trong thờigian đầu tìm hiểu tốt nhất hãy sử dụng nguồn cấp qua cổng USB

Các chân 3,3V và 5V trên Arduino: là các chân dùng để cấp nguồn ra cho các

thiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thểlàm hỏng board

Cấp nguồn: khi cấp nguồn ngoài không qua cổng USB cho Arduino Uno với điện

áp dưới 6V có thể làm hỏng board

Trang 10

Cấp điện áp: khi cấp trên 3V vào chân RESET trên board có thể làm hỏng vi điều

khiển Atmega328

Cường độ dòng điện vào/ra: ở tất cả các chân Digital và Analog của Arduino

Uno vượt quá 200mA sẽ làm hỏng vi điều khiển

Cấp điện áp: trên 5,5V vào các chân Digital hoặc Analog bất kì của Arduino Uno

sẽ làm hỏng vi điều khiển

Cường độ dòng điện: qua một chân Digital hoặc Analog bất kì của Arduino Uno

vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không dùng để truyền nhận dữliệu, bạn phải mắc một điện trở hạn dòng

Bộ nhớ của Arduino Uno R3

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

trong bộ nhớ Flash của vi điều khiển Sẽ có khoảng vài KB trong số này sẽ được dùngcho bootloader nhưng thường thì ít khi nào phải sử dụng quá 20kb bộ nhớ này

1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): tương tự như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu vào đây

mà không phải lo bị mất khi mất điện giống như dữ liệu trên SRAM

Trang 11

Hình 1.7 Hình dạng thực tế của Arduino UNO R3

1.4.4 Cổng vào/ra của Arduino Uno R3

Arduino Uno có 14 chân digital dùng để địc hoặc xuất tín hiệu Chúng chỉ có 2 mứcđiện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA ở mỗi chân đều có cácđiện trở pull – up từ được cài đặt ngay trong vi điều khiển Atmega328 (mặc định thì cácđiện trở này không đượ kết nối)

Một số chân digiatl có các chức năng đặc biệt như sau:

RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chânnày Kết nối bluetooth thường thấy chính là kết nối Serial không dây Nếu không cần giaotiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết

cách đơn giản, bạn có thẻ điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay

vì chỉ cố định ở mức 0V và 5V như những chân khác

năng thông thường, 4 chân này cong dùng để truyền phát dữ liệu bằng giao thức SPI vớicác thiết bị khác

LED 13: trên Arduino Uno có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút

Reset bạn sẽ thấy đèn nhấp nháy để bso hiệu Nó được nối với chân số 13 Khi chân nàyđược người dùng sử dụng LED sẽ sáng

Chân AREF: để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là

nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áptrong khoảng từ 0V→2.5V với độ phân giải vẫn là 10bit

2 chân a4 (SDA) và A5 (SCL): hỗ trợ giao tiếp 12C/TWI với các thiết bị khác 1.4.5 Giới thiệu phần mềm Arduino IDE

Arduino Uno R3 được lập trình dự trên ngôn ngữ Wrring (đây là một số biến thể củaC/C++) Do vậy có thể nói ngôn ngữ lập trình Arduino bắt nguôn từ C/C++ phổ biến hiệnnay do đó rất dễ học, dễ hiểu Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạchArduino, nhóm phát triển dự án này đã cung cấp đến người dùng một môi trường lậptrình Arduino được gọi là Arduino IDE (Intergra ted Development Environment) Gồmcác thành phần chính:

Trang 12

Giao diện

Hình 1.8 Giao diện phần mềm Arduino 1.0.5

Vùng lệnh: bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help) Phía dưới

là các icon cho phép sử dụng nhanh các chức năng thường dùng của IDE được miêu tảnhư sau:

Vùng viết chương trình: bạn sẽ viết các đoạn mã của mình tại đây Tên chương

trình của bạn được hiển thị ngay dưới các icon, ở đây nó tên là “Blink”

Trang 13

Hình 1.9 Vùng viết chương trình của Arduino 1.0.5

Vùng thông báo (debug): Những thông báo từ IDE sẽ được hiển thị tại đây Để ý

rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử dụng.Luôn chú ý tới mục này bởi nếu chọn sai loại board hoặc cổng COM, bạn sẽ không thểupload được code của mình

Hình 1.10 Vùng thông báo của Arduino 1.0.5

Một số lưu ý: Khi lập trình, các bạn cần chọn port (cổng kết nối khi gắn board

vào) và board (tên board mà bạn sử dụng) Giả sử, bạn đang dùng mạch Arduino Uno,

Trang 14

và khi gắn vào máy tính bằng cáp USB nó được nhận là COM4 thì bạn chỉnh như thếnày là có thể lập trình được nhé.

Hình 1.11 Tùy chỉnh khi Arduino Uno thông qua cáp USB

Trang 15

Chương 2: THIẾT KẾ VÀ THI CÔNG 2.1 LINH KIỆN

Các linh kiện cần chuẩn bị:

- Board Arduino Uno R3

- 8 bóng led

- 8 điện trở 150 Ohm

- 1 nguồn 5v + dầu dây nối

- 9 dây cáp 7 màu loại đực – đực hoặc đực – cái

2.2 SƠ ĐỒ KHỐI CỦA MẠCH

Hình 2.1 Sơ đồ khối của mạch led dùng Arduino Uno R3

~11

RX < 0

~9 8 7

~6 4

~3 2

D1 LED-BLUE R2

150 R3 150 R4 150 R5 150 R6 150 R7 150 R8 150

D2 LED-BLUE D3 LED-BLUE D4 LED-BLUE D5 LED-BLUE D6 LED-BLUE D7 LED-BLUE D8 LED-BLUE

Hình 2.2 Sơ đồ nguyên lý mạch 8 led đơn sáng tắt dùng Arduino Uno

Nguồn 5V hoặc 9V

Khối vi xử lý

Trang 16

- Các chân dương của led hàn nối tiếp với nhau và nối với chân nguồn

- Các chân âm hàn nối với điện trở

Hình 2.3 Các chân dương hàn nối tiếp nhau

Hình 2.4 Hàn các điện trở vào chân âm của led

Trang 17

Hình 2.5 Kết nối các led với board Arduino Uno R3

Bảng hướng dẫn nối led với board Arduino Uno R3

Trang 18

Hình 2.6 Sản phẩm sau khi đã hoàn thành

2.6 GIỚI THIỆU MỘT SỐ HÀM TRONG PHẦN MỀM LẬP TRÌNH ARDUINO IDE

Các hàm nhập xuất Digital (digital I/O):

pinMode(): Cấu hình 1 pin quy định hoạt động như là một đầu vào (INPUT) hoặc

đầu ra (OUTPUT) Xem mô tả kỹ thuật số ( datasheet) để biết thêm chi tiết vềcác chức năng của các chân

Cú pháp: pinMode(pin,mode)

Trong đó:

- pin: số của chân digital mà bạn muốn thiết đặt

- mode: INPUT, INPUT_PULLUP hoặc OUTPUT

- Trả về: không

Ví dụ:

Int ledPin = 10: // đèn LED được kết nối với chân digital 10

void setup()

Trang 19

digitalWrite(ledPin, HIGH); // bật đèn led

delay(1000); // dừng trong 1 giây

digitalWrite(ledPin,LOW); // tắt đèn led

delay(1000); // dừng trong 1 giây

*Ghi chú: các chân Analog cũng có thể được sử dụng dưới dạng Digital I/O Ví dụ: A0, A1,A2,…

• digitalRead(): đọc tín hiệu từ một chân digital (được thiết đặt là INPUT) Trả về 2 giá trịHIGH hoặc LOW

Ví dụ này sẽ làm cho đèn led tại pin 10 nhận giá trị như giá trị tại pin 2

int ledPin = 10; // chân led 10

int inPin = 2; // button tại chân 2

int val = 0; // biến “val” dùng để lưu tín hiệu từ digitalRead

void setup()

{

pinMode(ledPin,OUTPUT); // đăt pin digital 10 là output

pinMode(inPin,INPUT); // đặt pin digital 2 là input

}

void loop()

Trang 20

val = digitalRead(inPin); // đọc tín hiệu từ digital2

digitalWrite(ledPin, val); // thay đổi giá trị của đèn LED là giá trị của digital 2

Nếu một pin được thiết đặt là INPUT bởi pinMode() Lúc này digitalWrite sẽ bật (HIGH)hoặc sẽ tắt (LOW), hệ thống điện trở pullup nội bộ Chúng tôi khuyên bạn nên dùngINPUT_PULLUP nếu muốn bật hệ thống điện trở pullup nội bộ

Cú pháp: digitalWrite(pin,value)

Trong đó:

- Pin: số của chân digital mà bạn muốn thiết đặt

- Value: HIGH hoặc LOW

Trang 21

int sensVal = analogRead(A2);

sensVal = constrain(sensVal, 10, 150); // giới hạn giá trị sensVal trong khoảng [10,150]

• pow(): là hàm dùng để tính lũy thừa của một số bất kì (có thể là số nguyên hoặc số thựctùy ý) pow() trả về về kết quả tính toán này

Cú pháp: pow([cơ số],[lũy thừa]};

Ví dụ:

Int luythua1 = pow(2,3);

Float luythua2 = pow(1.2,2,3);

Double luythua3 = pow(1.11111,1.11111);

• map(): là hàm dùng để chuyển một giá trị từ một thang đo này sang một giá trị ở thang đokhác Giá trị trả về của hàm map() luôn là một số nguyên

Cú pháp: map(val,A1,A2,B1,B2);

Trong đó:

- val là giá trị cần chuyển đổi

- A1,A2 là giới hạn trên và dưới của thang đo hiện tại

- B1,B2 là giới hạn trên và giới hạn dưới của thang đo cần chuyển tới

Trang 22

• Delay(ms): Delay có nhiệm vụ dừng chương trình trong thời gian mili giây Và cứ mỗi

1000 mili giây = 1 giây

Trang 23

Trước hết đề tài này có thể có thể được phát triển cao hơn như mạch led trái tim hoặcled quảng cáo Arduino còn làm được các robot đơn giản, điều khiển nhiệt độ và phát triểnchuyền động Đi cùng đó là một môi trường phát triển tích hợp (IDE) chạy trên các máytính cá nhân thông thường và cho phép người dùng viết các chương trình cho Arduinobằng ngôn ngữ C hoặc C++.

Sau một thời gian nghiên cứu và làm ra sản phẩm mạch 8 led đơn sáng tắt dùngArduino Uno R3 em thu được nhiều kiến thức của môn học từ làm mạch cho đến lập trìnhcác hiệu ứng theo ý muốn Đăc biệt với niên luận 1 này với sự hướng dẫn của thầy Đỗ Chí

Tâm tận tình hướng dẫn em hoàn thành đúng tiến độ Tuy đã có nhiều cố gắng nhưng em

vẫn còn nhiều thiếu xót, rất mong được sự giúp đỡ của thầy Em xin chân thành cảm ơn!

Ngày đăng: 16/06/2019, 15:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w