Mục lục:
- Bước 1: Tổng quan về mạch
- Bước 2: Sản xuất PCB
- Bước 3: Tổng quan về phần mềm
- Bước 4: Kiểm tra thiết kế
- Bước 5: Kết luận
- Bước 6: Tài liệu tham khảo được sử dụng
Video: Mô-đun điều khiển LCD Uber I2C: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Mở đầu
Hướng dẫn chi tiết này về cách tạo mô-đun điều khiển dựa trên màn hình LCD HD44780 (hình 1 ở trên). Mô-đun cho phép người dùng điều khiển tất cả các khía cạnh của màn hình LCD theo chương trình qua I2C, bao gồm; LCD và màn hình hiển thị, độ tương phản và cường độ ánh sáng nền. Mặc dù Arduino Uno R3 đã được sử dụng để tạo nguyên mẫu, nhưng nó sẽ hoạt động tốt như nhau với bất kỳ bộ vi điều khiển nào hỗ trợ I2C.
Giới thiệu
Như đã đề cập ở trên, bài viết này ghi lại việc tạo ra Mô-đun điều khiển LCD I2C, nó chủ yếu nhằm mục đích là một bài tập thiết kế để xác định mất bao lâu để tạo ra một PCB hoạt động thực tế.
Thiết kế thay thế mô-đun bộ điều khiển chung tiêu chuẩn (hình 3 ở trên) và dựa trên các Bảng hướng dẫn và thư viện mà tôi đã tạo trước đó.
Từ nguyên mẫu ý tưởng ban đầu (ảnh 2 ở trên) đến khi hoàn thành, kiểm tra đầy đủ PCB (ảnh 1 ở trên), mất tổng cộng 5,5 ngày.
Tôi cần những bộ phận nào? Xem hóa đơn vật tư đính kèm bên dưới
Tôi cần phần mềm nào?
- Arduino IDE 1.6.9,
- Kicad v4.0.7 nếu bạn muốn sửa đổi PCB. Nếu không, chỉ cần gửi 'LCD_Controller.zip' tới JLCPCB.
Tôi cần những công cụ nào?
- Kính hiển vi ít nhất x3 (đối với hàn SMT),
- Sắt hàn SMD (với bút hàn chất lỏng và thuốc hàn cored từ chất lỏng),
- Nhíp khỏe (dùng cho hàn SMT),
- Kìm tốt (mũi nhọn và mũi hếch),
- DMM với kiểm tra tính liên tục bằng âm thanh.
Tôi cần những kỹ năng gì?
- Rất nhiều kiên nhẫn,
- Rất nhiều kỹ năng thủ công và khả năng phối hợp tay / mắt tuyệt vời,
- Kỹ năng hàn tuyệt vời.
Các chủ đề được đề cập
- Giới thiệu
- Tổng quan về mạch
- Sản xuất PCB
- Tổng quan về phần mềm
- Kiểm tra thiết kế
- Phần kết luận
- Tài liệu tham khảo được sử dụng
Bước 1: Tổng quan về mạch
Một sơ đồ mạch đầy đủ của tất cả các thiết bị điện tử được cho trong hình 1 ở trên, cùng với một tệp PDF tương tự bên dưới.
Mạch được thiết kế để thay thế chính xác cho Mô-đun điều khiển LCD PCF8574A I2C tiêu chuẩn với các cải tiến sau;
- Người dùng I2C có thể lựa chọn khả năng tương thích 3v3 hoặc 5v,
- Điều khiển độ tương phản kỹ thuật số hoặc cài đặt nồi thông thường,
- Lựa chọn cường độ ánh sáng ngược có thể thay đổi với điều khiển chức năng nới lỏng Quartic để đạt được độ mờ dần.
Điều khiển màn hình LCD
Đây là bản sao của Mô-đun Bộ điều khiển LCD I2C tiêu chuẩn sử dụng PCF8574A (IC2) để chuyển đổi I2C sang song song.
Địa chỉ I2C mặc định cho điều này là 0x3F.
Khả năng tương thích I2C 3v3 hoặc 5v
Đối với hoạt động 3v3 phù hợp với Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 và C2.
Nếu yêu cầu hoạt động 5v thì không lắp bất kỳ thành phần 3v3 nào, hãy thay thế chúng bằng điện trở 0 Ohm ROpt 3 và 4.
Độ tương phản kỹ thuật số
Kiểm soát độ tương phản kỹ thuật số đạt được thông qua việc sử dụng chiết áp kỹ thuật số U2 MCP4561-103E / MS và C4, R5.
Nếu cần một chiết áp cơ học thông thường thì một chiết áp có thể được lắp vào PCB, RV1 10K, thay vì U2, C4 và R5. Xem BoM để biết chiết áp tương thích.
Bằng cách bắc cầu jumper J6, địa chỉ I2C là 0x2E. Nó giả định cho hoạt động bình thường, điều này là bắc cầu.
Lựa chọn cường độ ánh sáng ngược có thể thay đổi
Cường độ ánh sáng mặt sau thay đổi được điều khiển bằng cách điều chế PWM của đèn nền LCD LED thông qua U1 chân 6 và ATTiny85. Để duy trì khả năng tương thích hoàn toàn với Mô-đun Bộ điều khiển LCD I2C tiêu chuẩn R1, T1 R7 và T2 được sử dụng để điều chế đường cung cấp + ve.
Địa chỉ I2C mặc định cho điều này là 0x08. Đây là người dùng có thể lựa chọn, tại thời điểm biên dịch trước khi lập trình U1.
Bước 2: Sản xuất PCB
Như đã đề cập trước đó, Bài tập có thể hướng dẫn này là một bài tập, chủ yếu nhằm xác định mất bao lâu để hoàn thành một thiết kế (có mục đích thực tế).
Trong trường hợp này, tôi nghĩ đến ý tưởng ban đầu vào chiều thứ bảy và đã hoàn thành nguyên mẫu vào tối thứ bảy hình 1 ở trên. Ý tưởng của tôi như đã nêu, là tạo ra biến thể của riêng tôi về mô-đun điều khiển LCD I2C, với một dấu chân giống hệt nhau, cung cấp khả năng điều khiển theo chương trình đầy đủ của LCD trên I2C.
Sơ đồ sơ đồ và cách bố trí PCB được phát triển với Kicad v4.0.7 ảnh 2 và 3. Việc này được hoàn thành vào chiều Chủ nhật và các bộ phận đã được đặt hàng từ Farnell và PCB đã được tải lên JLCPCB vào tối Chủ nhật.
Các thành phần được chuyển đến từ Farnell vào thứ Tư, tiếp theo là PCB từ JLCPCB vào thứ Năm (tôi đã sử dụng dịch vụ chuyển phát của DHL để đẩy nhanh tiến độ) các bức ảnh 4, 5, 6 & 7.
Đến tối thứ Năm, hai bảng (biến thể 3v3 và 5v) đã được chế tạo và thử nghiệm thành công trên màn hình LCD 4 x 20. Ảnh 8, 9 & 10.
5,5 ngày tuyệt vời từ ý tưởng ban đầu đến khi hoàn thành.
Tôi kinh ngạc về việc JLCPCB có thể nhận đơn đặt hàng, sản xuất PTH PCB hai mặt và vận chuyển đến Vương quốc Anh nhanh như thế nào. Một vỉ 2 ngày để sản xuất và 2 ngày để giao hàng. Điều này nhanh hơn so với các nhà sản xuất PCB có trụ sở tại Vương quốc Anh và với giá chỉ bằng một phần nhỏ.
Bước 3: Tổng quan về phần mềm
Có ba phần thành phần chính đối với phần mềm cần thiết để điều khiển mô-đun bộ điều khiển LCD I2C;
1. Thư viện Arduino LiquidCrystal_I2C_PCF8574
Có sẵn ở đây
Được sử dụng trong bản phác thảo Arduino của bạn để điều khiển màn hình LCD.
Lưu ý: Điều này hoạt động tốt như nhau với Bộ điều khiển mô-đun LCD I2C Chung. Chỉ nó cung cấp chức năng hơn các thư viện khác.
2. Thư viện MCP4561_DIGI_POT Arduino
Được sử dụng trong bản phác thảo của bạn để điều khiển lập trình độ tương phản của màn hình LCD
Có sẵn ở đây
3. Lập trình điều khiển mức độ ánh sáng nền LCD sử dụng PWM và chức năng nới lỏng Quartic để đạt được độ mờ mịn
Như đã đề cập trước đó, bo mạch chứa một ATTiny85 duy nhất được sử dụng để kiểm soát sự mờ dần của đèn nền màn hình.
Thông tin chi tiết về phần mềm này được đưa ra trong phần hướng dẫn trước đó 'PWM LED PWM Fading mịn với ATTiny85' có thể hướng dẫn
Trong trường hợp này, để giữ cho các kích thước cuối cùng của PCB giống như một mô-đun điều khiển LCD thông thường, biến thể SOIC của ATTiny85 đã được chọn. Các bức ảnh 1 và 2 cho thấy ATTiny85 SOIC đã được lập trình và thử nghiệm như thế nào trong thiết lập nguyên mẫu.
Mã được lập trình trong ATTiny85 là 'Tiny85_I2C_Slave_PWM_2.ino' có sẵn tại đây
Để biết chi tiết về cách tạo lập trình viên ATTiny85 của riêng bạn, hãy xem Hướng dẫn 'Lập trình ATTiny85, ATTiny84 và ATMega328P: Arduino As ISP'
Bước 4: Kiểm tra thiết kế
Để kiểm tra thiết kế, tôi đã tạo một bản phác thảo có tên 'LCDControllerTest.ino' cho phép người dùng thiết lập bất kỳ thông số cụ thể nào của màn hình LCD trực tiếp qua kết nối đầu cuối nối tiếp.
Bản phác thảo có thể được tìm thấy tại kho lưu trữ GitHub I2C-LCD-Controller-Module của tôi
Hình 1 ở trên cho thấy bảng bấm tuân thủ 5v I2C được trang bị cho màn hình LCD 4 x 20 và hình 2 là màn hình hiển thị mặc định khi chạy mã thử nghiệm lần đầu tiên.
Nó sử dụng các giá trị mặc định sau cho ánh sáng nền và độ tương phản;
- #define DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((dài chưa ký) (10))
- #define DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))
Tôi thấy những thứ này hoạt động tốt với màn hình LCD 4 x 20 mà tôi đã dự phòng.
Bước 5: Kết luận
Khi tôi lần đầu tiên bắt đầu trong ngành công nghiệp điện tử / phần mềm cách đây khá lâu, người ta rất chú trọng đến việc sử dụng dây quấn hoặc kết cấu veroboard để tạo mẫu với rất nhiều kỹ thuật trên mạch cuối cùng trong trường hợp bạn mắc lỗi., với chi phí và thời gian quay lại bảng.
Một sai lầm thường khiến bạn phải trả giá trong vài tuần so với kế hoạch và thổi bay tỷ suất lợi nhuận (và có thể là công việc của bạn).
PCB được gọi là 'tác phẩm nghệ thuật', bởi vì chúng thực sự là tác phẩm nghệ thuật. Được tạo hai lần với kích thước đầy đủ bằng cách sử dụng băng crepe đen dính bởi 'máy đánh dấu' hoặc người xếp nếp và giảm bớt ảnh chụp bởi nhà fab để làm cho ảnh chống lại giấy nến.
Sơ đồ mạch cũng được tạo bởi máy đánh dấu và vẽ bằng tay từ các ghi chú thiết kế của bạn. Các bản sao được thực hiện bằng ảnh tĩnh và được gọi là 'bản in màu xanh lam'. Bởi vì chúng luôn có màu xanh lam.
Bộ điều khiển vi mô chỉ mới ở giai đoạn sơ khai và thường ở dạng mạch mô phỏng nếu công ty của bạn có đủ khả năng mua một bộ điều khiển với môi trường phát triển phức tạp và tốn kém đi kèm.
Là một nhà sản xuất vào thời điểm đó, chi phí đơn thuần của chuỗi công cụ phát triển phần mềm là rất cao, bạn chắc chắn buộc phải chọc trực tiếp các giá trị hex vào EPROM (RAM / Flash nếu bạn rất may mắn) sau đó dành hàng giờ giải thích hành vi kết quả để xác định điều gì mã của bạn đang hoạt động nếu nó không hoạt động như mong đợi (bit 'wiggling' hoặc serial printf là những kỹ thuật gỡ lỗi phổ biến nhất. Một số điều không bao giờ thay đổi). Bạn thường phải viết tất cả các thư viện của riêng mình vì không có thư viện nào có sẵn (chắc chắn không có nguồn phong phú như internet).
Điều này có nghĩa là bạn đã dành nhiều thời gian để cố gắng hiểu cách hoạt động của một thứ gì đó và dành ít thời gian hơn cho việc chế tạo một cách sáng tạo.
Tất cả các sơ đồ của bạn đều được vẽ tay, thường trên A4 hoặc A3 và phải được suy nghĩ kỹ lưỡng, tạo cho chúng một luồng tín hiệu hợp lý từ trái sang phải. Các chỉnh sửa thường có nghĩa là bạn cần bắt đầu với một trang tính mới.
Đối với hầu hết các phần, mạch cuối cùng của bạn được phát triển bằng cách sử dụng bảng mạch để có tính lâu dài và được gắn trong một vỏ bọc ABS đơn giản để mang lại cho nó 'cảm ứng chuyên nghiệp'.
Trái ngược hoàn toàn, tôi đã phát triển toàn bộ dự án này trong 5,5 ngày bằng cách sử dụng phần mềm miễn phí chất lượng cao, dẫn đến một PCB tiêu chuẩn chuyên nghiệp. Nếu mong muốn đã chiếm lấy tôi, tôi có thể gắn nó vào một hộp in 3D do chính tôi làm.
Điều mà bạn chỉ có thể mơ ước cách đây chưa đầy một thập kỷ.
Làm thế nào mọi thứ đã thay đổi để tốt hơn.
Bước 6: Tài liệu tham khảo được sử dụng
KiCAD Sơ đồ chụp và thiết kế PCB
KiCAD EDA
Công cụ phát triển phần mềm Arduino ORG
Arduino
Thư viện Arduino LiquidCrystal_I2C_PCF8574
Ở đây
Thư viện MCP4561_DIGI_POT Arduino
Ở đây
PWM LED mờ dần với ATTiny85
Ở đây
Lập trình ATTiny85, ATTiny84 và ATMega328P: Arduino As ISP
Đề xuất:
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: 5 bước
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: Đây là các hướng dẫn để tạo ô tô được điều khiển từ xa của riêng bạn, được điều khiển bằng bộ điều khiển Xbox 360 không dây
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Tự làm bộ điều khiển bay điều khiển đa hệ điều khiển Arduino: 7 bước (có hình ảnh)
Tự làm bộ điều khiển máy bay đa năng điều khiển Arduino: Dự án này là tạo ra một bảng logic máy bay không người lái đa năng linh hoạt nhưng tùy chỉnh dựa trên Arduino và Multiwii
Bộ vi điều khiển AVR. Điều chế độ rộng xung. С bộ điều khiển động cơ DC và cường độ ánh sáng LED.: 6 bước
Bộ vi điều khiển AVR. Điều chế độ rộng xung. Bộ điều khiển của Động cơ DC và Cường độ ánh sáng LED: Xin chào mọi người! Điều chế độ rộng xung (PWM) là một kỹ thuật rất phổ biến trong viễn thông và điều khiển điện năng. nó thường được sử dụng để điều khiển công suất cấp cho thiết bị điện, cho dù đó là động cơ, đèn LED, loa, v.v. Về cơ bản, nó là một modu
Điều khiển các thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) với Màn hình nhiệt độ và độ ẩm: 9 bước
Điều khiển thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) Có Hiển thị nhiệt độ và độ ẩm: xin chào, tôi là Abhay và đây là blog đầu tiên của tôi về Các thiết bị điện và hôm nay tôi sẽ hướng dẫn bạn cách điều khiển các thiết bị điện bằng điều khiển từ xa bằng cách xây dựng cái này dự án đơn giản. cảm ơn atl lab đã hỗ trợ và cung cấp tài liệu