Thông báo

Tất cả đồ án đều đã qua kiểm duyệt kỹ của chính Thầy/ Cô chuyên ngành kỹ thuật để xứng đáng là một trong những website đồ án thuộc khối ngành kỹ thuật uy tín & chất lượng.

Đảm bảo hoàn tiền 100% và huỷ đồ án khỏi hệ thống với những đồ án kém chất lượng.

ĐỒ ÁN TỐT NGHIỆP ĐIỆN tử LedCube dùng Arduinor

mã tài liệu 301000100088
nguồn huongdandoan.com
đánh giá 5.0
mô tả 300 MB LedCube dùng Arduinor Bao gồm tất cả file asm, hex, lst, tmp....,.lưu đồ giải thuật.. CDR thuyết minh, power point báo cáo, bản vẽ nguyên lý, bản vẽ thiết kế, FILE lập trình, clip vận hành và nhiều tài liệu liên quan kèm theo đồ án này LedCube dùng Arduinor
giá 200,000 VNĐ
download đồ án

NỘI DUNG ĐỒ ÁN

LỜI NÓI ĐẦU LedCube dùng Arduinor

Đây là báo cáo đồ án môn học 1 đề tài tạo hiệu ứng cho LedCube dùng Arduinor. Trong đó cặp thu phát hồng ngoại được dùng làm cảm biến điều khiển hiệu ứng cho led. Đề tài đạt được đúng yêu cầu đề ra, mạch hoạt động tốt.

Lẽ tất nhiên, đồ án này không thể tránh khỏi nhiều thiếu sót, em rất mong nhận được sự đóng góp ý kiến từ phía các thầy cô để hoàn chỉnh đồ án cũng như phục vụ cho việc thực hiện đồ án môn học 2 & luận văn tốt nghiệp sau này.

Cuối cùng, em xin bày tỏ lòng biết ơn sâu sắc đến giáo viên hướng dẫn,Thầy HUỲNH HỮU PHƯƠNG, vì sự giúp đỡ, hướng dẫn tận tình của thầy trong suốt thời gian qua.

MỤC LỤC

                                                                                                        Trang

LỜI NÓI ĐẦU.. 1

MỤC LỤC.. 2

CHƯƠNG 1: GIỚI THIỆU LEDCUBE.. 4

CHƯƠNG 2: GIỚI THIỆU VỀ ARDUINOR VI ĐIỀU KHIỂN ATMEGA 168. 5

2.1 Tổng quan.. 6

2.2 Tóm tắt thông tin.. 6

2.3 Nguồn.. 6

2.4 Bộ nhớ.. 7

2.5 I/O.. 7

2.6 Thông tin.. 7

2.7 Lập trình.. 7

2.8 USB quá dòng bảo vệ.. 7

2.9 Đặc điểm vật lý.. 7

CHƯƠNG 3: THÀNH PHẦN MẠCH LED CUBE.. 8

3.1. Khối LedCube.8

3.2. Mạch cảm biến.8

3.2.1. Mạch thu phát hồng ngoại.8

3.2.2. Khối so sánh sử dụng opam TL082.9

3.2.3. Kết quả đạt được. 11

3.3. Mạch dịch dùng 74HC595 và Transistor số. 12

3.3.1 IC 74HC595. 12

3.3.2 BJT.. 14

3.4 Tính toán trở hạn dòng cho led.18

3.5. Kết quả thực hiện.19

3.5.1. Sơ đồ nguyên lý.19

3.5.2. Kết quả đạt được.20

CHƯƠNG 4: LƯU ĐỒ GIẢI THUẬT.. 21

4.1. Chương trình chính. 21

4.2 Chương trình ngắt.22

CHƯƠNG 5: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI. 23

CHƯƠNG 6: PHỤ LỤC.. 24

6.1 Danh sách hình vẽ.24

6.2 Code.25

6.3 Tài liệu tham khảo.56

 

CHƯƠNG 1: GIỚI THIỆU LEDCUBE

 

-LED Cube là một màn hình LED có khả năng biểu đạt thông tin và hình ảnh trực tiếp dưới dạng 3 chiều. LED Cube có khả năng tự chạy một mình hay điều khiển để thực hiện những hiệu ứng phức tạp.

-Khối LED Cube là quà tặng, lưu niệm trong những dịp lễ, ngày kỉ niệm, đám cưới hoặc dùng làm vật trưng bày trang trí, quảng cáo cho quán Cà Phê, Karaoke, nhà hàng, Bar, vũ trường , ... tạo cảm giác mới lạ và sinh động cho không gian xung quanh. LED Cube có cấu trúc dạng khối 3 chiều với nhiều kích thước khác nhau sẽ giúp bạn truyền tải được những nội dung vô cùng phong phú mà bạn khó có thể nói được bằng lời!!!

          - Hiển thị các hiệu ứng từ đơn giản đến phức tạp với nhiều kiểu phong phú, đẹp mắt.

        - Có khả năng hiển thị chữ , hình ảnh theo dạng 2 chiều và 3 chiều sinh động và khác biệt so với cách thông thường.

         - Hiển thị các hiệu ứng khác nhau theo sự thay đổi của âm thanh xung quanh ( nhạc, giọng nói....)

         - Điều khiển sự thay đổi hiệu ứng theo ý muốn từ xa hoặc chạy tự động. 

         - Hổ trợ giao tiếp và thay đổi nội dung từ máy vi tính trực tiếp thông qua cổng USB.

         - Có khả năng thay đổi nội dung, tạo ý tưởng hiệu ứng theo mọi yêu cầu.

 

 

 

CHƯƠNG 2: GIỚI THIỆU VỀ ARDUINOR VI ĐIỀU KHIỂN ATMEGA 168

 

Hình 2.1 Sơ đồ chân và các khối chức năng của Atmega 168.

2.1 Tổng quan.

- Arduino Uno SMD là một phiên bản của Uno Arduino sử dụng ATmega168. Có 13 pin I/O, 6 ANALOG, thạch anh 16 MHz , kết nối USB, 1 jack cắm điện, header ICSP, và một nút reset. Nó cung cấp mọi thứ cần thiết để hỗ trợ các vi điều khiển, chỉ cần kết nối với máy tính bằng cáp USB hoặc một adapter AC-DC hoặc pin.

2.2 Tóm tắt thông tin.

 

Vi điều khiển

ATmega168

Điện áp hoạt động

5V

Điện áp đầu vào (đề nghị)

7-12V

Điện áp vào (giới hạn)

6-20V

Digital I / O Pins

13

Ngõ vào Analog Pins

6

Dòng điện DC mỗi I/O

40 mA

Flash Memory

16 KB

SRAM

1024B

EEPROM

512B

Clock Speed

16 MHz

 

2.3 Nguồn.

- Uno Arduino được hỗ trợ thông qua kết nối USB hoặc một nguồn cung cấp điện bên ngoài. Nguồn điện được chọn tự động.Uno Arduino có thể hoạt động trên một nguồn cung cấp bên ngoài từ 6 đến 20 volt. Tuy nhiên, nếu được cung cấp ít hơn 5 volt, Uno Arduino có thể hoạt động không ổn định. Nếu sử dụng nhiều hơn 12V, Uno Arduino bị quá nóng và làm hỏng các linh kiện. Phạm vi đề nghị là 7 đến 12 volt.

 

Các chân điện như sau:

  • VIN. điện áp đầu vào Arduino .
  • 5V. Nguồn quy định cho vi điều khiển và các thành phần khác trên board.
  • 3V3 3.3 v out. Dòng điện là 50 mA.
  • GND. chân đất.

2.4 Bộ nhớ.

- ATmega168 có 16 KB, EEPROM 512B, SRAM 2014 B.

2.5 I/O.

- Có 13 I/O sử dụng như một đầu vào hoặc đầu ra: pinMode(), digitalWrite (), và digitalRead (). Hoạt động ở 5 volts. Mỗi pins có thể cung cấp hoặc nhận được tối đa 40 mA .

  • Serial: 0 (RX) và 1 (TX) Được sử dụng để nhận (RX) và truyền (TX) TTL dữ liệu nối tiếp. Ngắt bên ngoài: Pin2 và 3.
  • PWM: 3, 5, 6, 9, 10, và 11 Cung cấp 8-bit đầu ra PWM dung lệnh analogWrite ().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Những hỗ trợ chân SPI truyền thông bằng cách sử dụng thư viện SPI .
  • LED: 13. Có một LED kết nối kỹ thuật số chân 13. Khi pin là giá trị cao, đèn LED, khi pin là LOW.
  • Uno có 6 đầu vào tương tự, từ A0 đến A5, cung cấp 10 bit độ phân giải (tức là 1024 giá trị khác nhau).

