1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Báo cáo đồ án chế tạo oscilloscope bằng arduino có code

29 1,4K 6

Đ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 29
Dung lượng 4,78 MB

Nội dung

An oscilloscope, previously called an oscillograph,12 and informally known as a scope or oscope, CRO (for cathoderay oscilloscope), or DSO (for the more modern digital storage oscilloscope), is a type of electronic test instrument that allows observation of varying signal voltages, usually as a twodimensional plot of one or more signals as a function of time. Other signals (such as sound or vibration) can be converted to voltages and displayed.

Trang 1

MỤC LỤC LỜI NÓI ĐẦU 2

CHƯƠNG I TỔNG QUAN ARDUINO 3

1.1 Giới thiệu chung về Arduino 3

1.2 Giới thiệu về board Arduino Uno R3 3

1.2.1 Các thông số chi tiết của Arduino Uno R3: 4

1.2.2 Vi điều khiển: 4

1.2.3 Nguồn sử dụng: 6

1.2.4 Các chân năng lượng: 6

1.2.5 Bộ nhớ sử dụng: 6

1.2.6 Các cổng vào/ra trên Arduino: 7

1.2.7 Phần cứng của Arduino: 8

1.2.8 Môi trường lập trình board mạch Arduino: 9

1.2.9 Các loại board mạch Arduino 10

1.2.10 Khả năng ghép nối của Arduino 11

1.2.11 Ứng dụng của Arduino 12

1.3 Giới thiệu khối hiển thị dạng sóng 13

1.4 Máy hiện sóng (Oscilloscope) 14

1.4.1 Giới thiệu chung 14

1.4.2 Chức năng của Oscilloscope 15

1.4.3 Nguyên lý hoạt động của máy Oscilloscope 15

1.4.3.1 Phân loại máy Oscilloscope 15

1.4.3.2 Oscilloscope tương tự 16

1.4.3.3 Oscilloscope số 16

2.1 Ngôn ngữ lập trình C/C++ 18

2.1.1 Tổng quan 18

2.1.2 Lịch sử phát triển 18

2.1.3 Đặc điểm của ngôn ngữ lập trình C/C++ 18

2.1.4 Cấu trúc của một chương trình C++ 19

2.2 Phần mềm viết code cho bo mạch Arduino 20

CHƯƠNG 3: THIẾT KẾ MÔ HÌNH HIỆN SÓNG OSCILLOCOPE 23

3.1 Ý tưởng thiết kế: 23

3.2 Kết quả nghiên cứu: 23

Trang 2

3.2.1 Mô phỏng và chạy thử trên proteus 23

3.2.2 Thực hiện trên thực tế 24

3.3 Nạp chương trình 25

KẾT LUẬN 26

1 Kết luận 26

2 Hướng phát triển của đề tài 26

TÀI LIỆU THAM KHẢO 27

Trang 3

LỜI NÓI ĐẦU

Hiện nay, máy hiện sóng là một thiết bị không thể thiếu của các sinh viên chuyênngành kỹ thuật điện tử, máy phục vụ cho việc nghiên cứu đồ án học tập cho sinh viên.Bên cạnh đó, máy còn là công cụ đắc lực của các chuyên gia nghiên cứu về Công nghệ

và những người làm sản xuất, lắp ráp, sửa chữa thiết bị điện tử viễn thông, công nghệthông tin… Ngoài ra, máy hiện sóng không bị giới hạn chỉ trong thế giới của các thiết

bị điện tử Với một bộ chuyển đổi thích hợp, một máy hiện sóng có thể đo đạc được tất

cả các kiểu hiện tượng vật lý, âm thanh, áp lực cơ khí, áp suất, ánh sáng hoặc nhiệtđộ…

Khoa học công nghệ ngày càng phát triển, vi điều khiển AVG và vi điều khiểnPIC ngày càng thông dụng và hoàn thiện hơn, nhưng có thể nói sự xuất hiện củaArduino vào năm 2005 tại Italia đã mở ra một hướng đi mới cho vi điều khiển Sự xuấthiện của Arduino đã hỗ trợ cho con người rất nhiều trong lập trình và thiết kế, nhất làđối với những người bắt đầu tìm tòi về vi điều khiển mà không có quá nhiều kiến thức,hiểu sâu sắc về vật lý và điện tử Phần cứng của thiết bị đã được tích hợp nhiều chứcnăng cơ bản và là mã nguồn mở Ngôn ngữ lập trình trên nền Java lại vô cùng dễ sửdụng tương thích với ngôn ngữ C và hệ thư viện rất phong phú và được chia sẻ miễnphí Chính vì những lý do như vậy nên Arduino hiện đang dần phổ biến và được pháttriển ngày càng mạnh mẽ trên toàn thế giới

Trên cơ sở kiến thức đã học trong môn học: Kỹ thuật vi điều khiển, Điện tửtương tự và số…cùng với những hiểu biết về các thiết bị điện tử, chúng em đã quyết

định thực hiện đề tài: “Nghiên cứu, thiết kế mô hình oscilloscope hiện sóng bằng Arduino và sử dụng màn hình LCD Nokia 5110” với mục đích để tìm hiểu thêm về

Arduino và làm quen với các thiết bị điện tử, nâng cao hiểu biết cho bản thân, quantrọng hơn là tạo ra một thiết bị có thể đáp ứng phần nào nhu cầu công việc học tập,nghiên cứu về lĩnh vực điện tử

Do kiến thức còn hạn hẹp nên chắc chắn không tránh khỏi những thiếu sót và hạnchế vì thế chúng em rất mong có được sự góp ý, nhắc nhở từ thầy giáo để có thể hoànthiện đề tài của mình

Chúng em xin chân thành cảm ơn thầy giáo ThS Tạ Hùng Cường đã giúp đỡchúng em rất nhiều trong quá trình tìm hiểu, thiết kế và hoàn thành đề tài này

Nghệ An, ngày….tháng… năm 2017

Sinh viên thực hiện

Lê Xuân Tiến Trần Thị Thanh Trâm

Trang 4

Với Arduino bạn có thể ứng dụng vào những mạch đơn giản như mạch cảm biếnánh sáng bật tắt đèn, mạch điều khiển động cơ…hoặc cao hơn nữa bạn có thể làmnhững sản phẩm như máy bay không người lái, máy in 3D….

Arduino thực sự đã gây sóng gió trên thị trường người yêu thích chế tạo sảnphẩm trên toàn thế giớ trong những năm gần đây, gần giống với những gì Apple đãlàm đc trên thị trường thiết bị di động Số lượng người dùng cực lớn và đa dạng vớitrì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ườisáng tạo ra chúng phải ngạc nhiên về mức độ phổ biến

Arduino là một board mạch vi xử lý được dùng để lập trình tương tác với cácthiế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ậtcủ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 những 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ínhchất nguồn mở từ phần cứng tới phầm mềm

Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng,không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ranhững thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơcấu chấp hành Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồmcác robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động Đi cùng với nó làmột môi trường phát triển tích hợp (IDE) chạy trên các máy tí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 Aduino bằng ngôn ngữ C hoặc C++

1.2 Giới thiệu về board Arduino Uno R3

Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thườngnói tới chính là dòng Arduino UNO Hiện dòng mạch này đã phát triển tới thế hệ thứ 3(R3)

Hình 1.1 Board Arduino Uno

Trang 5

- Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển.

Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máytính

- Jack nguồn: để chạy Arduino chỉ có thể lấy nguồn từ cổng USB ở trên, nhưng

không phải lúc nào cũng có thể cắm với máy tính được Lúc đó ta cần một nguồn

từ 9V-12V

- Có 14 chân vào/ra đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nối đất

(GND) và một chân điện áp tham chiếu (AREF)

- Vi điều khiển AVR: đây là bộ xử lí trung tâm của toàn bo mạch Với mỗi mẫu

Arduino khác nhau thì con chip là khác nhau Ở Arduino Uno này sử dụngATMega328

1.2.1 Các thông số chi tiết của Arduino Uno R3:

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Điện áp vào khuyên dùng 7V – 12V DC

Điện áp vào giới hạn 6V – 20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/

Trang 6

Hình 1.3 Sơ đồ chân Atmega328Arduino UNO có thể sử dụng 3 vi điều khiển họ 8 bit AVT Atmega8,Atmega168, Atmega328 Bộ não này có thể xử lý những tác vụ đơn giản như điềukhiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, làm một trạm đonhiệt độ - độ ẩm và hiển thị lên màn hình LCD

Mạch Arduino UNO R3 với thiết kế tiêu chuẩn sử dụng vi điều khiểnAtmega328 Tuy nhiên nếu yêu cầu phần cứng không cao hoặc giá thành cao thì có thể

