Các viđiều khiển được sản xuất trong họ megaMVR được thiết kế để xử lý các bộ nhớchương trình lớn và mỗi vi điều khiển trong họ này chứa lượng ROM, RAM, cácchân I / O và các tính năng kh
Trang 1BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA
ĐỒ ÁN MÔN HỌC VI XỬ LÝ
Đề tài: Thiết kế hệ thống tưới nước tự động
Giảng viên hướng dẫn : TS ĐOÀN THỊ HƯƠNG GIANG Sinh viên thực hiện:
Họ và tên sinh viên Mã sinh viên Lớp
Ma Khánh Tùng 20810430363 D15THDK&TDHĐặng Thái Anh 20810430167 D15THDK&TDHLương Đức Minh 20810430152 D15THDK&TDH
Hà Nội, tháng 11 năm 2023
Trang 2MỤC LỤC
LỜI NÓI ĐẦU
MỤC LỤC
DANH MỤC HÌNH VẼ
MỞ ĐẦU 1
1.Tính cấp thiết của đề tài 1
2 Lý do chọn đề tài 2
3 Mục đích nghiên cứu 3
4 Kết cấu 3
5 Phương pháp nghiên cứu
………
LỜI NÓI ĐẦU
Trong suốt quá trình thực hiện đề tài với nội dung Thiết kế hệ thống tưới nước tự động, chúng em đã cố gắng vận dụng những kiến thức đã học ở trường,
trong thực tế Cùng với sự giúp đỡ của TS Đoàn Thị Hương Giamg cho t ớ i nay
đã hoàn thành những yêu cầu của đề tài Đó là thiết kế hệ thống tưới cây tự động đạt độ chính xác và hoạt động tốt
Em xin chân thành cảm ơn cô TS Đoàn Thị Hương Giamg đã tận tình chỉ bảo và giúp đỡ chúng em hoàn thành đồ án Do kiến thức còn h ạ n chế trong quá trình thực hiện đồ án chúng em không tránh khỏi những sai xót kính mong quý thầy cô trong h ội đồng thi chỉ d ẫ n, b ỏ qua và giúp đỡ chúng em Nhóm em r ất mong được s ự đóng góp c ủa thầy cô và các bạn để nội dung đề tài này ngày càng hoàn thiện hơn
Hà Nội, tháng 10 năm 2023
Sinh viên thực hiện
Đặng Thái Anh
Ma Khánh Tùng Lương Đức Minh
Trang 3MỞ ĐẦU
MỞ ĐẦU
1.Tính cấp thiết của đề tài
Nền nông nghiệp c ủa n ước ta là n ề n nông nghiệp v ẫ n còn l ạ c
h ậ u c ũ ng như chưa có nhiều ứng d ụng khoa h ọc k ĩ thuật được áp
d ụng vào thực t ế R ấ t nhiều quy trình kĩ thuật trồng trọt, chăm sóc đượctiến hành một cách chủ quan và không đảm bảo được đúng yêu cầu Có thể nóitrong nông học ngoài những kĩ thuật trồng trọt, chăm sóc thì tưới nước là mộttrong các khâu quan trọng nhất trong trồng trọt, để đảm b ảo cây sinh trưởng
và phát triển bình thường, t ưới đúng và t ưới đủ theo yêu cầu nông học củacây trồng sẽ không sinh sâu bệnh, hạn chế thuốc trừ sâu cho sản phẩm an toàn,đạt năng suất, hiệu quả cao
Ngoài ra trên những tuyến phố ở khu v ự c trung tâm thành phố chúng
ta v ẫ n bắt gặp hình ảnh các xe bồn chở nước t ưới cây dọc đường gây ùn tắc,mất an toàn giao thông Mặt khác hiện nay n ước ta đang trong giai đoạncông nghiệp hóa, hiện đại hóa các thiết bị máy móc tự động được đưa vàophục vụ thay thế sức lao động của con người Vì v ậy thiết b ị t ưới đangđược nghiên c ứ u, thiết k ế , chế t ạo đưa vào thực tiễn ngày được áp d ụ ngcàng nhiều Thiết b ị t ưới c ũng r ất đa d ạ ng v ề chủng loại (vòi phun mưa,phun sương, vòi nhỏ giọt bù áp, vòi không bù áp, dây tưới nhỏ giọt ) có thông
số khác nhau phục vụ cho các loại cây khác nhau được chế t ạo từ nhiều n ướcnhư Israel, Hàn Quốc, Đài Loan, Trung Quốc , s ẽ r ất thuận tiện cho người
sử dụng lự a chọn phù hợp với nhu cầu sử dụng của mình Việc tính toán đểlựa chọn thiết bị hệ thống tưới đáp ứng được nhu cầu tưới theo nông học câytrồng và phù h ợp điều kiện kinh t ế, k ỹ thuật cho hiệu quả cao là việc c ầnthiết cho việc phát triển trên diện rộng của hệ thống tưới này Hệ thống tưới phunđáp ứng độ ẩm gốc, độ ẩm lá và không khí cho cây trồng phát triển t ố t, h ệthống tiết kiệm n ước tạo điều kiện cho cây trồng h ấp thu dinh d ưỡng khônggây r ử a trôi, thoái hóa đất, không gây ô nhiễm môi trường H ệ thống
t ưới n ước t ự động có thể k ết h ợp v ớ i bón phân, phun thuốc hóa
h ọc H ơn thế n ữ a, v ới việc thiết k ế m ột h ệ thống t ưới cây t ự động
s ẽ giúp cho con người không phải t ưới cây, không phải t ốn chi phínhân công tưới nước cũng như giám sát thời gian tưới cây Với hệ thống này,việc tưới cây s ẽ là t ự động tùy theo nhiệt độ thời tiết n ắ ng hay
m ưa, độ ẩm cao hay thấp, mùa nào trong năm… Tất cả các điều kiện đó sẽđược đưa vào hệ thống tính toán và đưa ra thời gian chính xác để b ơ m
n ước Người lao động s ẽ không c ầ n phải quan tâm đến việc tưới cây, cây
sẽ được sinh trưởng và phát triển tốt hơn nhờ việc tưới cây phù hợp và chính xáchơn
2 Lý do chọn đề tài
Trang 4Hệ thống t ưới t ự động (tưới nhỏ giọt, phun s ương …) là h ệ thốngthiết b ị tưới tốt nhất đáp ứng theo yêu cầu sinh trưởng cây trồng đang đượcứng dụng rộng trên các n ước phát triển H ệ thống t ưới n ước t ự động là
m ột hình thức t ưới n ước hợp lý, tiết kiệm sứ c lao động và chi phí nhâncông V ố n đã r ấ t phổ biến từ nhiều nước trên thế giới Tuy nhiên ở Việt Namchỉ vài ba năm trở lại đây việc vận dụng hệ thống này m ới trở thành xu
h ướng H ệ thống t ưới n ước t ự động c ũ ng trở nên phổ biến h ơ n
v ớ i người nông dân ở nông thôn cùng v ớ i quá trình hiện đại hóanông nghiệp nông thôn nhưng không phải người dân nào c ũ ng m ạnh d ạn đưavào xử dụng vì chi phí đầu tư cao
Mặt khác khoa h ọc k ỹ thuật phát triển m ạnh m ẽ đã làm thay đổi cuộc
s ố ng con người, làm cho cuộc s ố ng con người ngày càng trở nên tiện nghi
và hiện đại Kỹ thuật điện t ử phát triển con người đã t ạo ra những thiết
b ị máy móc hiện đại thay thế cho con người những công việc nặng nhọc và đòihỏi sự chính xác cao Kỹ thuật điện t ử phát triển đã nhanh chóng được ứng
d ụng vào trong nhiều lĩnh v ự c: công nghiệp, giao thông v ận t ả i, hàngkhông v ũ trụ Các thiết b ị đi ều khiển t ự động giữ vai trò c ự c k ỳquan trọng góp phần l ớ n cho s ự tiến b ộ không ngừng c ủa các l ĩ nh
v ự c này Ngành nông nghiệp n ước ta hiện nay còn phụ thuộc nhiều vàokhí h ậu t ự nhiên, và v ớ i những phương pháp s ả n xuất canh tác truyềnthống không mang lại n ăng suất cao Khi kinh tế xã hội phát triển thì nhucầu con người càng được nâng cao, đòi h ỏ i chất và l ượng nâng cao
Do đó c ầ n đến các thiết bị kỹ thuật tiên tiến có khả n ăng đo đạc và điềukhiển được các thông số của môi trường như :nhiệt độ, độ ẩm không khí,chất dinh d ưỡng cung c ấ p phù h ợ p với t ừ ng giai đoạn phát triển c ủacây trồng Xuất phát t ừ những v ấn đề thực tiễn trên em đã nghiên c ứ u
và tiến hành: “Thiết kế hệ thống tưới nước tự động”
3 Mục đích nghiên cứu
Vận d ụ ng kiến thức đã h ọc để nghiên c ứ u thiết k ế và chế
t ạo mô hình h ệ thống tưới tự động, từ đó đưa vào ứng dụng thực tiễn.Giúp cho việc tưới tiêu cây trồng ở nước ta có những phương án mới và đạt đượchiệu quả cao
4 Kết cấu
-Tổng quan về đề tài
- Giới thiệu phần cứng
- Phần mềm
-Kết quả và định hướng phát triển
5 Phương pháp nghiên cứu
Để thực hiện nội dung đề tài nghiên cứu, em tiến hành phương pháp nghiên cứusau:
Các kết quả nghiên cứu kế thừa
Trang 5Kế thừa công trình nghiên cứu của các thế hệ trước về cơ sở lý thuyết
của các phần mềm lập trình và mô phỏng
Kế thừa các nghiên cứu có trong thực tiễn
Định hướng nghiên cứu
Nghiên cứu phần mềm lập trình và mô phỏng trên máy tính
Tìm ra phương pháp lập trình đơn giản, dễ sử dụng, hiệu quả
II Giới thiệu phần cứng
1 Vi điều khiển ATmega328P-AU
Atmega328 là một vi điều khiển tiên tiến và nhiều tính năng được sản xuất bởihãng Atmel thuộc họ MegaAVR có sức mạnh vượt trội so với Atmega8.Atmega328 là một bộ vi điều khiển 8 bit dựa trên kiến trúc RISC tiên tiến Các viđiều khiển được sản xuất trong họ megaMVR được thiết kế để xử lý các bộ nhớchương trình lớn và mỗi vi điều khiển trong họ này chứa lượng ROM, RAM, cácchân I / O và các tính năng khác nhau và được sản xuất với các chân đầu ra khácnhau, từ 8 chân đến hàng trăm chân
*Đặc tính / Thông số kỹ thuật của ATmega328P
Thiết kế hiệu suất cao Tiêu thụ ít điện năng Số chân ngõ vào Analog là 6 Số chânI/O kỹ thuật số là 14 chân Số kênh PWM là 6 Tổng số chân I/O là 23 chân Giaothức truyền thông nối tiếp USART, SPI, I2C Điện áp hoạt động tối thiểu và tối đa
từ 1.8V DC đến 5.5V DC Bộ nhớ flash 32KB, SRAM 2KB, EEPROM 1KB Tốc
độ xung nhịp 16MHz Chứa tổng cộng ba bộ định thời, hai 8 bit và một 16 bit
Sơ đồ chân vi điều khiển ATmega328:
Trang 61.3.4 Các thông số khác
- Bộ nhớ
ATmega328 có 32KB bộ nhớ (với 0.5KB dành cho bootloader) Nó có 2KB bộ nhớSRAM và 1KB bộ nhớ EEPROM (có thể đọc và ghi thông qua thư viện EEPROMlibrary)
-Truyền dẫn
Arduino Uno có một số phương thức để giao tiếp với máy tính và các Arduinokhác, hoặc các dòng vi xử lý khác ATmega328 cung cấp giao tiếp nối tiếp UARTTTL (5V), trong đó có sẵn trên các chân digital 0 (RX) và 1 (TX) ATmega16U2trên các kênh giao tiếp nối tiếp với bo mạch này thông qua cổng USB và xuất hiệncổng COM ảo kết nối với phần mềm máy tính 16U2 sử dụng các trình điều khiểntiêu chuẩn phần cứng USB COM Tuy nhiên khi thực hiện trên Window, một tậptin được yêu cầu Phần mềm Arduino bao gồm một màn hình cho ta nhìn thấy được
Trang 7dữ liệu được chuyển đến bo mạch Arduino LED RX và TX sẽ nhấp nháy khi dữliệu được chuyển thông qua kết nối cổng USB của chip và cổng USB của máy tính.(không thực hiện giao tiếp nối tiếp trên chân 0 và 1)
Thư viện SoftwareSerial cho phép giao tiếp nối tiếp trên bất kỳ chân digital nàocủa Uno ATmega328 cũng hỗ trợ giao tiếp I2C (TWI) và SPI Phần mềm 19Arduino bao gồm một thư viện wire library để đơn giản hóa việc sử dụng bus I2C.Với truyền dẫn SPI, sử dụng thư viện SPI
-Tự động reset (phần mềm)
Thay vì reset vật lý trước khi tải dữ liệu, Arduino Uno được thiết kế để cho phépthay thế bằng một phần mềm chạy trên máy tính khi được kết nối Một trongnhững dòng điều khiển phần cứng (DTR) của ATmega8U2/16U2 được kết nối vớiđường dây được thiết lập của ATmega328 thông qua một tụ điện 100 nF Khi dòngnày được xác định (thấp nhất) , dòng reset rơi đủ lớn để reset lại chip Phần mềmArduino sử dụng khả năng này để cho phép tải code lên bằng cách nhấn nút uploadtrong môi trường Arduino Điều này có nghĩa là bộ nạp khởi động có thể có mộtthời gian chờ ngắn hơn, giảm thiểu DTR có thể phối hợp khi bắt đầu tải lên.Thiết lập này có ý nghĩa khác Khi Uno được kết nối với một trong hai máy tínhchạy Mac OS X hoặc Linux, nó reset mỗi khi kết nối được thực hiện từ phần mềm(thông qua cổng USB) Trong nửa giây hoặc lâu hơn, bộ nạp khởi động chạy trênUno Trong khi nó được lập trình để bỏ qua dữ liệu bị thay đổi, nó sẽ ngăn chặncác byte đầu tiên của dữ liệu gửi đến bo mạch khi kết nối được thiết lập Nếu 20một bản sketch chạy trên bo mạch nhận được cấu hình một lần hoặc các dữ liệukhác khi lần đầu tiên bắt đầu, chắc chắn rằng phần mềm mà bo mạch giao tiếp chờđợi một giây sau khi mở kết nối và trước khi gửi dữ liệu này Bảo vệ quá dòngUSB Arduino Uno có một bảng thiết lập được sử dụng để bảo vệ cổng USB củamáy tính khi ngắn mạch và quá dòng Mặc dù hầu hết các máy tính cung cấp chế
độ bảo vệ nội bộ, nhưng còn có thêm các cầu chì, các cầu chì này có thêm một lớpbảo vệ Nếu dòng cao hơn 500 mA được áp dụng cho các cổng USB, cầu chì sẽ tựđộng phá vỡ các kết nối khi ngắn mạch và quá dòng xảy ra Đặc tính vật lý Chiềudài tối đa và chiều rộng tương ứng của Uno PCB là 2,7 và 2,1 inch, với các kết nốiUSB và jack nguồn thì sẽ vượt ra ngoài kích thước cũ Bốn lỗ vít trên bo mạchdùng để gắn vào một bề mặt trong một số trường hợp Lưu ý rằng khoảng cáchgiữa chân số 7 và 8 là 160mm (0,16 ")
2 Bo mạch Arduino Uno Rev 3
2.1 Giới thiệu về Arduino
Trang 8Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các dự ánđiện tử Arduino bao gồm cả vi mạch lập trình (thường được gọi là vi điều khiển)
và một phần mềm (IDE) được sử dụng để lập trình viết và tải mã máy tính lên bomạch
Nhờ sự đơn giản và dễ tiếp cận, Arduino đã được sử dụng trong hàng nghìn
dự án và ứng dụng khác nhau Phần mềm Arduino rất dễ sử dụng cho người mớibắt đầu, nhưng đủ linh hoạt cho người dùng nâng cao Không giống như hầu hếtcác bo mạch lập trình trước đây, Arduino không cần phần cứng riêng để tải mã mớilên bo mạch - bạn có thể chỉ cần sử dụng cáp USB Ngoài ra, Arduino IDE sử dụngphiên bản đơn giản của C++, giúp việc học lập trình dễ dàng hơn
Arduino là một bo 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ổibậ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ộtngô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ấtthấp và tính chất nguồn mở từ phần cứng tới phần mềm Chỉ với khoảng $30,người dùng đã có thể sở hữu một bo Arduino có 20 ngõ I/O có thể tương tác vàđiều khiển chừng ấy thiết bị Arduino chính thức được đưa ra giới thiệu vào năm
2005 như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư MassimoBanzi, là một trong những người phát triển Arduino, tại trường Interaction DesignInstistute Ivrea (IDII) Hiện nay Arduino nổi tiếng tới nỗi có người tìm đến thị trấnIvrea chỉ để tham quan nơi đã sản sinh ra Arduino
Trang 9Một số ứng dụng của Arduino bao gồm: lập trình robot, máy bay khôngngười lái, điều khiển thiết bị ánh sáng cảm biến, máy in 3D, thiết kế hệ thống smarthome,…
2.2 Những khả năng của bo mạch Arduino
* Đọc tín hiệu cảm biến ngõ vào:
Digital: Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vàohoặc ngõ ra bằng phần mềm Do đó người dùng có thể linh hoạt quyết định sốlượng ngõ vào và ngõ ra Tổng số lượng cổng digital trên các board là 14.Analog: Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải10-bit (1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng0.5mV) Số lượng cổng vào analog là 6.Với tính năng đọc analog, người dùng cóthể đọc nhiều loại cảm biến loại tương tự khác nhau như nhiệt độ, áp suất, độ ẩm,ánh sáng, gyro, accelerometer…
* Xuất tín hiệu điều khiển ngõ ra:
Digital output: Tương tự như các cổng vào digital, người dùng có thể cấu hình trênphần mềm để quyết định dùng ngõ digital nào là ngõ ra Tổng số lượng cổngdigital là 14
PWM output: Trong số các cổng digital, người dùng có thể chọn một số cổng dùng
để xuất tín hiệu điều chế xung PWM Độ phân giải của các tín hiệu PWM này là bit Số lượng cổng PWM là 6
8-PWM có nhiều ứng dụng trong viễn thông, xử lý âm thanh hoặc điều khiển tốc độđộng cơ mà phổ biến nhất là động cơ servor trong các máy bay mô hình
* Chuẩn Giao tiếp:
Serial:
Đây là chuẩn giao tiếp nối tiếp được dùng rất phổ biến trên các bo mạch Arduino.Mỗi bo có trang bị một số cổng Serial cứng (việc giao tiếp do phần cứng trong chipthực hiện) Bên cạnh đó, tất cả các cổng digital còn lại đều có thể thực hiện giaotiếp nối tiếp bằng phần mềm (có thư viện chuẩn, người dùng không cần phải viếtcode) Mức tín hiệu của các cổng này là TTL 5V Lưu ý cổng nối tiếp RS232 trêncác thiết bị hoặc PC có mức tín hiệu là UART 12V Để giao tiếp được giữa hai mứctín hiệu, cần phải có bộ chuyển mức, ví dụ như chip MAX232
Số lượng cổng Serial cứng là 1 Với tính năng giao tiếp nối tiếp, các bo Arduino
có thể giao tiếp được với Máy tính, các bo Arduino khác, các thiết bị cảm biến, cácthiết bị đầu ra như màn hình, LED, động cơ,
Trang 10USB: Các bo Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiện kếtnối với máy tính dùng cho việc tải chương trình Tuy nhiên các chip AVR không cócổng USB, do đó các bo Arduino phải trang bị thêm phần chuyển đổi từ USB thànhtín hiệu UART Do đó máy tính nhận diện cổng USB này là cổng COM chứ khôngphải là cổng USB tiêu chuẩn.
SPI: Đây là một chuẩn giao tiếp nối tiếp đồng bộ có bus gồm có 4 dây Với tinhnăng này các bo Arduino có thể kết nối với các thiết bị như LCD, module sim, bộđiều khiển cảm biến các loại, đọc thẻ nhớ SD và MMC…
TWI (I2C): Đây là một chuẩn giao tiếp đồng bộ khác nhưng bus chỉ có hai dây.Với tính năng này, các bo Arduino có thể giao tiếp với một số loại cảm biến nhưthermostat của CPU, tốc độ quạt, một số màn hình OLED/LCD, đọc real-timeclock, chỉnh âm lượng cho một số loại loa…
* Môi trường lập trình bo mạch Arduino
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợithế 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ựatrên nền tảng C/C++ Và quan trọng là số lượng thư viện code đượ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ất hiệnnay là Windows, MacOS và Linux Do có tính chất nguồn mở nên môi trường lậptrì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ó kinhnghiệm
Trang 11Ngô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àntoàn có thể nhúng thêm code viết bằng AVR-C vào chương trình nếu muốn.2.3 Mạch điểu khiển Arduino Uno R3
2.3.1 Tổng quan về bo mạch
Arduino Uno là bo mạch vi xử lý hoạt động dựa trên ATmega328 Bo mạch này có
14 chân I/O digital (trong đó có 6 chân được dùng cho điều tiết độ rộng xung), 6đầu vào analog, tần số giao động thạch anh là 16MHz, có kết nối USB, jack cắmnguồn, chân tiêu đề ICSP, một nút reset Bo mạch này chứa tất cả các tính năng cầnthiết để hỗ trợ kết nối với các vi điều khiển khác Nguồn sử dụng cho bo mạch cóthể qua USB, sử dụng pin hoặc nguồn thông qua bộ chuyển đổi AC–DC
Arduino Uno khác với tất cả các bo mạch khác ở chỗ nó không sử dụng chip điềukhiển nối tiếp FTDI USB Thay vào đó các tính năng của ATmega16 U2 được lậptrình để chuyển đổi USB nối tiếp
Ở phiên bản thứ hai: bo mạch Uno có điện trở nối đường 8U2 HWB với đất, do đó
ta dễ dàng hơn trong việc thiết lập chế độ DFU Ở phiên bản sửa đổi thứ 3 của bomạch có các tính năng mới dưới đây: - Sơ đồ chân 1.0: Thêm các chân SDA vàSCL gần với chân AREF và 2 chân mới được đặt gần chân RESET, IOREF chophép Shield nhận nguồn cấp từ bo mạch Trong tương lai, Shield sẽ tương thích vớicác bo mạch có sử dụng AVR, có điện áp hoạt động là 5V và Arduino Due hoạtđộng ở 3.3V Một số chân trong bo mạch không được kết nối gì để dành cho mụcđích trong tương lai - Mạch Reset mạnh mẽ hơn - ATmega 16U2 thay thế cho8U2
"Uno" là từ trong tiếng Ý và được đặt tên để đánh dấu việc phát hành phiên bảnArduino 1.0 Uno và phiên bản 1.0 sẽ là phiên bản tham khảo của Arduino, và luôn
có sự cải tiến Uno là một trong những bo mạch mới nhất trong một loạt các bomạch USB Arduino, và là mô hình tham chiếu nền tảng của Arduino, để so sánhvới phiên bản trước đó, xem các thông số của bo mạch Arduino
Trang 12Điện áp đầu vào (Giới hạn) 6-20V
Số chân vào/ra số (Digital I/O) 14 (6 chân đầu ra PWM)
Số chân đầu vào tương tự (Analog
có chức năng đặc biệt:
Trang 13- Chân nối tiếp: 0 (RX) và 1 (TX) Sử dụng để nhận và truyền dữ liệu TTL Chânnày được nối với chân tương ứng của ATmega16U2
- Chân ngắt ngoài: 2 và 3 Chân này có thể được thiết lập để thực hiện ngắt khiđiện áp quá thấp hoặc thay đổi đột biến giá trị điện áp Thường sử dụng hàm ngắtattachInterrupt()
- PWM: 3, 5, 6, 9, 10 và 11 Xung PWM có độ rộng là 8 bits Xung trên các chân3,9,10,11 có tần số là 490Hz, xung trên chân 5,6 có tần số 980Hz Khi điều chếxung đầu ra sử dụng hàm analogWrite()
- SPI: 10(SS), 11 (MOSI), 12 (MISO), 13 (SCK) Các chân này hỗ trợ truyền dẫnSPI sử dụng thư viện SPI
- LED: 13 Có một đèn LED được nối với chân 13 Khi điện áp chân 13 ở mức caoLED sáng và ở mức thấp thì LED tắt
Uno có 6 đầu ra analog, có nhãn là A0 đến A5, mỗi chân được cung cấp 10 bits dữliệu (tương ứng với 1024 giá trị khác nhau) Nguồn cấp cho các chân này là từ 0-5V, mặc dù nó có thể thay đổi phạm vi hoạt động của chúng bằng cách sử dụngchân AREF và hàm analogReference() Ngoài ra, một sô chân có chức năngchuyên biệt:
- TWI: A4 (SDA) và A5 (SCL) Hỗ trợ truyền thông TWI sử dụng thư viện Wire.Còn có hai chân khác trên bo mạch là:
- AREF: Điện áp tham chiếu cho đầu vào tương tự Sử dụng với hàmanalogReference()
- Reset Được dùng để thiết lập lại vi điều khiển Thường sử dụng nút reset để hỗtrợ các khối trên bo mạch
3 Màn hình LCD 2004 I2C
Màn hình LCD 2004 I2C một sản phẩm quen thuộc với những người mới học vàmuốn thực hiện các dự án về điện tử, lập trình Sản phẩm khắc phục được nhượcđiểm kết nối cần đến 8 dây của các module led khác, sản phẩm dùng module I2Ctích hợp nên việc kết nối trở nên đơn gỉan với chỉ 4 dây LED 20X04 có khả nănghiển thị 4 hàng, mỗi hàng 20 kí tự, tương ứng với 4 hàng 20 cột Để sử dụng đượcsản phẩm với chuẩn I2C cần thêm thư viện hỗ trợ và phải biết địa chỉ của thiết bị
Trang 14trong đường truyền I2C Thiết bị có độ bền cao đồng thời có rất nhiều ví dụ mẫuđược cộng đồng Arduino xây dựng sẵn sẽ giúp người mới sử dụng làm quen nhanhhơn cũng như tiết kiệm được thời gian trong việc phát triển ứng dụng của mình.
Thông số kĩ thuật:
Điện áp hoạt động: 5VDC
Dòng điện tiêu thụ: 350µA - 600µA
Nhiệt độ hoạt động: -30°C đến 75°C
Kích thước 96 x 60 mm, chữ đen, nền xanh lá hoặc xanh dương
Đèn nền (backlight) có thể điều khiển bằng biến trở hoặc PWM
Có thể điều khiển bằng 6 chân tín hiệu
Hỗ trợ hiển thị bộ kí tự tiếng Anh và tiếng Nhật
Sơ đồ chân
Sơ đồ chân của LED text 20x04 có 16 chân, được sử dụng để điều khiển các đènLED Ngoài ra, module sử dụng thêm IC tích hợp giao tiếp I2C, có 4 chân được sửdụng để kết nối với bo mạch Arduino hoặc bo mạch điều khiển khác
VSS: tương đương với GND - cực âm
VDD: tương đương với VCC - cực dương (5V)
Constrast Voltage (Vo): điều khiển độ sáng màn hình
Register Select (RS): lựa chọn thanh ghi (RS=0 chọn thanh ghi lệnh, RS=1chọn thanh ghi dữ liệu)
Read/Write (R/W): R/W=0 ghi dữ liệu , R/W=1 đọc dữ liệu
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 đang ở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ànhình LCD
Trang 15Module kết nối I2C PCF8574A với LCD LCM2004a
Để giao tiếp với LCD 1602 hay 2004 thông thường chúng ta cần kết nối 16 chân với LCD hoặc ít nhất là 6 chân Nhưng với module chuyển đổi này, chúng ta chỉ cần kết nối 2 chân tín hiệu I2C là SDA và SCL Ngoài ra trên module còn hỗ trợ biến trở để điều chỉnh độ tương phản của LCD và Jumper để kích hoạt đèn nền LCD
Trang 16 Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt
Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD
Biểu đồ logic
Trang 17Kết nối
Lcd có thể hoạt động theo 2 chế độ: 4 bit và 8 bit Chế độ 4 bit đòi hỏi phải kết nối với 7 chân I/O của Arduino Chế độ 8 bit đòi hỏi phải kết nối với 11 chân I/O của Arduino Trong đề tài này em chọn chế độ 4bits để kết nối với LCD
Kết nối Arduino Uno R3 với IC LCM2004
Nối tắt 2 chân của ngõ ra LED trên IC
Lưu ý, để nạp chương trình thành công lên LCD 2004 hoặc một module, vi điều khiền bất kì trong đường truyền I2C cần phải biết chính xác địa chỉ module, vi điềukhiển đó
Trang 184 Cảm biến ánh sáng LDR có opAmp LM393
Cảm biến ánh sáng LDR (Light Dependent Resistor), kết hợp với Op-Amp LM393, là một ứng dụng phổ biến trong việc kiểm soát ánh sáng hoặc thực hiện các hệ thống tự động hóa dựa trên mức độ ánh sáng trong môi trường Dưới đây là một giới thiệu đầy đủ về cảm biến ánh sáng LDR và cách sử dụng nó với Op-Amp LM393:
4.1 LM393 là gì?
Trang 19LM393 là một IC so sánh điện áp 8 chân được sử dụng rộng rãi, đóng gói SO-8 và các gói khác IC nhỏ này được tích hợp nhiều tính năng phù hợp để sử dụng làm bộ
so sánh IC chứa hai Opamps so sánh độ chính xác cao riêng biệt có thể hoạt động
từ nguồn điện đơn hoặc kép Một tính năng khác là dải điện áp cung cấp rộng nên
có thể sử dụng IC trong nhiều ứng dụng khác nhau IC này yêu cầu dòng điện hoạt động thấp do đó rất lý tưởng để sử dụng trong các thiết bị di động và hoạt động bằng pin Hệ thống logic đầu ra có thể được sử dụng trong các mạch kỹ thuật số Dòng điện đầu ra tối đa của IC là 20mA đủ để điều khiển các transistor và hệ thốnglogic, thiết bị logic và vi điều khiển
Tính năng / Thông số kỹ thuật IC LM393
Hai bộ khuếch đại hoạt động so sánh điện áp riêng biệt trong một gói duy nhất
Có thể hoạt động từ nguồn cấp điện đơn và kép
Hoạt động từ điện áp cung cấp rộng từ 2V đến 36V
Yêu cầu dòng hoạt động thấp chỉ khoảng 400µA
Yêu cầu dòng phân cực đầu vào và bù thấp
Đầu ra của nó có thể dễ dàng sử dụng để điều khiển hầu hết các hệ thống logic
Độ chính xác cao, giá thành thấp
Đáng tin cậy để sử dụng trong các thiết bị thương mại
Thích hợp cho các thiết bị di động hoặc hoạt động bằng pin
Sơ đồ chân IC LM393
Chân số 1 (đầu ra A): đầu ra của Op-amp thứ nhất
Chân số 2 (đầu vào đảo ngược A): đầu vào đảo ngược của Op-amp thứ nhất.Chân số 3 (đầu vào không đảo ngược A): đầu vào không đảo ngược của Op-amp thứ nhất
Chân số 4 (nối đất GND): Nối đất / âm tính cho cả hai Op-amp
Chân số 5 (đầu vào đảo ngược B): đầu vào đảo ngược của Op-amp thứ hai.Chân số 6 (đầu vào không đảo ngược B): đầu vào không đảo ngược của Op-amp thứ hai
Chân số 7 (đầu ra B): đầu ra của Op-amp thứ hai
Trang 20Chân số 8 (Vcc): cấp điện dương của các Op-amp.
Nguyên lý hoạt động
Trước hết, chúng ta cần kết nối nguồn điện với chân Vcc và GND của IC LM393
để kích hoạt IC Sau đó, chúng ta cần cung cấp hai điện áp đầu vào cho Op-Amp
để so sánh Bây giờ, chúng ta có thể nhận được một tín hiệu đầu ra từ Op-Amp
Ví dụ, ở đây chúng tôi sử dụng Op-Amp1 của IC LM393 để nhận tín hiệu đầu ra Trước hết, ta cung cấp điện áp đầu vào 1 vào chân nghịch đảo (Pin2) và điện áp đầu vào 2 vào chân không nghịch đảo (Pin3)
Nếu điện áp đầu vào 1 lớn hơn điện áp đầu vào 2, thì đầu ra của Op-Amp sẽ được đẩy xuống mức đất, điều này có nghĩa là điện áp đầu ra là mức thấp (~GND).Nếu điện áp đầu vào 1 nhỏ hơn điện áp đầu vào 2, thì đầu ra của Op-Amp sẽ duy trì ở mức VCC, điều này có nghĩa là điện áp đầu ra là mức cao (~VCC)
Trang 214.2 Cảm biến ánh sáng LDR (Light Dependent Resistor: Quang trở).
LM393 Cảm Biến Ánh Sáng Quang Trở 4 Chân là cảm biến đo cường độ ánh sáng
sử dụng IC LM393 Dễ dàng cài đặt bằng cách sử dụng cảm biến điện trở cảm quang loại nhạy, tín hiệu đầu ra của bộ so sánh cho dạng sóng tốt và sạch Có thể điều chỉnh chiết áp để thay đổi mức phát hiện cường độ ánh sáng Được ứng dụng trong nhiều lĩnh vực khác nhau như: điều khiển bật tắt thiết bị theo ánh sáng, hệ thống cảnh báo chống trộm, đèn led chiếu sáng tự động,