Xin chào, hôm nay tôi muốn chia sẻ hướng dẫn làm đồng hồ dựa trên Attiny 85 với màn hình Oled. Các tính năng của đồng hồ của tôi không giới hạn trong đồng hồ của tôi. Chúng cũng có thể được sử dụng như máy tính để bàn, và bạn cũng có thể nghiền nát một cảm biến nhiệt độ kỹ thuật số.
Để làm tự làm chúng ta sẽ cần:
- Dây đeo tổng hợp (bất kỳ màu nào)
- Velcro cho quần áo
- Digispark Attiny85
- Màn hình Oled với độ phân giải 128x64, I2C
- DS18b20 - cảm biến nhiệt độ kỹ thuật số (tùy chọn)
- Điện trở 4,7 Kom 0,25 W
- Arduino Bảng điều khiển phần mềm Digispark Attiny85 (lập trình viên ISP)
- Tấm nhựa mỏng
- Dây màu
- Đầu nối nữ Dupont 2.54 mm
- Nút 2 chiếc.
- Bảng mạch nhỏ hoặc một miếng bảng mạch nhỏ
- Hàn sắt, hàn, nhựa thông
- Chỉ, kim, kéo
- dao văn thư
- Súng bắn keo nóng
- Keo nóng
- Băng keo hai mặt
Bước 1 Chuẩn bị dây đai.
Bạn có thể mua một dây đeo tại bất kỳ cửa hàng may vá. Chọn một dây đeo rộng 25 mm. Bất kỳ màu nào. Chúng tôi cần một dải khoảng 50 cm. Gấp dây đeo của chúng tôi một nửa và khâu dọc theo các cạnh. Sau đó, ở giữa dây đeo, chúng tôi tạo ra một khe, nhưng chỉ ở một trong các bộ phận. May Velcro từ các đầu của dây đeo.
Đặt chỉ với kim sang một bên và lấy sắt hàn.
Bước 2 Chuẩn bị bảng và màn hình OLED.
Bộ não của người đồng hồ của chúng tôi sẽ là bộ điều khiển Digispark Attiny85. Chúng có sẵn trong một số phiên bản. Bạn nên mua một bảng có đầu nối Micro USB. Các phiên bản khác của bảng sẽ không phù hợp với vỏ đồng hồ.
Nếu bạn đã mua một bảng với các liên hệ hàn, trước tiên bạn nên hàn chúng. Sau đó, chúng tôi lấy dây có màu khác nhau, chúng tôi cần 9 màu khác nhau. Cắt khoảng 15 cm từ mỗi dây, tước nó và hàn vào Attiny85. Ngay lập tức nó là giá trị ghi xuống dây nào được hàn để không bị nhầm lẫn sau này.
Trong trường hợp của tôi, các dây theo màu sắc trông như thế này:
PB0 MOSI - Vàng
PB1 MISO - Màu xanh
PB2 CSK - Màu xanh
PB3 - Màu tím
PB4 - Trắng
PB5 NRES - Xám
GND - đen
+5 - đỏ
Vin - Cam
Màu sắc của dây có thể thay đổi, điều chính là viết chúng xuống.
Hãy chuyển sang màn hình. Chúng tôi sẽ sử dụng một màn hình oled. Độ phân giải màn hình 128x64, hoạt động trên bus I2C. Đang bán có những màn hình với nhiều màu sắc khác nhau: trắng, xanh dương, xanh dương với vàng. Hãy cẩn thận! Từ hai chữ màu trong một mô tả và tiêu đề của màn hình này cho thấy sự hiện diện của một dải màu khác với màu chính ở phía trên màn hình và không có khả năng hiển thị hai màu với màn hình này! Tất cả các màn hình loại này chỉ hiển thị một màu hoặc ở trên cùng một dải một màu, ở dưới cùng của một màu khác. Tôi thích màn hình màu xanh, với một thanh màu vàng ở trên cùng. Màu sắc không đóng vai trò đặc biệt, hãy chọn màu nào bạn thích. Như với Attiny85, nếu bạn đã mua một màn hình với các số liên lạc được hàn, trước tiên bạn nên hàn chúng lại.
Ở mặt sau của màn hình, bạn nên hàn dây nhỏ. Tốt hơn là sử dụng dây có cùng màu với Attiny85, để không nhầm lẫn chúng sau này. Trong trường hợp của tôi, tôi hàn dây màu vàng vào SDA của màn hình, với SCL - xanh dương, GND - đen, VCC - đỏ.
Trên băng dính hai mặt, chúng tôi gắn Attiny85 vào mặt sau của màn hình Oled. Attiny85 không nên vượt ra ngoài bảng màn hình Oled.
Chúng tôi hàn Attiny85 và Oled với nhau.
PB0 MOSI Attiny85 - Vàng - SDA Oled
PB2 CSK Attiny85 - Màu xanh - SCL Oled
GND Attiny85 - Đen - GND Oled
+5 Attiny85 - Đỏ - Oled VCC
Chúng tôi thu thập tất cả các dây trong một hàng, để chúng tôi có được một vòng lặp. Chúng tôi quấn nó bằng băng keo điện ở một vài nơi để nó không bị vỡ ra.
Đi đến sức mạnh của đồng hồ của chúng tôi. Để làm điều này, hãy lấy một pin lithium nhỏ. Hàn dây cho nó.
Nếu không có pin, có thể sử dụng pin loại A27 hoặc A23.
Chúng tôi đặt ắc quy hoặc pin ở góc xa nhất của túi được hình thành bởi dây đeo gấp làm đôi. Nếu sử dụng pin, cung cấp một khe cắm để thay thế nó.
Trong cái lỗ được làm ở giữa dây đeo, chúng tôi dán dây cáp của chúng tôi từ dây.
Và chúng tôi kéo căng chúng đến hết dây đeo, để chúng dính ra và đồng hồ nằm chính xác phía trên khe cắm, để khe đóng lại trong nhiều giờ.
Chúng tôi cắt bỏ những cái thừa và uốn tất cả các dây của đầu nối mẹ Dupont 2.54 mm. Chúng tôi chèn nó vào vỏ nhựa và quấn nó bằng băng keo điện, để chúng tôi có được một đầu nối gọn gàng, với tất cả các dây dẫn Attiny85. Ở đây, nó cũng đáng để viết, hoặc thậm chí là phác thảo tốt hơn, tất cả các liên hệ của trình kết nối kết quả. GND Attiny, GND Oled và điểm trừ của pin có thể được kết nối ngay lập tức và được uốn thành một liên lạc. Để điền thêm vào bản phác thảo và kết nối các tiện ích bổ sung, thuận tiện nhất là sắp xếp các liên hệ như sau:
PB0 | PB1 | PB2 | PB5 | +5 ATTINY | GND ATTINY
PB3 | PB4 | OLED VCC | GND OLED | Vin ATTINY | + BAT
Bây giờ là lúc để chuyển sang thân tàu.
Bước 3 Làm vụ án.
Đối với cơ thể bạn sẽ cần nhựa mỏng. Nó có thể được mua trong các cửa hàng trực tuyến. Hoặc bạn có thể mua một thư mục có vỏ nhựa dày trong cửa hàng văn phòng phẩm và làm vỏ ngoài vỏ. Trên nhựa chúng tôi đánh dấu sự quét của đồng hồ. Đường liền nét là đường cắt, đường đứt nét - uốn cong.
Sử dụng một con dao văn thư, cẩn thận cắt ra cửa sổ ở giữa. Chúng tôi uốn cong tất cả các đường chấm chấm. Nó nên như thế này:
Và mặt trái:
Chúng tôi đặt một khe trên màn hình của chúng tôi, uốn cong các cạnh và, sử dụng chất kết dính nóng chảy, lắp ráp cơ thể của chúng tôi. Nó cũng có giá trị dán vỏ vào dây đeo, tốt nhất là bên trong, để keo không đi ra ngoài.
Bước 4 Chuẩn bị môi trường lập trình.
Để làm việc với phần sụn (hoặc phác họa), chúng tôi sẽ sử dụng Arduino IDE. Tải về kho lưu trữ hoặc trình cài đặt từ trang web chính thức Arduino IDE.
Ngoài ra, chúng ta cần thêm hỗ trợ Attiny cho Arduino IDE. Để thực hiện việc này, hãy chạy Arduino IDE, sau đó chọn Tệp - Cài đặt - trong trường "URL Trình quản lý bảng bổ sung", chèn liên kết:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Bấm OK (bạn có thể nhập một số liên kết được phân tách bằng dấu phẩy trong trường này). Sau đó, chuyển đến Công cụ - Bảng - Trình quản lý bảng trong trường bộ lọc, nhập Attiny và chọn "attiny by David A. Mellis". Nhấp vào Cài đặt và đợi quá trình tải xuống hoàn tất.
Bạn cũng sẽ cần một thư viện để làm việc với màn hình Oled. Có rất nhiều người trong số họ, tôi thích nó và tôi khuyên bạn nên sử dụng TinyOzOLED. Nó thuận tiện và quan trọng nhất là phù hợp với bộ nhớ:
Trong tương lai, bạn có thể mở rộng chức năng của đồng hồ bằng cách thêm cảm biến nhiệt độ. Thêm một thư viện cho cảm biến này ngay lập tức. Thư viện OneWire.
Cài đặt các thư viện này. Để thực hiện việc này, bạn có thể trực tiếp trong môi trường lập trình Arduino IDE mà không cần giải nén các tài liệu lưu trữ đã tải xuống, chọn menu Phác thảo - Kết nối Thư viện. Ở đầu danh sách thả xuống, chọn mục "Thêm thư viện .Zip". Trong hộp thoại xuất hiện, chọn thư viện mà bạn muốn thêm, trong trường hợp này là hai thư viện đã tải xuống. Bây giờ hãy mở menu Phác thảo - Kết nối Thư viện một lần nữa. Ở dưới cùng của danh sách thả xuống, bạn sẽ thấy các thư viện mới. Từ bây giờ, các thư viện có thể được sử dụng trong các chương trình. Sau khi tất cả điều này, khởi động lại Arduino IDE. Bạn cũng có thể giải nén nó một cách đơn giản vào thư mục của thư viện trong thư mục có tên là Arduino IDE được cài đặt.
Bước 5 Chuẩn bị lập trình viên.
Digispark Attiny85 có thể được lập trình thông qua đầu nối micro USB trên bo mạch bằng Arduino IDE. Tuy nhiên, bạn phải hy sinh bộ nhớ Flash 2 KB 8 KB cho bộ tải khởi động.Bản phác thảo đồng hồ không phù hợp với bộ tải khởi động, vì vậy bạn phải sử dụng trình lập trình ISP, do đó sẽ xóa bộ tải khởi động. Nếu bạn không có sẵn một lập trình viên ISP (như của tôi), bạn có thể sử dụng bảng Arduino thay thế. Tôi sẽ sử dụng Arduino Uno. Nhưng bạn có thể sử dụng bất kỳ bảng khác. Vì vậy, chúng tôi kết nối Arduino Uno với máy tính. Khởi chạy Arduino IDE, mở tệp - Ví dụ - Arduino ISP. Chọn trong menu Công cụ - Bảng - Arduino Uno. Chúng tôi chọn cổng mà nó được kết nối, Arduino và nhấp vào tải xuống. Bản phác thảo bắt đầu với một gợi ý về cách kết nối Arduino với bộ điều khiển khả trình.
// 10: thiết lập lại nô lệ
// 11: MOSI
// 12: MISO
// 13: SCK
Sơ đồ kết nối với Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5
Bước 6 Chuẩn bị dây để tải bản phác thảo.
Có một số tùy chọn cho bản phác thảo, và để thuận tiện cho việc tải xuống, chúng tôi sẽ sản xuất một dây kết nối Arduino Uno (với tư cách là một lập trình viên ISP) và đồng hồ của chúng tôi. Ở đây tôi cũng khuyên bạn nên sử dụng dây màu phù hợp với màu mà chúng ta đã sử dụng. Một mặt, cần có một khối:
PB0 Vàng | Màu xanh PB1 | Màu xanh PB2 | PB5 Xám | +5 Đỏ | Đen GND
Khối này kết nối với đồng hồ, ở đầu khối đồng hồ.
Mặt khác, có hai miếng đệm để kết nối với Arduino Uno:
Pin 10 Xám | Pin 11 Vàng | Pin 12 màu xanh | Chân 13 màu xanh
+5 Đỏ | Đen GND
Nó sẽ trông giống như thế này:
Bước 7 Phần sụn.
Vì vậy, tôi đã viết một số tùy chọn phác thảo cho đồng hồ của chúng tôi. Tôi sẽ viết sau những khác biệt và đặt ra mọi thứ. Để điền vào bản phác thảo, hãy chạy Arduino IDE, chọn menu Công cụ, đặt các tham số sau:
Hội đồng quản trị - Attiny 25/45/85
Bộ xử lý - Attiny 85
Đồng hồ - nội bộ 16
Chọn cổng nối tiếp mà lập trình viên ISP hoặc Arduino được kết nối với tư cách là một lập trình viên. Ngoài ra, trong menu Công cụ - Lập trình viên, chọn "Arduino là ISP". Bây giờ chọn Phác thảo - Tải xuống thông qua lập trình viên. Nó vẫn còn để chờ tải xuống hoàn tất.
Bước 8 Phác thảo.
Tùy chọn đầu tiên là một chiếc đồng hồ có ngày. Để đặt thời gian, bạn sẽ cần kết nối các nút, đại loại như thế này:
Để ghim PB1, PB3, PB4.
Tùy chọn thứ hai chỉ là một chiếc đồng hồ. Để đặt thời gian bạn cần sử dụng USB-TTL.
Và tùy chọn thứ ba, đồng hồ để bàn có ngày và nhiệt kế.
Bước 9 Khởi chạy.
Để khởi động đồng hồ, nếu bạn sử dụng pin lithium, bạn cần cài đặt một nút nhảy trong khối giữa các tiếp điểm BAT, +5 và VCC. Bạn có thể sử dụng một đoạn dây nhỏ. Nếu bạn có pin, bạn sẽ cần hai bộ nhảy, đặt cái đầu tiên giữa BAT và Vin, cái thứ hai - + 5 và VCC.