sử dụng các loại vi điều khiển khác có chức năng tương đương nhưng rẻ hơn nhưAtmega8 ( bộ nhớ flash 8kb) hoặc Atmega168 ( bộ nhớ flash 16kb)

 Tổng quan về chip Atmega328:

Atmega328 là một chíp vi điều khiển được sản xuất bời hãng Atmel thuộc họMegaAVR có sức mạnh hơn hẳn Atmega8 Atmega 328 là một bộ vi điều khiển 8 bítdựa trên kiến trúc RISC bộ nhớ chương trình 32KB ISP flash có thể ghi xóa hàngnghìn lần, 1KB EEPROM, một bộ nhớ RAM vô cùng lớn trong thế giới vi xử lý 8 bít(2KB SRAM)

Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộtimer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vector ngắt),giao thức truyền thông nối tiếp USART, SPI, I2C Ngoài ra có thể sử dụng bộ biến đổi

số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được watchdogtimer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độ rộng xung(PWM), hỗ trợ bootloader

Atemega328 có khả năng hoạt động trong một dải điện áp rộng (1.8V - 5.5V),tốc độ thực thi (thông lượng) 1MIPS trên 1MHz

Thông số chính của Atmega328P-PU:

Trang 7

+ Số timer: 3 timer gồm 2 timer 8-bit và 1 timer 16-bit

+ Số kênh xung PWM: 6 kênh (1timer 2 kênh)

Ngày nay vi điều khiển Atmega328 thực sử được sử dụng phổ biến từ các dự ánnhỏ của sinh viên, học sinh với giá thành rẻ, xử lý mạnh mẽ, tiêu tốn ít năng lượng(chế độ hoạt động: 0.2 mA, chế độ ngủ: 0.1 μA, chế độ tích kiệm: 0.75 μA) và sự hỗA, chế độ tích kiệm: 0.75 μA, chế độ tích kiệm: 0.75 μA) và sự hỗA) và sự hỗtrợ nhiệt tình của cộng đồng người dùng AVR Và không thể không nhắc tới sự thànhcông của Vi điều khiển Atmega328 trong dự án mã nguồn mở Arduino với các modulAdruino Uno (R3), Arduino Nano, Arduino Pro mini những sản phẩm dẫn dắt chúng tavào thế giới mã nguồn mở để hoàn thành một chương trình trong “nháy mắt”

1.2.3 Nguồn sử dụng:

Arduino UNO R3 có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồnngoài với điện áp khuyên dùng là 7 – 12V DC hoặc điện áp giới hạn là 6 – 20V Nếucấp nguồn vượt quá ngưỡng giới hạn trên thì sẽ hỏng Arduino UNO

1.2.4 Các chân năng lượng:

+ GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi 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 đầ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 nguồn ngoài cho Arduino UNO, nối cực dương củanguồn với chân này và cực âm của nguồn với chân GND

+ IOREF: đ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 5V Mặc dù vậy 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ệcchân RESET được nối với GND qua 1 điện trở 10 kΩ

1.2.5 Bộ nhớ sử dụng:

Vi điều khiển Atmega328 tiêu chuẩn sử dụng trên Arduino uno r3 có:

+ 32KB bộ nhớ flash: những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớ flash của

vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng chobootloader nhưng hiếm khi nào cần quá 20KB bộ nhớ này

+ 2KB cho SRAM (Static Random Acces Memory): giá trị các biến khai báo khi lậptrình sẽ lưu ở đây Khi khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy

Trang 8

bị mất khi cúp điện giống như dữ liệu trên SRAM

1.2.6 Các cổng vào/ra trên Arduino:

Hình 1.4 Các cổng vào/ra trên ArduinoMạch Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2mứ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ột số chân digital có các chức năng đặc biệt như sau:

+ 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive –RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2chân này Kết nối bluetooth thường chính là kết nối Serial không dây Nếu không cầngiao tiếp Serial thì không nên sử dụng 2 chân này nếu không cần thiết

+ Chân PWM: 3,5,6,9,10 và 11: cho phép xuất ra xung PWM với độ phân giải 8 bit(giá trị từ 0 -> 28−1 tương ứng với 0V -> 5V) bằng hàm analogWrite Nói một cáchđơn giản là 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

+ Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chứcnăng thông thường, 4 chân này còn 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 L) Khi bấm nút Reset,bạn sẽ thếy đèn này nhấp nháy để báo 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

Arduino UNO board có 6 chân analog (A0 – A5) cung câó độ phân giải tín hiệu 10 bit(0 -> 210−1) để đọc giá trị điện áp trong khoảng 0V – 5V Với chân AREF trên board

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

Trang 9

Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sunggiúp dễ dàng lập trình và có thể mở rộng với các mạch khác Một khía cạnh quan trọngcủa Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU

của board với các module thêm vào có thể dễ dàng chuyển đổi, được gọi là shield Vài

shield truyền thông với board Arduino trực tiếp thông qua các chân khách nhau, nhưngnhiều shield được định địa chỉ thông qua serial bus I²C-nhiều shield có thể được xếpchồng và sử dụng dưới dạng song song Arduino chính thức thường sử dụng các dòngchip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, vàATmega2560 Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquinotương thích Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anhdao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù mộtvài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard dohạn chế về kích cỡ thiết bị Một vi điều khiển Arduino cũng có thể được lập trình sẵnvới một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài Điều này giúpcho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tínhgốc như là một bộ nạp chương trình

Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các boardđược lập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộcvào đời phần cứng Các board Serial Arduino có chứa một mạch chuyển đổi giữaRS232 sang TTL Các board Arduino hiện tại được lập trình thông qua cổng USB,thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232 Vài biến thể,như Arduino Mini và Boarduino không chính thức, sử dụng một board adapter hoặccáp nối USB-to-serial có thể tháo rời được, Bluetooth hoặc các phương thức khác.(Khi sử dụng một công cụ lập trình vi điều khiển truyền thống thay vì ArduinoIDE,công cụ lập trình AVR ISP tiêu chuẩn sẽ được sử dụng.)

Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng chonhững mạch ngoài Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹthuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân input

Trang 10

analog, có thể được sử dụng như là 6 chân I/O số Những chân này được thiết kế nằmphía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm) Nhiều shield ứngdụng plug-in cũng được thương mại hóa Các board Arduino Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các chân header đực ởmặt trên của board dùng để cắm vào các breadboard

Có nhiều biến thể như Arduino-compatible và Arduino-derived Một vài trong số

đó có chức năng tương đương với Arduino và có thể sử dụng để thay thế qua lại.Nhiều mở rộng cho Arduino được thực thiện bằng cách thêm vào các driver đầu ra,thường sử dụng trong các trường học để đơn giản hóa các cấu trúc của các 'con rệp' vàcác robot nhỏ Những board khác thường tương đương về điện nhưng có thay đổi vềhình dạng-đôi khi còn duy trì độ tương thích với các shield, đôi khi không Vài biếnthể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức độ tương thích khác nhau

Thiết kế board mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiềulợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm Môitrường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nềntảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng là số lượng thư việncode được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn

Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhấthiện nay là Windows, Macintosh OSX và Linux Do có tính chất nguồn mở nên môitrường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng cókinh nghiệm

Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++ Và do ngônngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn toàn cóthể nhúng thêm code viết bằng AVR C vào chương trình nếu muốn

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm pháttriển dự án này đã cung cấp đến cho người dùng một môi trường lập trình Arduinođược gọi là Arduino IDE (Intergrated Development Environment) như hình sau:

Trang 11

Hình 1.5 Giao diện lập trình cho Arduino

Được phát triển trong nhiều năm nên có rất nhiều loại Board Arduino được đềxuất Ta sẽ đi tìm hiểu các chức năng của Board này để làm sao lựa chọn cho phù hợpvới yêu cầu thiết kế của bạn.Tất cả các Board được thể hiện ở các hình trên, trên mỗiBoard có in tên, bạn chú ý để khỏi nhầm lẫn

- Arduino Micro

Board này có thiết kế nhỏ, dành cho các không gian lắp đặt nhỏ, nhẹ kích thướckhoảng 5x2cm Board này giống với Arduino Uno Có 20 chân số, trong đó có 7 chân

có thể phát xung PWM 12 chân tương tự

- Arduino Pro/Pro Micro

Trang 12

- Arduino Leonardo

Đây là board có thiết kế giống Arduino Micro, sự khác biệt lớn nhất giữa nó vàcác board khác là nó không có cổng USB dành cho việc lập trình Mọi thứ được đặttrong 1 chip điều khiển, cho phép giao tiếp thông qua cổng COM ảo và cho phép nógiao tiếp với chuột và phím máy tính dễ dàng Không giống như các Board khác, khicổng nối tiếp mở thì nó sẽ không bị reset, để gỡ rối cho chương trình thì bạn cần giaotiếp qua lệnh Serial.prints() trong hàm Setup()

- Arduino Ethernet

Như tên của nó, nó là 1 Arduino giống chức năng với UNO tuy nhiên nó đượctích hợp Module Ethernet trong nó có tích hợp thẻ SD

- Ghép nối với các cảm biến.

Tất cả những cảm biến ghép nối được với vi điều khiển thì cũng ghép nối đượcvới Arduino Các cảm biến phổ biến gồm:

Cảm biến nước, cảm biến nhiệt đô/ độ ẩm, cảm biến hồng ngoại/ ánh sáng, cảmbiến màu, cảm biến rung, cảm biến âm thanh, cảm biến siêu âm, cảm biến khí, cảmbiến áp suất, cảm biến chuyển động, cảm biến khoảng cách, cảm biến dòng điện, cảmbiến góc/ gia tốc, cảm biến Hall, cảm biến từ trường, cảm biến quang điện

- Ghép nối với các module chức năng

Nếu có kiến thức và kỹ năng về thiết kế mạch điện tử người sử dụng có thể tựthiết kế các module chức năng ghép nối với Arduino Tuy nhiên việc này đòi hỏi tốn

Trang 13

Robot: với khả năng xử lý vi diệu của mình, kèm theo đó là kích thước nhỏ con,arduino được sử dụng để làm bộ vi xử lý của nhiều loại robot, đặc biệt là các loại robot

có độ khó linh hoạt cao như di động

Điều khiển ánh sáng: việc đóng ngắt đèn LED, điều khiển ánh sáng theo cungbậc của nhạc hay tương tác với laser là những gì nằm trong tầm kiểm soát củaArduino

Game tương tác: có rất nhiều các game tương tác cần đến “bộ não” nhỏ gọn vàthông minh này và việc tương tác với PC là một trong các nhiệm vụ quan trọng

Bạn đã bao giờ nghe đến máy in 3D chưa? Đây là một cuộc cách mạng âm thầmdựa vào sự có mặt của Arduino Nhờ mở nguồn reprap nên các máy in 3D có thể tạo racác vật thể trực tiếp từ các file CAD 3D để tạo được hình ảnh trực quan sinh độngnhất

Trang 14

Ngoài ra còn có rất nhiều các ứng dụng của arduino vào trong các thiết bị máymóc trong cuộc sống khác Đây chính là một bộ vi xử lý trung tâm của các máy mócthiết bị

1.3 Giới thiệu khối hiển thị dạng sóng

Nokia 5110 là một màn hình LCD đồ họa cơ bản cho nhiều ứng dụng

Màn hình LCD Nokia 5110 sử dụng IC điều khiển Philips PCD8544, giống nhưtrong màn hình Nokia 3310 LCD PCD8544 là bộ điều khiển CMOS LCD công suấtthấp, được thiết kế để điều khiển hiển thị đồ họa 48 hàng và 84 cột Tất cả các chứcnăng cần thiết cho màn hình được cung cấp trong một chip duy nhất, dẫn đến tối thiểucác thành phần bên ngoài và mức tiêu hao năng lượng thấp Các giao diện PCD8544

để vi điều khiển thông qua một giao diện nối tiếp bus

Các tính năng chính của màn hình nokia 5110 như sau:

- Điện áp làm việc 3V – 5V.

- Độ phân giải: 84x84 pixels.

- Điều khiển độ sáng màn hình bằng xung PWM.

Màn hình Nokia 5110 rất thích hợp sử dụng cho các dự án Arduino vì kích thướcnhỏ, khả năng hiển thị ký tự nhiều, dễ giao tiếp với vi điều khiển

Hình 1.6 Màn hình Nokia 5110

- Thứ tự và chức năng các chân LCD Nokia 5110:

RST: Chân reset LCD

CE: Chân cho phép hoặc không cho phép LCD hoạt động

DC: Chân chọn dữ liệu gửi đến LCD là lệnh hay là dữ liệu để hiển thị ra màn hình.DIN: Chân truyền dữ liệu theo chuẩn SPI

CLK: Chân truyền xung nhịp theo chuẩn SPI

VCC: Chân cấp nguồn cho LCD

BL: Chân cấp nguồn cho led nền màn hình LCD

GND: Chân mass

Ngoài chuẩn SPI với 3 đường tín hiệu chuẩn (CS (CE), SCK (CLK), MOSI (DI)) thì

Ngày đăng: 15/12/2017, 22:08

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w