2.6 Thông tin.

- Uno Arduino có một số cơ sở để giao tiếp với một máy tính, Arduino khác, hoặc vi điều khiển khác. ATmega168 cung cấp UART TTL (5V) giao tiếp nối tiếp, trong đó có sẵn trên các chân số 0 (RX) và 1 (TX). 

2.7 Lập trình.

- Uno Arduino có thể được lập trình với phần mềm Arduino.Uno Arduino đi kèm với một bộ nạp khởi động cho phép bạn tải lên mã mới cho nó mà không cần sử dụng một lập trình phần cứng bên ngoài. Nó giao tiếp bằng cách sử dụng giao thức STK500.

2.8 USB quá dòng bảo vệ

- Uno Arduino có một polyfuse resettable bảo vệ cổng USB của máy tính của bạn khi quá dòng. Mặc dù hầu hết các máy tính cung cấp bảo vệ bên trong, cầu chì cung cấp thêm một lớp bảo vệ. Nếu dòng điện hơn 500mA được áp dụng vào cổng USB, các cầu chì sẽ tự động phá vỡ kết nối.

2.9 Đặc điểm vật lý.

- Chiều dài và chiều rộng tối đa của PCB Uno là 2,7 và 2,1 inch tương ứng, với các kết nối USB và jack cắm điện mở rộng vượt ra ngoài kích thước cũ.

 

 

CHƯƠNG 3: THÀNH PHẦN MẠCH LED CUBE

3.1. Khối LedCube.

- Led cube được ghép lại từ rất nhiều led nhỏ tạo thành hình khối , với khối này ta có thể
xây dựng được các hiệu ứng.

 

Hình 3.1.1 Khối LedCube.

3.2. Mạch cảm biến.

3.2.1. Mạch thu phát hồng ngoại.

            a. Khái niệm về hồng ngoại.

            - Ánh sáng hồng ngoại là ánh sang không thể nhìn thấy được bằng mắt thường, có bước song khoảng từ 0.86um đến 0.98um. Có vận tốc truyền bằng vận tốc ánh sáng.

            - Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu. Nó được ứng dụng rộng rãi trong công nghiệp. Lượng thông tin truyền đi với ánh sang hồng ngoại lớn gấp nhiều lần so với song điện từ mà người ta vẫn dùng. Lượng thông tin có thể đạt 3 mega bit/s.

            - Tia hồng ngoại dễ bị hấp thụ, khả năng xuyên thấu kém. Trong điều khiển từ xa tia bằng hồng ngoại, chùm tia hồng ngoại phát đi hẹp, có hướng, do đó khi thu phải đúng hướng. Sóng hồng ngoại có những đặc tính quan trọng giống như ánh sang (sự hội tụ qua thấu kính, tiêu cự …). Ánh sáng thường và ánh sang hồng ngoại khác nhau rất rõ trong sự xuyên suốt qua vật chất. Có những vật chất ta thấy nó dưới một màu xám đục nhưng với ánh sáng hồng ngoại nó trởnên xuyên suốt . Vì vật liệu bán dẫn “trong suốt” đối với ánh sáng hồng ngoại , tia hồng ngoại không bị yếu đi khi nó vượt qua các lớp bán dẫn để đi ra ngoài .

            b. Nguyên tắc thu phát hồng ngoại.

- Khối thiết bị phát : là một LED hồng ngoại.

- Khối thiết bị thu : Tia hồng ngoại từ phần phát được tiếp nhận bởi LED thu hồng ngoại.

3.2.2. Khối so sánh sử dụng opam TL082.

                - Opam TL082 có chi phí thấp, tốc độ cao, có 2 JFET khuếch đại. Opam được sử dụng trong các ứng dụng tích hợp tốc độ cao, D / A chuyển đổi mẫu nhanh, và các mạch bù đắp điện áp đầu vào thấp, trở kháng đầu vào cao, tốc độ quay cao và băng thông rộng.

            Pins:

 

Hình 3.2.2.1 Opam TL082.

 

 

Mạch so sánh: 
Ðiện thế ngõ ra bảo hòa:

Hình 3.2.2.2 Mạch so sánh.
Trong đó A là độ lợi vòng hở của op-amp. Vì A rất lớn nên theo công thức trên v0 rất lớn. 
Khi Ed nhỏ, v0 được xác định. Khi Ed vượt quá một trị số nào đó thì v0 đạt đến trị số bảo hòa và được gọi là VSat.. Trị số của Ed tùy thuộc vào mỗi op-amp và có trị số vào khoảng vài chục μV. 

- Khi Ed âm, mạch đảo pha nên v0=-VSat

- Khi Ed dương, tức v1>v2 thì v0=+VSat.

3.2.3. Kết quả đạt được


            a. Sơ đồ nguyên lý

Hình 3.2.3.1 Sơ đồ nguyên lý thu phát hồng ngoại.


b.Kết quả thực hiện.

Hình 3.2.3.2 Mạch thực tế thu phát hồng ngoại.

3.3. Mạch dịch dùng 74HC595 Transistor số

3.3.1 IC 74HC595

Hình 3.3.1.1 IC 74HC595.

  1. Chức năng :
         - Là ic ghi dịch 8 bit kết hợp chốt dữ liệu , đầu vào nối tiếp đầu ra song song.
         - Chức năng: Thường dùng trong các mạch quét led 7 , led matrix …để tiết kiệm số chân VDK tối đa (3 chân) . Có thể mở rộng số chân vi điều khiển bao nhiêu tùy thích mà không ic nào có thể làm được bằng việc mắc nối tiếp đầu vào dữ liệu các ic với nhau .
  2. Sơ đồ chân:
 

PINS 1-7, 15

Q0 " Q7

Output Pins

PIN 8

GND

Ground, Vss

PIN 9

Q7"

Serial Out

PIN 10

MR

Master Reclear, active low

PIN 11

SH_CP

Shift register clock pin

PIN 12

ST_CP

Storage register clock pin (latch pin)

PIN 13

OE

Output enable, active low

PIN 14

DS

Serial data input

PIN 16

Vcc

Positive supply voltage

Sơ đồ hoạt động của chíp :

Hình 3.3.2 Sơ đồ hoạt động của chip 74HC595.

...........................

CHƯƠNG 6: PHỤ LỤC

6.1 Danh sách hình vẽ.

 

Hình 2.1 Sơ đồ chân và các khối chức năng của Atmega 168.5

Hình 3.1.1 Khối LedCube.8

Hình 3.2.2.1 Opam TL082. 9

Hình 3.2.2.2 Mạch so sánh. 10

Hình 3.2.3.1 Sơ đồ nguyên lý thu phát hồng ngoại.11

Hình 3.2.3.2 Mạch thực tế thu phát hồng ngoại.11

Hình 3.3.1.1 IC 74HC595.12

Hình 3.4.1.1 Phân cực BJT.. 18

Hình 3.5.1.1 Sơ đồ nguyên lý 74HC595 và BJT.. 19

Hình 3.5.1.2 Mạch thực tế 74HC595 và BJT.20

Hình 4.1.1 Lưu đồ chương trình chính.21

Hình 4.1.2 Lưu đồ chương trình ngắt.22

Hình 5.1 kết quả đạt được.23

 

 

6.2 Code.

#include

#include

int data = 7;

int clock = 4;

int latch = 3;

int a = 0;

int t1 = 8;

int t2 = 9;

int t3 = 10;

int t4 = 11;

int t5 = 12;

int c25 = 6;

void setup()

{

pinMode(t1, OUTPUT);

pinMode(t2, OUTPUT);

pinMode(t3, OUTPUT);

pinMode(t4, OUTPUT);

pinMode(t5, OUTPUT);

pinMode(c25, OUTPUT);

pinMode(data, OUTPUT);

pinMode(clock, OUTPUT);

pinMode(latch, OUTPUT);

pinMode(2, INPUT);

   EIMSK |= (1 << INT0);

// chon ngat canh len: 11

EICRA = _BV(ISC01) | _BV(ISC00);

}

