Lập trình ATtiny13 với Codebender

Giới thiệu

Trong bài viết Code Arduino trên MÂY, bạn có muốn thử hay không?, chúng ta đã biết cách lập trình Arduino trên mây rồi, phải không nào? Nhưng qua quá trình tìm hiểu thì mình thấy Codebender chưa hỗ trợ dòng ATtiny13, trong khi đó nó lại hỗ trợ những dòng ATtiny45, 85 và 2313. Vậy, câu hỏi đặt ra là: có cách nào để lập trình ATtiny13 qua Codebender hay không? Và câu trả lời là: Có, chúng ta có thể.

Để nắm được toàn bộ nội dung bài này, bạn cần

Tìm bản chất vấn đề và giải quyết nó

Để lập trình được cho ATtiny13, nếu bạn lập trình trên Arduino IDE, bạn phải tải về file hardware dành riêng cho ATiny13 và các dòng ATtiny45, 44, 84, 85. Vậy tại sao Codebender lại không hỗ trợ cho bạn bé ATtiny13 nhỉ? Thiết nghĩ, chắc chắn không phải họ không biết cách để lập trình qua ATtiny13, mà họ muốn bạn khám phá hơn về những gì họ có thể làm được.

Chúng ta đã biết rằng, để lập trình được ATtiny13 trên Arduino UNO, chúng ta phải upload sketch Arduino ISP vào bé Arduino rồi chỉnh Tools > Programmer > Arduino as ISP và Tools > Board > ATtiny13...

Vậy nếu có thể mô tả lại quá trình trên Codebender thì hiển nhiên ta sẽ lập trình được cho ATtiny13. Nhưng nghịch một nổi, các việc khác đều làm được, nhưng lại chẳng có tên board ATtiny13 để ta chọn từ đó tải sketch lên ATtiny13. Tóm lại, vấn đề mà chúng ta cần giải quyết chính là làm thế nào để đồng bộ hóa thư mục hardware của mình lên Codebender.

Quay lại thời kì mới lập trình ATtiny13, chúng ta chỉ việc copy nội dung trong file nén hardware và dán vào thư mục hardware bên trong bộ chạy Arduino IDE mà thôi. Vậy hãy thử làm điều đó trên CodeBender xem.

Thử tìm cách upload file nén hardware lên Codebender

Khi truy cập vào Codebender, khi kéo trang lên xuống, có một cái thanh công cụ bên góc trái giữa màn hình đập vào mắt mình với một vài icon khá khó hiểu, và mình tìm cách rê chuột lên chúng để xem thử có tooltip nào hay không?

Từng chức năng bên thanh menu trái:

  • Home - Trang Dashboard quản lý chung về những dự án của bạn
  • Examples & Libraries - Các ví dụ mẫu, các thư viện của Arduino từ nhà phát triển Arduino và từ cộng đồng.
  • Supported Board - Danh sách các mẫu board hỗ trợ
  • Getting Started - Chỉ bạn cách bắt đầu với Codebender
  • Burn Bootloader - Ghi bootloader chưa bao giờ đơn giản hơn với Codebender heart
  • Serial Monitor - Bật Serial Monitor để tương tác với Serial trong sketch trên mạch Arduino của bạn.

Qua đó, cái mục Supported Board đã lấy được "cảm tình" của mình, vào xem thử trong đó có gì nào

Upload lên thử xem sao

Vậy là chúng ta có thể thêm đến tận 2 board cá nhân miễn phí, nào upload thử file hardware ATtiny13 lên thôi.

Uỵch, như vậy ta chỉ có thể upload được file nào có đuôi là .txt thôi. Vậy thì hơi kì nhé, kiểm tra trong file hardware chỉ có 2 file có đuôi .txt thôi, mà file readme.txt thì chắc không phải rồi, thôi thì thử upload file boards.txt xem sao.

À, trong file boards.txt có đến 13 board được định dạng à, hình như giữa mỗi định dạng lại có một dòng trắng, như vậy nếu ta bỏ đi các board ATtiny44, 45, 84, 85 trong file boards.txt sẽ được một file boards.txt chỉ còn chứa thông tin về vđk ATtiny13, từ đó có thể upload code được rồi.

Thử lại với file board.txt chỉ còn nội dung sau đây thử xem:

attiny13.name=ATtiny13 (internal 9.6 MHz clock)
attiny13.bootloader.low_fuses=0x7a
attiny13.bootloader.high_fuses=0xff
attiny13.upload.maximum_size=1024
attiny13.build.mcu=attiny13
attiny13.build.f_cpu=9600000L
attiny13.build.core=arduino:arduino
attiny13.build.variant=tiny8

Cool, chúng ta đã thêm được file board.txt để có thể lập trình ATtiny13 (trên lý thuyết) được rồi.

Thử upload một đoạn code có thể chạy được trên ATtiny13

Để chơ chắc chắn, mình đã thử upload code trong bài Dùng ATTiny13 để shiftOut ra IC 595 điều khiển nhiều LED bằng Arduino IDE trước khi thử upload bằng Codebender, và sau đó upload lại code trong bài Bài 2: Attiny13 - Trợ thủ đắc lực của Arduino - Lập trình nó? để vô hiệu hóa code shiftout.

Đầu tiên, chúng ta sẽ upload example Arduino ISP.

Tiếp đến là Clone & Edit đoạn code phía dưới sau đó chỉnh lại thông tin như hình sau:

Và, đèn LED đã nhấp nháy theo hiệu ứng. Yeah! heart

Kết luận

Codebender không chỉ giúp chúng ta code cùng nhau, chia sẻ nhanh hơn với những sketch trên mạch Arduino UNO, mà còn giúp chúng ta code trên nhiều loại board / vđk khác nhau nữa.

Thật không uổng phí thời gian cho những gì chúng ta bỏ ra! Hãy chinh phục nó cùng tôi bạn nhé.

lên
5 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Đọc cảm biến nhiệt độ, độ ẩm từ DHT11 up lên server làm webapp

Hôm nay, mình sẽ dùng cảm biến DHT11 để đọc nhiệt độ, độ ẩm, từ đó đẩy lên Internet thông qua iNut Cảm biến. Đồng thời sẽ quay màn hình quá trình làm webapp devil.

lên
6 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Tài liệu kỹ thuật iNut PLC - Mô tả kĩ thuật iNut PLC - Hướng dẫn sử dụng module iNut PLC

[SCADA - Document] Với sự hưởng ứng từ Cộng đồng Điện công nghiệp và Tự động hóa, iNut PLC - module giúp bạn kết nối các thiết bị PLC của mình lên Internet đã được lan tỏa khắp mọi miền đất nước. Và để đáp lại sự mong chờ ấy, bài viết này sẽ phân tích các vấn đề kỹ thuật để giúp các bạn hiểu hơn về module này. Các vấn đề về làm thế nào để kết nối, chuẩn kết nối là gì, chương trình cài đặt setup ra sao, sẽ được trình bày và liệt kê đầy đủ ở đây. Và cũng sẽ được cập nhật thường xuyên theo sự thay đổi của các phiên bản iNut PLC.

lên
6 thành viên đã đánh giá bài viết này hữu ích.

CCA - Kết quả Cuộc thi Sáng tạo với Arduino.vn

Như vậy là đã kết thúc mùa CCA đầu tiên, hẳn trong chúng ta đều mong chờ kết quả của Cuộc thi Sáng tạo với Arduino.vn để biết được rằng thế hệ trẻ đàn em có nuôi dưỡng ước mơ tự động hóa như chúng ta đã và đang làm hay không? Vừa qua, BGK gồm các bạn trong BQT và Kiểm tra viên đã chấm online các nhóm dự án thông qua skype. Và bây giờ, trong bài viết này, chúng ta sẽ biết được ngay kết quả.

lên
14 thành viên đã đánh giá bài viết này hữu ích.