Mục lục:

DemUino - Máy tính / Bộ điều khiển tại nhà: 7 bước
DemUino - Máy tính / Bộ điều khiển tại nhà: 7 bước

Video: DemUino - Máy tính / Bộ điều khiển tại nhà: 7 bước

Video: DemUino - Máy tính / Bộ điều khiển tại nhà: 7 bước
Video: Sorrento, Italy Walking Tour - 4K60fps with Captions *NEW* 2024, Tháng bảy
Anonim
Image
Image
Ghi Bootloader
Ghi Bootloader

Máy tính lấy cảm hứng từ Arduino của DemeterArt Tận dụng tối đa bàn phím PS2 cũ của bạn. Hack nó vào một máy tính cá nhân tùy chỉnh để kiểm soát mọi thứ! Tôi luôn muốn xây dựng một chiếc máy tính tại nhà của riêng mình, kiểu cổ điển, không có gì lạ mắt nhưng với những khả năng đặc biệt phù hợp với sở thích của tôi. Vì vậy, tôi đã đến với nó với MCU atmega328 và bộ phát triển Arduino.

Hãy để tôi nói rằng dự án này sẽ mất nhiều thời gian hơn đáng kể với kết quả cuối cùng không rõ ràng nếu nó không có những người hâm mộ tài năng ngoài kia, những người ích kỷ ít cung cấp các thư viện phần mềm miễn phí cho mọi người sử dụng. Cảm ơn tất cả:-)

truy cập trang web của tôi để đọc toàn bộ câu chuyện và tải xuống tất cả các tệp có liên quan

www.sites.google.com/site/demeterart

Bước 1: Tính năng

  • Dựa trên ATMEGA328 với 32KB flash, 2KB SRAM và 1KB EEPROM.
  • hỗ trợ cho các chế độ tương tác và hàng loạt
  • trình chỉnh sửa dòng và chế độ chỉnh sửa danh sách trong khi
  • 8 ký tự tùy chỉnh cho đồ họa người dùng
  • 60 bước chương trình được đánh số 00,…, 99
  • Các vòng lặp có điều kiện ‘if’, ‘while’ và ‘for’ cùng với câu lệnh ‘goto’ và ‘sub’ để phân nhánh
  • Các biểu thức số học và toán học cơ bản cộng với các bài kiểm tra boolean
  • các biến hệ thống cho phép các sự kiện theo thời gian, giá trị trung bình, rms, min và max từ các chân analog, v.v.
  • 26 biến người dùng để tương tác với các biến và lệnh hệ thống
  • 104 byte của một mảng có thể định địa chỉ cho người dùng hoặc 52 số nguyên ngắn
  • khả năng đọc / ghi dữ liệu chương trình cũng như viết mã một cách nhanh chóng (biến p)
  • ứng dụng máy hiện sóng mini với các ký tự tùy chỉnh cho đồ họa giả
  • lưu và tải các chương trình và dữ liệu vào / từ EEPROM
  • tải / lưu các chương trình và biến từ / đến PC
  • autoexec để tải và chạy chương trình từ EEPROM sau mỗi lần đặt lại
  • 9 chân GPIO (bao gồm SPI) có sẵn trên đầu nối DB15 bên ngoài
  • BUZZER cho hiệu ứng âm thanh

Bước 2: Nội dung bạn sẽ cần

Một bàn phím ps / 2 cũ đủ dày để chứa màn hình hiển thị ký tự LCD pcb (định dạng song song phổ biến) chip MAX232 cho cổng RS232 atmel atmega328PU Bộ phát triển Arduino với IDE 1.0.1 LM7805 Bộ chỉnh lưu cầu buzzer 5V, tụ điện, nút nhấn đặt lại, kết nối vv

Bước 3: Ghi Bootloader

Vì vậy, sau khi mua một con chip atmega328PU ‘trống rỗng’, có một quyết định được đưa ra. Tôi có sử dụng một bộ lập trình đặc biệt bên ngoài hoặc ISP hay tôi ghi bộ nạp khởi động Arduino vào con thú và hiển thị đơn vị có thể lập trình được thông qua cổng UART của nó? Tôi đã chọn cái sau để làm cho cuộc sống của tôi dễ dàng hơn! Bộ nạp khởi động mới chỉ chiếm nửa kilobyte bộ nhớ flash để lại hơn 31KB chương trình người dùng và dữ liệu tĩnh có sẵn. Trang Arduino đề cập đến trường hợp ghi bộ nạp khởi động trên chip mới, khi sử dụng avrdude để thực sự ghi chip mục tiêu, quá trình không thành công với lỗi chỉ ra sai id cho MCU cụ thể. Vì vậy, sau một số tìm kiếm, tôi đã tìm thấy anh chàng này đã làm đúng và tôi đã làm theo quy trình của anh ta. Sự khác biệt duy nhất là 2 tệp cấu hình, avrdude.conf vàboards.txt cần thiết bởi avrdude và arduino IDE 1.0.1 để có thể thực hiện được. Sau khi sao chép 2 tệp vào vị trí thích hợp của chúng (sao lưu các tệp cũ trước), tùy chọn ‘arduino328’ từ tools-> Board đã có sẵn và avrdude tiến hành ghi các cầu chì và bộ nạp khởi động. Bây giờ con chip đã sẵn sàng để được lập trình từ bên trong máy mới!

Bước 4: Xây dựng đơn vị

Xây dựng đơn vị
Xây dựng đơn vị
Xây dựng đơn vị
Xây dựng đơn vị

Một bảng đục lỗ với các dải đồng đã được sử dụng như một giải pháp lắp ráp nhanh chóng với các ổ cắm DIP cho chip, bạn biết đấy, đề phòng! Sau đó, các lỗ và vết cắt cho các đầu nối, nút đặt lại và màn hình LCD được mở ra thông qua lớp nhựa cực kỳ chắc chắn và dày của bàn phím. Vâng, nó đã được xây dựng cách đây 25 năm! Theo đó là sự lộn xộn của các dây phát ra từ pcb hướng tới các thiết bị ngoại vi khác nhau. Một cuộc kiểm tra liên tục thô sơ và sau đó nguồn cung cấp được kết nối với không có chip nào chỉ để kiểm tra các ổ cắm xem có điện áp thích hợp hay không. Sau đó là 2 IC và vỏ bàn phím được đóng chắc chắn thông qua các chốt nhựa ở phía dưới. Đơn vị đã sẵn sàng để ghi các bản phác thảo trong bộ điều khiển!

Tôi đề nghị một người sử dụng tụ điện 1uF / 16V không cực cho máy bơm phí MAX232. Xác định vị trí các tụ tách 100nF cho hai chip càng gần các chân VCC và GND tương ứng càng tốt. Sử dụng kết nối hình sao cho nguồn và đất được tham chiếu đến bộ điều chỉnh LM7805. Công tắc 2 có thể là một jumper tùy thuộc vào yêu cầu nhưng tốt nhất là nên có nếu chỉ để tránh thiết lập lại MCU không mong muốn từ PC chủ trong một số trường hợp nhất định. Ở bất kỳ mức độ nào, công tắc phải được đóng lại để cho phép Arduino IDE ghi bản phác thảo thông qua việc đặt lại MCU mục tiêu (chân DTR của RS232). Trong trường hợp của tôi, kết nối là vĩnh viễn (luôn đóng). Sử dụng một điện trở nối tiếp cho bộ rung để cô lập một số nF của điện dung khỏi cổng điều khiển… bạn không bao giờ biết.. Xác định vị trí XTAL và các tụ điện tải 18-22pF càng gần chân tương ứng của bộ điều khiển càng tốt.

Do cầu chỉnh lưu, thiết bị có thể được cấp nguồn bởi cả bộ điều hợp nguồn AC và DC. Trong trường hợp DC, có sự sụt giảm điện áp 1,5 V giữa bộ chuyển đổi và đầu vào của bộ điều chỉnh. Trong trường hợp AC, đầu vào của bộ điều chỉnh gấp khoảng 1,4 lần đầu ra RMS của bộ chuyển đổi hoặc thấp hơn do tải. Nếu sự khác biệt giữa đầu vào của bộ điều chỉnh và đầu ra của nó (+ 5V) lớn, giả sử 7 volt, thì công suất tiêu thụ của bộ điều chỉnh đạt 0,5 watt và tốt hơn là sử dụng một bộ tản nhiệt nhỏ để gắn chip (được cung cấp có không gian cho nó) trong nhiều giờ hoạt động trong thời tiết nóng.

Cầu chì đầu vào AC có thể được chọn tùy thuộc vào tải bên ngoài của bạn (thông qua đầu nối DB15). Các yếu tố khác ảnh hưởng đến sự lựa chọn cầu chì là điện trở giới hạn dòng cho đèn nền LED của màn hình LCD, tụ cầu cho dòng sạc và công suất hiện tại của máy biến áp cung cấp.

Bước 5: SCHEMATIC

SCHEMATIC
SCHEMATIC

Bước 6: PHẦN MỀM CHẠY BÊN TRONG

Đây là bản phác thảo làm cho tất cả diễn ra… và 32KB là KHÔNG đủ! Bạn có thể sử dụng nó không sửa đổi, trong trường hợp đó, tôi sẽ đánh giá cao tên của tôi hoặc thay đổi nó theo ý muốn và quên tôi đi;-)

Đây là tài liệu chi tiết về máy.

Tóm tắt các Lệnh & Biểu thức

“: Một dòng bình luận không in được

ai: gắn ngắt 0 (chân D2)

ar: đọc tương tự

aw: 'ghi tương tự' trên mỗi arduino hoặc đúng hơn là pwm

ca: bắt tương tự trong một mảng

cl: xóa màn hình cno: return * Prgm chỉ số của số dòng

di: đợi một chuỗi xung và đo thời lượng và thời gian

dl: trì hoãn

do: kết hợp với 'wh'

dr: kỹ thuật số đọc bất kỳ chân nào

dw: ghi kỹ thuật số bất kỳ ghim nào

ed: chế độ soạn thảo / tải chương trình từ PC / dòng đánh số lại

el: Chức năng truy cập EEPROM

end: câu lệnh END của một chương trình

ensb: kết thúc chương trình con

es: Chức năng truy cập EEPROM

fl: bộ lọc trung bình động đơn giản

fr: vòng lặp for-tiếp theo (fr-nx)

go: chuyển đến bước chương trình

gosb: tiếp tục thực hiện chương trình con

gt: đợi người dùng nhập

if: kiểm tra điều kiện và chuyển sang bước

io: GPIO 1-9 bit

ld: tải / hợp nhất chương trình từ EEPROM

lp:: vòng lặp được điều khiển bằng bàn phím trong chế độ tương tác

ls: chế độ danh sách / gửi chương trình đến PC một dòng tại một thời điểm

ml: lấy thời gian

mm: hiển thị bộ nhớ trống

nos: chuyển đổi số thành chuỗi

nx: kết hợp với 'fr'

pl: mảng âm mưu cxx

pm: đặt chân cho đầu vào hoặc đầu ra

pr: in một tin nhắn hoặc giá trị hoặc ký tự tùy chỉnh

rgc: lệnh sao chép phạm vi cho mảng

rgs: lệnh đặt phạm vi cho mảng

rn: chạy chương trình trong RAM

rs: thiết lập lại mềm

rx: nhận một ký tự qua RS232

si: đầu vào nối tiếp đồng bộ với đồng hồ và chân dữ liệu

sm: ứng dụng máy hiện sóng mini sno: chuyển đổi chuỗi thành số

vì vậy: đầu ra nối tiếp đồng bộ với đồng hồ và chân dữ liệu

sub: khai báo chương trình con

sv: lưu chương trình vào EEPROM

tn: bíp một âm báo

tx: truyền một số qua RS232

wh: vòng lặp do-while được sử dụng cùng với 'do'

Bước 7: Videoclip của Mini App 'sm' đang chạy

truy cập trang web của tôi để đọc toàn bộ câu chuyện và tải xuống tất cả các tệp có liên quan

www.sites.google.com/site/demeterart

Đề xuất: