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
6 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

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Kết nối điều khiển từ xa sử dụng ESP8266 và Arduino với hệ thống firmware iNut Cảm biến CloudMQTT - 1000 firmware miễn phí

Chuyện kể rằng, có 02 sinh viên Việt Nam, trong lúc làm đồ án đại học kết nối điều khiển từ xa qua Internet. Một người thì chọn phương án truyền thống sử dụng máy tính làm máy chủ và demo các tính năng theo yêu cầu đồ án. Người còn lại biết đến iNut Sensor và tìm cách tối ưu hóa phần mềm và phần cứng nhằm chau chuốt cho đồ án của mình trở nên "xịn" và "nhiều tính năng bá đạo". Đến lúc bảo vệ đồ án, cậu sinh viên 01 cảm thấy choáng ván với muôn vàn vấn đề từ việc nơi trình bày đồ án không có wifi, mạng chập chờn, máy tính mở không lên, đứt cáp biển,... Cuối cùng cũng bảo vệ được với điểm số không ưng ý lắm dù tốn rất nhiều thời gian và công sức. Cậu còn lại nhờ vào việc chau chuốt phần mềm, tối ưu hóa và comment kĩ từng lệnh trong dòng code, viết báo cáo bài bản chuẩn bị slide như ý, dùng điện thoại cài wifi, quét mã QRcode để chia sẻ quyền truy cập đến phần mềm rất chuyên nghiệp, mọi thứ cậu chủ động hoàn toàn mà không bị các vấn đề "học tài thi phận" bủa vây mà kết quả hết sức mĩ mãn, điểm số mĩ miều, kiến thức IoT được chuẩn hóa. Thực vậy, các dự án, đồ án sử dụng nền tảng iNut Platform bên dưới cho phép các bạn sinh viên làm các dự án hết sức hoàn hảo: từ xe điều khiển, bãi giữ xe thông minh, hệ thống máy lạnh, máy bơm, điều hòa thông minh,... do chinh các bạn tự làm nên đã đạt được những điểm số tốt và tuyệt đối. Cũng chính vì thế, iNut JSC (công ty chủ quản của iNut Platform) đã kết hợp với Khu Công nghệ phần mềm - ĐHQGHCM để tổ chức những khóa đào tạo ngắn hạn cho sinh viên Việt Nam sử dụng nền tảng IoT do iNut JSC phát triển. Và để mở con đường tri thức tiếp cận IoT trong nháy mắt, iNut JSC đã tạo ra một phiên bản firmware trị giá 50.000 đồng sử dụng clouding của CloudMQTT và tài trợ 1000 firmware cho tất cả các bạn học sinh, sinh viên Việt Nam có thể tiếp cận IoT một cách dễ dàng và nhanh chóng nhất!

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

string

string tiếng Anh nghĩa là chuỗi. Trong một chương trình Arduino có 2 cách để định nghĩa chuỗi, cách thứ nhất là sử dụng mảng ký tự để biểu diễn chuỗi. Bài viết này xin mô tả chi tiết về cách thứ nhất.

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