ISR(INT0_vect)

{

a++;

if (a>=6)

{

   a=0;

}

 

}

void loop()                    

{

switch (a)

   {

case 0:        

                 shiftOut(data, clock, MSBFIRST,0XFF);

               shiftOut(data, clock, MSBFIRST,0XEF);

               shiftOut(data, clock, MSBFIRST,0XFF);

               digitalWrite(latch, HIGH);

               delay(25);

                 digitalWrite(latch, LOW);

               digitalWrite(t2,LOW);

               digitalWrite(t1, HIGH);

               digitalWrite(t3,LOW);

               digitalWrite(t4,LOW);

               digitalWrite(t5,LOW);

               digitalWrite(c25, HIGH);

             delay(75);

                 digitalWrite(t1, HIGH);

               digitalWrite(t2,HIGH);

               digitalWrite(t3,LOW);

               digitalWrite(t4,LOW);

               digitalWrite(t5,LOW);

               digitalWrite(c25, HIGH);

             delay(75);

                 digitalWrite(t1, HIGH);

               digitalWrite(t2,HIGH);

               digitalWrite(t3,HIGH);

               digitalWrite(t4,LOW);

               digitalWrite(t5,LOW);

               digitalWrite(c25, HIGH);

             delay(75);

             digitalWrite(t1, HIGH);

               digitalWrite(t2,HIGH);

               digitalWrite(t3,HIGH);

               digitalWrite(t4,HIGH);

               digitalWrite(t5,LOW);

               digitalWrite(c25, HIGH);

             delay(75);

             digitalWrite(t1, HIGH);

             digitalWrite(t2,HIGH);

             digitalWrite(t3,HIGH);

             digitalWrite(t4,HIGH);

             digitalWrite(t5,HIGH);

             digitalWrite(c25, HIGH);

           shiftOut(data, clock, MSBFIRST,0XFF);

           shiftOut(data, clock, MSBFIRST,0XEF);

           shiftOut(data, clock, MSBFIRST,0XBE);

           digitalWrite(c25, HIGH);

           digitalWrite(latch, HIGH);

           delay(25);

           digitalWrite(latch, LOW);

           delay(75);

             digitalWrite(c25, HIGH);

           shiftOut(data, clock, MSBFIRST,0XFF);

           shiftOut(data, clock, MSBFIRST,0XEF);

           shiftOut(data, clock, MSBFIRST,0X7B);

           digitalWrite(c25, HIGH);

           digitalWrite(latch, HIGH);

           delay(25);

           digitalWrite(latch, LOW);

           delay(75);

           shiftOut(data, clock, MSBFIRST,0XFF);

           shiftOut(data, clock, MSBFIRST,0XEE);

           shiftOut(data, clock, MSBFIRST,0XEF);

           digitalWrite(c25, HIGH);

           digitalWrite(latch, HIGH);

           delay(25);

           digitalWrite(latch, LOW);

           delay(75);

           shiftOut(data, clock, MSBFIRST,0XFF);

           shiftOut(data, clock, MSBFIRST,0X8F);

           shiftOut(data, clock, MSBFIRST,0XFF);

           digitalWrite(c25, HIGH);

           digitalWrite(latch, HIGH);

           delay(25);

           digitalWrite(latch, LOW);

           delay(75);

           shiftOut(data, clock, MSBFIRST,0XFB);

           shiftOut(data, clock, MSBFIRST,0XEF);

           shiftOut(data, clock, MSBFIRST,0XFF);

           digitalWrite(c25, LOW);

           digitalWrite(latch, HIGH);

           delay(25);

           digitalWrite(latch, LOW);

           delay(75);

           shiftOut(data, clock, MSBFIRST,0XBD);

           shiftOut(data, clock, MSBFIRST,0XEF);

           shiftOut(data, clock, MSBFIRST,0XFF);

           digitalWrite(c25, HIGH);

           digitalWrite(latch, HIGH);

           delay(25);

           digitalWrite(latch, LOW);

           delay(75);

 

 

 

Close