Mục lục:

Mô-đun điều khiển LCD Uber I2C: 6 bước
Mô-đun điều khiển LCD Uber I2C: 6 bước

Video: Mô-đun điều khiển LCD Uber I2C: 6 bước

Video: Mô-đun điều khiển LCD Uber I2C: 6 bước
Video: Arduino | Hướng dẫn sử dụng chi tiết LCD 2024, Tháng mười một
Anonim
Mô-đun điều khiển LCD I2C Uber
Mô-đun điều khiển LCD I2C Uber
Mô-đun điều khiển LCD I2C Uber
Mô-đun điều khiển LCD I2C Uber
Mô-đun điều khiển LCD I2C Uber
Mô-đun điều khiển LCD I2C Uber

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

Tổng quan về mạch
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

Sản xuất PCB
Sản xuất PCB
Sản xuất PCB
Sản xuất PCB
Sản xuất PCB
Sản xuất PCB
Sản xuất PCB
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

Tổng quan về phần mềm
Tổng quan về phần mềm
Tổng quan về phần mềm
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ế
Kiểm tra thiết kế
Kiểm tra thiết kế
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: