» Điện tử » Arduino »Đồng hồ đeo tay trên Attiny85

Đồng hồ đeo tay trên Attiny85

Chào buổi chiều và một lần nữa tôi với đồ chơi của tôi. Hôm nay tôi trình bày cho bạn hướng dẫn làm đồng hồ nhỏ nhưng dễ thương với cảm biến nhiệt độ phòng.
Đồng hồ đeo tay trên Attiny85


Danh sách những gì chúng ta cần:
- Digispark Attiny85
- Màn hình Oled 128x64 I2C
- Cảm biến nhiệt độ DS18b20
- Điện trở 4,7 Kom 0,25 W
- Lập trình viên ISP hoặc Arduino Bảng điều khiển phần mềm Digispark Attiny85
- Máy tính bảng bằng kẹp giấy hoặc tấm nhựa mỏng
- dây
- Đầu nối nữ Dupont 2.54 mm
- Nút 2 chiếc.
- Bảng mạch nhỏ hoặc trang trí nhỏ
- hàn sắt
- Hàn, nhựa thông
- kéo
- dao văn thư
- Súng bắn keo nóng
- Keo nóng

Bước 1 Chọn thành phần.
Là bộ điều khiển chính, chúng tôi sẽ sử dụng Digispark Attiny85. Có một số loại trong số họ. Chúng tôi cần một bảng với một đầu nối micro USB. Phần còn lại sẽ không vừa trong vỏ đồng hồ.

Để hiển thị, chúng ta cần một màn hình I2C 128x64. Chúng có nhiều màu khác nhau: trắng, xanh dương, xanh dương với vàng. Tôi thu hút sự chú ý của bạn! Thuật ngữ ăn hai màu, trong mô tả hoặc tiêu đề của màn hình này có nghĩa là một dải một màu ở phía trên màn hình và màu thứ hai cho toàn bộ màn hình còn lại, 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 ở phía dưới - một màu khác. Giống như, ví dụ, cái mà tôi sẽ sử dụng. Thanh phía trên có màu vàng, phần còn lại của màn hình là màu xanh. Bạn có thể chọn bất kỳ màu nào bạn thích.
Chúng ta cũng cần cảm biến nhiệt độ tích hợp DS18B20. Nó không được chọn một cách tình cờ. Đầu tiên, DS18B20 giao tiếp với vi điều khiển thông qua đường truyền thông một dây sử dụng giao thức giao diện 1-Dây. Trong trường hợp của chúng tôi, điều này rất quan trọng, vì kết luận của Attiny85 không có cảm biến là rất ít. Thứ hai, cảm biến này là một chữ số, nghĩa là, nó tự lấy tất cả các phép đo và chỉ truyền dữ liệu nhiệt độ mà không tốn tài nguyên tính toán của Attiny85.

Đối với phần còn lại, tôi nghĩ sẽ không có câu hỏi nào, vì vậy hãy chuyển sang sản xuất vỏ máy.

Bước 2 Lắp ráp nhà ở.
Vỏ đồng hồ sẽ được làm bằng nhựa mỏng. Tôi có một máy tính bảng bằng nhựa với một cái kẹp giấy trên tay. Nó đủ cứng để giữ hình dạng của nó, đồng thời nó có thể được cắt bằng kéo thông thường và một con dao văn phòng. Anh ấy đã đi lên một cách hoàn hảo.Nếu không có trong tay, bạn có thể mua máy tính bảng trong cửa hàng cung cấp văn phòng hoặc tìm loại nhựa phù hợp để thay thế máy tính bảng. Chúng tôi đánh dấu trên nhựa theo sơ đồ:


Cắt bỏ tất cả các dòng rắn. Chấm - cắt nhẹ với một con dao văn thư. Đường chấm là đường gấp. Như bạn đã hiểu, đây là cách bố trí khối thông thường. Tiếp theo, bạn cần hàn các dây vào màn hình, tốt nhất là lấy nhiều màu và viết ra dẫn đến cái gì. Dán màn hình lên lớp keo nóng chảy ở giữa, sao cho mặt trước nó thoát ra từ mặt sau. Như bạn có thể thấy, chúng tôi đã đóng các chỉ định pin màn hình. Do đó, cần phải viết chúng ra. Tôi hơi đưa tay vào con dao, và do đó cắt bỏ phần dưới của cơ thể. Không có gì sai với điều đó, mọi thứ đều có thể được dán. Nhưng tốt hơn hết là đừng lặp lại sai lầm của tôi.



Kết quả sẽ như thế này:


Về trường hợp này đã sẵn sàng. Bạn vẫn có thể cắt nắp lưng bằng nhựa tương tự, nhưng đây là tùy chọn.

Bước 3 Chúng tôi hàn.
Trường hợp của chúng tôi là nhỏ, và chúng tôi phải nhồi nhét rất nhiều ở đó. Do đó, chúng tôi lấy một phần của bảng mạch không lớn hơn 2,8 x 2,8 mm và hàn ở hai nút, cảm biến DS18b20, điện trở và một số tiếp điểm. Theo sơ đồ sau:


