Mục lục:

Đồng hồ từ bốn chữ cái với Trình tạo từ Akafugu và các cụm từ truyền cảm hứng: 3 bước
Đồng hồ từ bốn chữ cái với Trình tạo từ Akafugu và các cụm từ truyền cảm hứng: 3 bước

Video: Đồng hồ từ bốn chữ cái với Trình tạo từ Akafugu và các cụm từ truyền cảm hứng: 3 bước

Video: Đồng hồ từ bốn chữ cái với Trình tạo từ Akafugu và các cụm từ truyền cảm hứng: 3 bước
Video: The most awesome VFD clock kit | Voltlog #388 2024, Tháng bảy
Anonim
Image
Image
Đồng hồ từ bốn chữ cái với trình tạo từ Akafugu và các cụm từ truyền cảm hứng
Đồng hồ từ bốn chữ cái với trình tạo từ Akafugu và các cụm từ truyền cảm hứng
Đồng hồ từ bốn chữ cái với trình tạo từ Akafugu và các cụm từ truyền cảm hứng
Đồng hồ từ bốn chữ cái với trình tạo từ Akafugu và các cụm từ truyền cảm hứng

Đây là phiên bản Đồng hồ bốn chữ của tôi, một ý tưởng bắt nguồn từ những năm 1970. Đồng hồ hiển thị một loạt các từ gồm bốn chữ cái được tạo từ thuật toán tạo từ ngẫu nhiên hoặc từ cơ sở dữ liệu gồm các từ bốn chữ cái có liên quan.

Phiên bản này sử dụng màn hình LED 14 đoạn hiện đại hơn và vi điều khiển Atmega 328p để hiển thị chữ và thời gian. Hai chế độ tạo từ được hỗ trợ. Đầu tiên sử dụng một thuật toán để tạo ra các nhóm từ gồm bốn chữ cái có khả năng là các từ thực tế, tương tự như từ gốc. Mỗi từ kế tiếp không liên quan đến từ trước đó. Chế độ thứ hai sử dụng cơ sở dữ liệu từ quan hệ từ "Edinburgh Associative Thesaurus", một tài liệu về các liên kết từ dựa trên phản ứng của mọi người để hỏi từ đầu tiên xuất hiện trong đầu sau khi đưa cho họ một từ gốc, sau đó tiếp tục quá trình với từ phản hồi. Cơ sở dữ liệu đã được Akafugu Corporation điều chỉnh để tạo ra từ bốn chữ cái, người đã tạo ra tệp dữ liệu 57 Kbyte được lưu trữ trong EEPROM bên ngoài để Atmega xử lý. Kết quả là đồng hồ sử dụng thời gian Unix như một hạt ngẫu nhiên và tạo ra một chuỗi các từ gồm bốn chữ cái có liên quan dựa trên phản ứng của con người, chứ không phải một số thuật toán.

Lưu ý: Cơ sở dữ liệu từ Akafugu chứa một số từ khiêu dâm và có khả năng xúc phạm. Nếu điều này làm phiền bạn, vui lòng bật chế độ từ ngẫu nhiên. Điều này cũng có thể tạo ra một số từ xúc phạm, nhưng ít nhất sẽ không hiển thị các luồng từ xúc phạm có liên quan!

"Từ điển đồng nghĩa Edinburgh Associative" được biên soạn dựa trên phản hồi của những người sống ở Anh vào đầu những năm 60. Các quan hệ từ chắc chắn phản ánh sự thiên lệch đó! Ví dụ: từ "TỐT NHẤT" thường được theo sau bởi "PETE". Không có mối liên hệ rõ ràng nào tồn tại, trừ khi ai đó biết rằng Pete Best là tay trống ban đầu của Beatles vào đầu những năm 60! Rất nhiều thành kiến khác đối với văn hóa Vương quốc Anh những năm 60. Tôi nghĩ rằng nó là rất thú vị để xem!

Thiết bị cũng chứa mô-đun Đồng hồ thời gian thực có thể định địa chỉ I2C với pin dự phòng có thể sạc lại. Đồng hồ hiển thị 5 từ từ một trong hai thuật toán có thể lựa chọn, sau đó hiển thị thời gian, ngày, ngày trong tuần và năm. Đồng hồ và các chế độ hoạt động được thiết lập bằng cách sử dụng ba công tắc nút nhấn. Các chế độ hoạt động được lưu trữ trong EEPROM không bay hơi và tồn tại khi đặt lại hoặc mất điện. RTC tiếp tục chạy trong khoảng một năm sau khi nguồn điện bị ngắt, với độ chính xác được bù nhiệt độ cực cao. Thời gian chính xác sẽ tự động hiển thị khi có điện trở lại.