Nó không cần thiết phải hàn dây trực tiếp vào Attiny, vì cần phải ngắt kết nối mọi thứ cho phần sụn. Kết quả sẽ giống như thế này:



Các nút là cần thiết để thiết lập thời gian. Nguồn có thể được lấy từ cổng USB của máy tính. Kết hợp cộng và trừ tương ứng:


Nếu bạn muốn làm mà không cần dây, bạn cần tìm một pin lithium-ion nhỏ. Đây là một ví dụ:


Pin này phù hợp với bên trong trường hợp. Chỉ cần đưa ra kết luận cho việc sạc pin.

Bước 4 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, sử dụng Arduino IDE làm môi trường lập trình. Nhưng đồng thời bạn phải hy sinh 2 KB bộ nhớ cho bộ tải khởi động. Attiny 85 có tổng cộng 8 KB Flash. Bản phác thảo của tôi không phù hợp với bộ tải khởi động, vì vậy tôi cần lập trình thông qua lập trình viên ISP. Tôi không có một lập trình viên như vậy, nhưng có một bảng Arduino Uno, mà tôi sẽ sử dụng như một lập trình viên. Nếu bạn có một lập trình viên ISB, bạn có thể bỏ qua mục này. Mở Arduino IDE và điền vào bản phác thảo của chúng tôi được gọi là ArduinoISP vào Arduino Uno của chúng tôi. Bạn có thể tìm thấy nó giống như Tệp này - Ví dụ - Arduino ISP. 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. Thay vì Arduino Uno, có thể có bất kỳ bảng Arduino nào khác.
// 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 5 Chuẩn bị môi trường lập trình.
Để chỉnh sửa phần sụn và điền vào bản phác thảo trong Attiny 85, bạn cần chuẩn bị không chỉ cho lập trình viên, mà cả chính môi trường lập trình. Để thực hiện việc này, hãy cài đặt Arduino IDE từ trang web chính thức của Arduino.cc và cũng cài đặt tiện ích bổ sung Attiny cho bộ vi điều khiển thông qua Trình quản lý bảng.

Khởi chạy Arduino IDE, sau đó Tệp - Cài đặt - trong trường URL Trình quản lý bảng bổ sung, dán liên kết:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json


nhấn 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). Công cụ tiếp theo - Bảng - Trình quản lý bảng trong trường bộ lọc, nhập Attiny và nhấp vào "attiny của David A. Mellis". Nhấp vào Cài đặt và đợi quá trình tải xuống hoàn tất. Bây giờ trong menu Công cụ, chọn:
Hội đồng quản trị - Attiny 25/45/85
Bộ xử lý - Attiny 85
Đồng hồ - nội bộ 16
và chọn cổng nối tiếp mà lập trình viên ISP hoặc Arduino được kết nối làm lập trình viên.
Tôi đã thử nhiều thư viện khác nhau để làm việc với màn hình. Theo tôi thì tiện lợi nhất và hoạt động trên Attiny85: TinyOzOLED.
tinyozoled-master.rar [15,99 Kb] (tải xuống: 477)


Một cảm biến nhiệt độ cần thư viện OneWire.
onewire.rar [16,75 Kb] (tải xuống: 263)


Cài đặt hai thư viện này. Bạn có thể cài đặt thư viện của bên thứ ba trực tiếp trong môi trường lập trình. Không giải nén các tài liệu lưu trữ đã tải xuống, trong Arduino IDE, 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ư viện Thêm .Zip. Trong hộp thoại xuất hiện, chọn thư viện mà bạn muốn thêm. Mở menu Phác thảo - Kết nối lại Thư viện. Ở dưới cùng của danh sách thả xuống, bạn sẽ thấy một thư viện mới. Bây giờ thư viện có thể được sử dụng trong các chương trình. Đừng quên khởi động lại Arduino IDE sau tất cả điều này.Nếu điều đó không có sự trợ giúp, chỉ cần giải nén tài liệu lưu trữ vào thư mục của thư viện thành phố thư mục được đặt trong thư mục có cài đặt Arduino IDE.

Bước 6 Chỉnh sửa và điền vào bản phác thảo.
Cảm biến nhiệt độ hoạt động theo giao thức Một Dây và có một địa chỉ duy nhất cho mỗi thiết bị - mã 64 bit. Tài nguyên Attiny không đủ để tìm mã này mỗi lần. Do đó, trước tiên bạn phải kết nối cảm biến với bất kỳ bảng Arduino nào, điền vào bản phác thảo nằm trong Tệp - Ví dụ - Nhiệt độ Dallas - Menu OneWireSearch. Tiếp theo, chạy Công cụ - Cổng giám sát. Arduino nên tìm cảm biến của chúng tôi, viết địa chỉ của nó và đọc nhiệt độ hiện tại. Chúng tôi sao chép hoặc đơn giản là ghi lại địa chỉ của cảm biến. Mở bản phác thảo Attiny85_OledClickI_Term_2, tìm dòng:

byte addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63}; 


Chúng tôi ghi lại địa chỉ cảm biến của bạn giữa các lần niềng răng, thay thế địa chỉ cảm biến của tôi. Sau đó, kết nối Attiny với lập trình viên hoặc Arduino với tư cách là một lập trình viên (điều này được mô tả trong Bước 4) và điền vào bản phác thảo. Nó vẫn còn để ngắt kết nối lập trình viên và kết nối mọi thứ theo sơ đồ trong 3 bước. Việc lắp ráp hóa ra một cái gì đó như thế này:


Màn hình nhỏ, không thể đặt cả thời gian và nhiệt độ để có thể nhìn thấy. Do đó, đồng hồ thay đổi thời gian với nhiệt độ đọc cứ sau 10 giây.
attiny85_oled_spi_term_2.rar [2.33 Kb] (lượt tải xuống: 574)

Tham dự 85
Tổng số cử tri: 118
9.3
10
8.7

Thêm một bình luận

    • cườinhững nụ cườixaxađược rồikhông biếtyahookhông
      ông chủvết xướcđồ ngốcvângvâng-vânghung hăngbí mật
      xin lỗinhảynhảy2nhảy3ân xágiúp đỡđồ uống
      dừng lạibạn bètốttốt lànhcòingấtlưỡi
      hút thuốcvỗ taycraytuyên bốgiễu cợtdon-t_mentiontải về
      nhiệttôi rấtcười1mdacuộc họpmoskingtiêu cực
      không phảibỏng ngôtrừng phạtđọcsợsợ hãitìm kiếm
      chế nhạocảm ơncái nàyto_cluecựu sinh viêncấp tínhđồng ý
      xấubeeeđen_eyeblum3đỏ mặttự hàobuồn chán
      bị kiểm duyệtdễ chịubí mật2đe dọachiến thắngyusun_bespectacled
      shokrespekthahacó trướcchào mừngkrutoyya_za
      ya_dobryingười trợ giúpne_huliganne_othodifludcấmđóng
13 ý kiến
Vseslav
Cảm ơn, cảm ơn!
Tác giả
Chào buổi tối Tôi đã không sử dụng thư viện từ Digispart. Họ có một bộ tải khởi động quá lớn, cùng với đó là bản phác thảo của đồng hồ không phù hợp. Tôi đã sử dụng thư viện TinyOzOLED. Cô ấy không có tiếng Nga. Nói chung, với Attiny 85 rất khó, có quá ít bộ nhớ.
Vseslav
Nghĩ kỹ và thực hiện, một lỗ hổng nhỏ - những dòng chữ trong Aglitsky. Họ có thể đơn giản đổi lấy tiếng Nga, hoặc Digispark có khó thực hiện việc này không?
Tác giả
Chào buổi chiều Đồng hồ thời gian thực chiếm đủ không gian, chúng sẽ không phù hợp với trường hợp này.
Hmm .. tại sao không đặt đồng hồ thời gian thực thay vì cảm biến nhiệt độ?
Tác giả
Một mẹo khác, đèn LED được kết nối với Digispar Attiny 85 P1, nếu bạn sử dụng pin này, hãy xem xét sự hiện diện của nó. Tôi đặt tên cho diode này trên bảng của mình, vì theo tôi nó chỉ can thiệp.
Tác giả
Chào buổi chiều Không cần thiết phải kéo lên bằng điện trở, vì hệ thống treo được tích hợp trong Attiny được bao gồm trong bản phác thảo. Lấy đi nghi ngờ của bạn và thử lại.
Bạn cũng có thể thử một bản phác thảo khác từ những chiếc đồng hồ khác của tôi, chúng có cùng bộ điều khiển và màn hình và cấu hình được thực hiện chỉ bằng một nút:
https://vim.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
Khách La Mã
Chúc một ngày tốt lành Cảm ơn bạn cho ý tưởng và công việc. Chỉ có đôi tay của tôi không như vậy, hoặc tôi không hiểu. Các nút cài đặt thời gian không hoạt động bình thường. Tôi đã thử cả skech của bạn và của tôi, chỉ trong chế độ pin của các nút đầu vào, tôi đã thêm 10k đến 5V. Và trong đó và trong đó nút không hiểu làm thế nào để nhấn để thay đổi. Hoặc tôi gặp phải sự chậm trễ hoặc có gì đó không ổn với các nút, đồng hồ thông thường.
màn hình mát mẻ. Nhưng háu ăn. RAM ăn rất nhiều.
Bạn là một bậc thầy! bóp vào một tinku85 như vậy.
Tác giả
Bạn đã đúng, đã mắc một lỗi đánh máy, 2,8 x 2,8 cm
Trích dẫn: maxim0512
Không còn chỉ phù hợp với trường hợp.
Theo khu vực, bạn có thể nhiều hơn một trăm lần so với đề xuất của bạn.
Tác giả
Không còn chỉ phù hợp với trường hợp. Chỉ có hai nút, một điện trở và cảm biến nhiệt độ. Tất cả mọi thứ chỉ phù hợp.
... Bảng mạch được cắt không lớn hơn 2,8 x 2,8 mm
Nó sẽ không đủ. )))

Chúng tôi khuyên bạn nên đọc:

Đưa nó cho điện thoại thông minh ...