Một tính năng được bổ sung là 107 câu danh ngôn về thời gian được hiển thị ngẫu nhiên sau mỗi 10 phút. Những câu danh ngôn này cuộn từ phải sang trái qua bốn ký tự, thường xuyên mang đến nguồn cảm hứng và sự khích lệ! Lưu trữ cho các cụm từ nằm trong EEPROM bên ngoài với cơ sở dữ liệu từ Akafugu. Cơ sở dữ liệu chỉ chiếm 57 Kbyte trong số 64 Kbyte có sẵn trong thiết bị, để lại khoảng trống cho 107 cụm từ. Cụm từ "khoe khoang" luôn hiển thị đầu tiên khi đồng hồ được khởi động lần đầu tiên vào khoảng thời gian 10 phút tiếp theo.

Thiết bị sử dụng màn hình 14 đoạn catốt chung (2 catốt cho mỗi chữ số) được ghép kênh theo quy trình dịch vụ ngắt bộ hẹn giờ dẫn đến màn hình bốn ký tự được làm mới ở 100 Hz. Bất cứ khi nào ISR chạy, nó sẽ tắt nửa ký tự trước đó, lấy 7 trong số 14 phân đoạn cho một trong bốn ký tự, bật các chân phân đoạn tương ứng và đặt cathode tương ứng. Màn hình hiển thị hơi không phổ biến, nhưng tôi có một nguồn cung dư thừa lớn mà tôi muốn sử dụng. Cực âm chung kép làm giảm số lượng chân cần thiết cho mỗi chữ số từ 15 xuống 9. Chỉ có đủ chân trên Atmega 328p để cho phép điều khiển trực tiếp màn hình mà không cần thanh ghi dịch chuyển.

VIỆC CẦN LÀM: Sửa đổi mã để sử dụng mô-đun LED 4 ký tự chữ và số của Adafruit

Bước 1: Lịch sử

Môn lịch sử
Môn lịch sử
Môn lịch sử
Môn lịch sử
Môn lịch sử
Môn lịch sử
Môn lịch sử
Môn lịch sử

Đồng hồ FLW ban đầu được chế tạo bằng các ống neon thặng dư chữ và số lớn Burroughs B7971 được nhặt từ các bảng hiển thị mã cổ phiếu đã ngừng hoạt động. Chúng tương tự như các ống nixie số thời đó, nhưng sử dụng màn hình 14 phân đoạn để tạo thành tất cả các ký tự ASCII. Đồng hồ sử dụng logic rời rạc, chọn các chữ cái từ một bảng để tạo thành bốn tổ hợp chữ cái ngẫu nhiên có trọng số để có thể tạo ra các từ thực.

Với thuật toán Trong mô hình ban đầu năm 1972, chỉ một số chữ cái nhất định xuất hiện ở mỗi vị trí. Một phân tích lập bảng bằng tay của vài trăm từ gồm bốn chữ cái đã được thực hiện và tần suất của các chữ cái ở mỗi vị trí trong số bốn vị trí được đếm. Mười chữ cái thường gặp nhất của mỗi vị trí đã được sử dụng, ngoại trừ ở vị trí thứ hai chỉ chứa tám chữ cái.

Đối với mỗi vị trí, một bộ đếm BCD (0-9) đơn giản (IC 74LS90) chạy tự do và số đếm được ghi lại và giữ khoảng một lần trong vài giây đến một lần mỗi phút, tùy thuộc vào cài đặt tốc độ. Ảnh chụp bộ đếm sau đó được áp dụng cho một ma trận giải mã diode (sử dụng khoảng 150 diode) để tạo thành các ký tự.

Vì chỉ có mười (hoặc tám) chữ cái phổ biến nhất được chọn cho mỗi vị trí, không tính đến sự kết hợp chữ cái, nhiều chữ không phải từ có thể xuất hiện, ví dụ: FRLR, LREE, LLLL, v.v.

Lưu ý rằng vị trí thứ hai chỉ có tám chữ cái, vì chữ cái thứ chín và thứ mười trong mẫu có tần suất tương ứng thấp, trong khi vị trí thứ nhất và thứ hai có tần suất cực cao - vì vậy chúng được nhân đôi. Như vậy 10 x 8 x 10 x 10 = 8000 hoán vị. Các chữ cái đã được lập trình trong mô hình đầu tiên năm 1973 được hiển thị trong một trong các hình ảnh trên.

Bước 2: Mã và sơ đồ

Mã và sơ đồ
Mã và sơ đồ
Mã và sơ đồ
Mã và sơ đồ
Mã và sơ đồ
Mã và sơ đồ
Mã và sơ đồ
Mã và sơ đồ

Sơ đồ được đính kèm.

Đồng hồ có thể được tạo bằng bất kỳ Arduino dựa trên Atmega 328p nào.

Để sử dụng với Atmega 328p độc lập, như được hiển thị trong sơ đồ, một lập trình viên ISP phải được sử dụng để lập trình vi điều khiển thông qua Arduino IDE. Sau khi lập trình, các cầu chì phải được đặt bằng lệnh avrdude sau (phải cài đặt WinAVR). Thay thế cổng com và kiểu lập trình viên. Đơn giản nhất là sử dụng Arduino làm lập trình viên ISP. Google để biết chi tiết.

avrdude -c arduino -P com13 -b 19200 -p atmega328p -U lfuse: w: 0xFF: m -U hfuse: w: 0xDF: m -U efuse: w: 0x05: m

Các cài đặt này vô hiệu hóa vectơ đặt lại bộ nạp khởi động để mã ngay lập tức bắt đầu từ vectơ mã chính. Các cầu chì cũng được đặt cho bộ dao động 16MHz bên ngoài. Sau khi bị đốt cháy, bạn sẽ không thể lập trình lại chip cho đến khi tinh thể và tụ điện được kết nối như thể hiện trong sơ đồ, vì bộ dao động bên trong mặc định bị vô hiệu hóa với các cài đặt cầu chì này.

Thư viện DS3231 Arduino phải được cài đặt để cung cấp quyền truy cập vào các quy trình đồng hồ RTC. Cần bật hỗ trợ thời gian Unix trong thư viện bằng cách bỏ ghi chú dòng "#define CONFIG_UNIXTIME" trong tệp config.h thư viện DS3231 RTC. Thời gian Unix được sử dụng làm nguồn gốc cho trình tạo số ngẫu nhiên để các chuỗi từ và cụm từ sẽ không bị lặp lại mỗi khi đồng hồ được bật nguồn.

Bản thân mô-đun đồng hồ DS3231 RTC là một loại phổ biến được bán trên ebay. Mô-đun được minh họa ở trên. Tìm loại có pin sạc dự phòng.

Ngoài vi điều khiển được lập trình, cũng cần phải lấy và lập trình EEPROM nối tiếp Microchip 24LC512 với cơ sở dữ liệu từ và danh sách cụm từ Akafugu. Điều này được thực hiện bằng cách sử dụng một mạch đơn giản được xây dựng với Arduino và thẻ SD được định dạng là FAT32 với tệp output2.dat trên đó. Bản phác thảo đọc dữ liệu từ thẻ SD và ghi nó vào EEPROM. Thông tin chi tiết có thể được tìm thấy tại hai liên kết sau đây. Hãy chắc chắn sử dụng bản phác thảo lập trình và tệp dữ liệu trong Có thể hướng dẫn này, vì tệp ở liên kết Akafugu thiếu cơ sở dữ liệu cụm từ. Làm theo quy trình trong các liên kết.

Tổng quan về cơ sở dữ liệu Akafugu FLW

Hướng dẫn ghi tệp dữ liệu vào EEPROM

Bước 3: Thiết lập và điều khiển đồng hồ

Các tổ hợp nút sau được sử dụng để thiết lập đồng hồ:

Đặt giờ: Giữ nút 1 trong khi hoạt động bình thường.

Đặt phút: Giữ nút 2 trong khi hoạt động bình thường. Thứ hai được đặt lại tự động thành "00"

Giây đặt lại về 0: Giữ nút 3 trong khi hoạt động bình thường, nhả ra để đồng bộ hóa khi bắt đầu phút mới

Đặt tháng: Giữ nút 1 và 2 cùng nhau trong quá trình hoạt động bình thường

Đặt ngày: Giữ nút 1 và 3 cùng nhau trong khi hoạt động bình thường

Đặt năm: Giữ nút 2 và 3 cùng nhau trong quá trình hoạt động bình thường

Đặt Ngày trong tuần: Giữ các nút 1, 2 và 3 cùng nhau trong khi hoạt động bình thường

Khi thiết bị được bật lần đầu tiên, các chế độ hoạt động sẽ nhanh chóng được hiển thị trước khi bắt đầu tạo từ:

"EE" có nghĩa là EEPROM bên ngoài I2C chứa cơ sở dữ liệu từ và danh sách cụm từ Akafugu đã được phát hiện.

"NOEE" có nghĩa là EEPROM không được phát hiện. Thiết bị này sẽ chuyển sang chế độ tạo từ ngẫu nhiên và không hiển thị cụm từ.

"CK" có nghĩa là ngày và giờ được hiển thị sau khi hiển thị 5 từ liên tiếp.

"NOCK" có nghĩa là ngày / giờ bị tắt. Một dòng từ ổn định được hiển thị liên tục, cứ 10 phút lại bị ngắt quãng bởi một cụm từ.

"RND" có nghĩa là chế độ tạo từ ngẫu nhiên được sử dụng

"REL" có nghĩa là chế độ tạo cơ sở dữ liệu từ "Akafugu" quan hệ được sử dụng

Để thay đổi và lưu các chế độ, hãy rút đồng hồ ra và cắm lại trong khi giữ một trong các nút được chỉ định. Sau đó, phát hành nút. Chế độ mới được lưu trữ và hiển thị:

Nút 1: Chuyển đổi và lưu chế độ tạo từ Ngẫu nhiên hoặc Quan hệ

Nút 2: Chuyển đổi hiển thị ngày / giờ sau khi bật hoặc tắt 5 từ liên tiếp

Đề xuất: