Sự Sáng Tạo Qua Các Phiên Bản Phần Cứng Của Mạch Tự động Arduino

Giới thiệu

Trong bài viết ngày hôm nay, chúng ta sẽ tìm hiểu về lịch sử sáng tạo của mạch tự động Arduino qua các phiên bản mạch. Từ đó, tôi mong muốn bạn tìm được sự sáng tạo trong chính lịch sự của sự phát triển của Arduino. Bài viết này có thể chưa mô tả được hết sự sáng tạo, có thể nó chưa làm hài lòng mong đợi của bạn về sự sáng tạo, nhưng nó sẽ là một ghi chú hữu ích cho sự phát triển trong việc sáng tạo của riêng cá nhân / tổ chức của bạn.

Tôi sẽ sử dụng những lời mô tả dễ hiểu nhất để bạn có thể nắm bắt được ý nghĩ của những nhà phát triển, và chêm vào đó là những bình luận cá nhân nhằm làm rõ sự sáng tạo của nhà phát triển Arduino heart

Sự ra đời của Arduino

1. Dòng Arduino USB

1.a Mạch lập trình đầu tiên (2005)

Khi nhìn lại lịch sử này, những mạch lập trình con vi điều khiển ATmega8 này được đặt tên là Arduino Serial. Và Arduino Serial có thuật ngữ để chỉ tất cả những mạch Arduino được thế kế bởi những nhà phát triển Arduino hay là những người phát triển tự do, mà ở đó, mạch Arduino sử dụng cổng kết nối RS-232 (Serial) thay vì cổng USB (TTL) như hiện tại.

Khi những mạch lập trình đầu tiên được xây dựng, Arduino vẫn chịu sự ảnh hưởng của các mạch lập trình AVR lúc bây giờ, đó là sử dụng cổng RS-232 (cổng máy in của các dòng máy tính cũ). Điều đó cũng đúng với lịch sử lúc bấy giờ, các dòng máy tính để bàn khi được sản xuất vẫn còn cổng RS-232 này.

 

Vì lý do sử dụng cổng RS-232, nên việc xây dựng một môi trường giao tiếp giữa máy tính và mạch Arduino vô cùng đơn giản (bạn nên nhớ rằng giao thức RS-232 thời gian này vô cùng phổ biến). Ngoài ra, các linh kiện trên chỉ để phục vụ cho việc duy nhất là lập trình con ATmega8 qua máy tính. Điều đặc biệt của Arduino trong thời gian này, đó là sự đơn giản hơn những mạch lập trình AVR khác có trên thị trường lúc bấy giờ như: ATMEL Programmer, mikroElektronika,... bán có thể google thêm về từ khóa "avr programmer 2005".

ATMEL Programmer A96021000C

Bạn thấy đó, Arduino ra đời và làm một thứ cực kỳ phức tạp (rất nhiều linh kiện, bóng đèn LED, cổng kết nối,...) trở thành một mạch nhỏ gọn trong lòng bàn tay với các kết nối phổ biến và sự tiện lợi trong việc điều khiển thiết bị điện. Lúc này, mạch Arduino sơ khai đã phân chia các hàng chân digital và analog như bây giờ. Ngoài ra, các chi tiết khác là theo chuẩn thiết kế mạch lúc bấy giờ, như: ISP, jack cắm 2.1mm (jack cắm nguồn ngoài), RS-232 connector,...

Qua đó, sự đơn giản về hình thức, cách thức lập trình tương tự như những mạch AVR khác (lúc này vẫn chưa hoàn thiện bộ thư viện Wiring, và chúng ta lúc đó vẫn chưa lập trình Arduino như cách thông thường được, vì vậy nó vẫn chưa có tên thương mại là "Arduino") đã làm nên sự thích thú trong thời kỳ này, khiến tên tuổi của mạch lập trình này trở nên rất nóng trong giới điện tử. Bạn thấy đấy, Arduino ra đời và làm cho những thứ khó nhằn như lập trình vi điều khiển trở nên dễ dàng và thân thiện với người lập trình hơn.

Có thể nhận ra một điều rõ rằng, mạch Arduino không thể lập trình cho những con AVR có kích thước to hơn con ATmega328. Nhưng thực tế cho thấy rằng, một con ATmega8 chỉ với 8KB flash là quá "rộng" cho những dự án Do It Yourself, phải không nào,... Bạn cần nhận định rằng, lúc này chúng ta vẫn lập trình thuần như AVR hiện nay, vì chưa hoàn thiện bộ thư viện Wiring, nên việc lập trình không tốn nhiều bộ nhớ và những bạn sinh viên không cần cứ phải tháo ra lắp vô con IC của mình từ mạch lập trình sang dự án cá nhân phải không nào!

Các bạn có thể ý không, trên mạch Arduino Serial hiện tại vẫn có một lỗi thiết kế, đó là các chân kết nối digital, analog, nguồn sử dụng male header (header đực) thay vì female header (header cái) như hiện tại. Như vậy chỉ cần bạn lỡ làm rớt cái thục vít (screwdriver) vào là có thể làm hỏng mạch, vì sao?

Qua thời gian, dòng mạch Arduino Serial đã được thiết kế đơn giản hơn, và chỉ cần dùng 1 mặt để mọi nhà phát triển có thể tự làm một cái cho bản thân mình bằng cách rửa mạch PCB, nếu chưa biết về vấn đề này, các bạn xem tại bài viết này. Và nổi bật trong số đó là dòng mạch có tên Severino (aka S3V3). Dòng sản phẩm này có tên là Arduino Signle-Sided Serial.

Severino (aka S3V3)

1.b Mạch Arduino đầu tiên với thương hiệu Arduino: Arduino USB (2005).

Dòng mạch này dần dần định hình thương hiệu Arduino trong cộng đồng phần cứng nguồn mở và bạn thấy đấy, một người bình thường có thể lập trình điện tử được, như bạn, như tôi và những người khác nữa!

Kể từ dòng mạch này, tôi sẽ so sánh với những dòng mạch trước đó với các phép sáng tạo SCAMPER để chúng ta có cái nhìn khoa học về sự sáng tạo của dòng mạch Arduino

Dòng mạch Arduino USB được phát triển qua 2 phiên bản (Arduino USB và Arduino USB v2.0). Ở mỗi phiên bản cũng không có sự khác nhau lắm, chỉ khác nhau về địa chỉ trang web và sửa một lỗi nhỏ ở phần pinout chỗ đầu USB. Phần lớn mạch Arduino USB được bán dưới dạng mạch phát triển chưa gắn linh kiện, như vậy bạn vừa phải mua mạch vừa phải có sẵn (mua thêm) linh kiện để hoàn thiện cho mình một mạch Arduino. Tuy nhiên, cũng có một số chỗ người ta bán luôn mạch Arduino USB đã được gắn sẵn linh kiện. Dưới đây là một số hình ảnh về mạch Arduino USB v2.0

Mạch Arduino USB chưa gắn linh kiện

Mạch Arduino USB đã gắn linh kiện

Sự sáng tạo ở đây là gì?

Arduino đã thay thế (Substitute) cổng Serial (xuất hiện ở Arduino Serial) bằng cổng USB Type B (cổng máy in để bàn thời bấy giờ). Điều đó đồng nghĩa, phải có sự thích nghi (Adapt) là con IC chuyển giao thức từ TTL sang Serial nhỏ nhỏ nằm gần cổng USB. Vì sao phải làm như vậy, bởi vì, thời gian này, máy điện xách tay đang dần dần phổ biến trên toàn thế giới, khiến chúng phải càng ngày càng nhẹ, cảng nhỏ, càng đẹp hơn. Như vậy, phải loại bỏ cổng Serial (COM1) ra khỏi mainboard, điều đó khiến cho những nhà phát triển phần cứng cảm thấy cần có sự thay đổi với board Arduino Serial. Và từ đó, ta đã có mạch Arduino với cổng USB đầu tiên!

Ở board mạch Arduino USB này, chúng ta đã thấy có sự xuất hiện của cồng USB Type B, như vậy, nguồn điện nuôi Arduino không phải lúc nào cũng là 12V (thường thường là 12V), vì khi gắn cổng USB TypeB ta lại có thể 5V, như vậy nếu đi qua con LM7805 thì sẽ không đủ điện nuôi cho con ATmega328. Điều đó khiến những nhà phát triển phần cứng Arduino phải thích nghi với việc thay đổi header ext or usb mỗi khi thay đổi từ lúc nạp chương trình sang dùng nguồn ngoài.

Như vậy, mạch Arduino USB vẫn không có nhiều sự thay đổi so với mạch Arduino Serial, ta có thể xem nó như là một phiên bản Arduino không sử dụng cổng RS-232 mà dùng cổng USB. Tiện cho người lập trình rất nhiều trong thời kỳ này đấy.

1.c Arduino Extreme (2006)

Yeah, ở phiên bản này, chúng ta đã có thêm đèn RX, TX ở 2 chân TX và RX của Arduino. Các linh kiện trên Arduino phần lớn được thay thế bằng linh kiện dán và điều đó có nghĩa là Arduino cần phải được bán với đầy đủ các linh kiện đã được hạn đầy đủ. Ngoài ra, các chân header male đã được thay thế với chân header female.

Các bạn trông thấy mạch Arduino lúc này trong đẹp hơn hẳn phải không nào.

Arduino Extreme version 1

Cũng trong năm đó, trang arduino.cc cũng chính thức được ra đời, và các dây nối giữa các phần trong mạch cũng được làm "âm" đất. Bạn thấy mạch Arduino Extreme version 2 này trông đẹp hơn Arduino Extreme version 1, phải không nào?

Arduino Extreme version 2

Sự sáng tạo tại thời điểm này là gì?

Ở đây, Arduino Extreme đã thích nghi (Adapt) với thị hiếu người sử dụng đó là nét đẹp của mạch Arduino, nên đã cho thay thế phần lớn điện trở, tụ điện trở thành những linh kiện dán, đẹp hơn, gọn hơn và hoạt động ổn định hơn nữa. Việc tích hợp bóng đèn LED vốn dùng để chiếu sáng và đặt (Put) vào mạch Arduino để giúp người dùng biết máy tính đã kết nối được với mạch Arduino và quá trình nạp chương trình có hoạt động được hay không. Nếu đã trải nghiệm với việc lập trình Arduino, bạn sẽ thấy có nhiều lúc chúng ta đã gắn Arduino vào máy tính nhưng nó vẫn không lập trình được,... và việc có bóng đèn TX, RX làm cho mọi thứ trở nên dễ dàng hơn.

Với việc thay đổi (Subsitute) male header bằng female header đã giúp cho việc gắn dây nối giữa Arduino và breadboard trở nên dễ dàng hơn, bạn có thể sử dụng dây breadboard đực hoặc dùng một sợi dây đồng một lõi cứng nối giữa Arduino và breadboard. Đồng thời, nó còn loại bỏ điểm yếu "rớt thụt bít vào board".

1.d Arduino NG (Nuova Generazione) (2006)

Arduino NG

Yeah, các bạn thấy mạch NG đã bỏ được cái tụ gốm màu cam đúng không, bây giờ Arduino đã hiện hình là một bé Arduino siêu cute rồi đấy hehe, đen, trắng, xám, xanh tuyệt vời.

Ở phiên bàn này, Arduino NG của chúng ta đã thay thế USB-to-TTL cũ (FT232BM) bằng chíp FTDI FT232RL USB-to-Serial mới với yêu cầu ít phần cứng ngoài hơn. Trong board này, họ đã gắn thêm con LED màu xanh tại chân số 13 heart. Ngoài ra, một phần doanh số bán ra với con vi điều khiển ATmega168 thay cho con ATmega8. Tuy nhiên, cả 2 con này đều hoạt động tốt trên mạch Arduino NG.

Sự sáng tạo

Trong mạch Arduino NG, sự sáng tạo đáng kể đó là sự thay thế (Subsitute) con chíp FT232BM bằng con FTDI FT232RL USB-to-Serial, điều đó làm cho thiết kế giao diện phần cứng của Arduino trong thật sự rất tuyệt vời, cứ như Facebook của thế giới điện tử vậy. Ngoài ra, với việc đặt (Put) một bé đèn LED lại chân số 13, không những giúp ta debug được truyền dữ liệu SPI mà còn có "một công cụ" kiểm thử mạch (vì khi được xuất bán, Arduino NG đã được upload chương trình Blink). Ta chỉ cần gắn điện vào cổng USB hoặc nguồn ngoài là có thể kiểm thử được mạch NG. Ngoài ra, nó còn có một sự thích nghi (Adapt) mở đường. Vì các dự án càng ngày càng to, người đam mê DIY với  Arduino ngày càng nhiều, và để thích nghi với điều kiện đó, ATmega168 đã thay thế cho ATmega8!

Arduino NG Rev. C

Cũng trong năm này thì bản Arduino NG Rev. C cũng ra đời nhưng lại chưa hàn sẵn con LED 13 (bạn có thể tự hàn no, nhưng nếu xét theo phương diện sáng tạo (loại trừ - Eliminate), theo tôi, nó là lỗi), bản này được bán với vi điều khiển ATmega168. Thực ra, Arduino bản bán này nhằm mục đích trong tương lai họ sẽ sử dụng vi điều khiển ATmega168 thay vì ATmega8 là vi điều khiển chính. Bản này có thể xem là phiên bản đệm tương tự Arduino USB v2.

1.e. Arduino Diecimila (Diecimila = 1 vạn) (2007)

Arduino Diecimila

Điều thay đổi chính trong phiên bản này đó là việc đưa vào chức năng "tự động reset" bằng máy tính khi upload chương trình, nghĩa là lúc bấy giờ chúng ta đã có thể lập trình Arduino như thời điểm hiện tại (gắn cáp USB vào máy tính, viết chương trình, sau đó tải chương trình lên và tận hưởng thành quả). Như vậy, đã có sự thích nghi (Adapt) vì lắng nghe ý kiến người dùng. Vì có nhiều phản hồi cho rằng gắn chồng board lên mạch Arduino, và không có cách nào nhấn nút reset ở những board Arduino cũ (ở những board được gắn chồng lên), như vậy với việc cải tiến nút reset cũng đã khiến những nhà lập trình thiết kế lại (tiếp tục thích nghi Adapt) các chân nguồn, và chân digital pin, chung cấp cho họ nhiều khả năng tùy biến hơn. Ví dụ: thêm chân AREF, VIN, RESET,...

Trong phiên bản này, Arduino đã sử dụng một mạch "dropout voltage regulator" (nôm na là khi điện án đổi thì điện áp so sánh ở Analog IN vẫn không bị nhiễu). Điều đó, là một dự kết hợp hoàn hảo (Combine), chúng ta không cần phải sử dụng tụ 103, 104 để lọc nhiễu cho các chân Analog nữa. 

Hàng 3.3V, 5V, GND, Vin đã được điều chỉnh lại và thực sự nó rất ổn nên đến tận bây giờ chúng ta vẫn dùng thiết kế đó và thống nhất đến bây giờ (với các mạch phát triển khác từ bên thứ 3). Ngoài ra, về vấn đề nguồn, chúng ta đã có một cầu chì dán (có thể sửa được). Nó giúp mạch được bảo vệ trước sự nguy hiểm của sự sơ xẩy đoản mạch! Đó là một sự thích nghi (Adapt) trước những sự hỏng hóc qua cổng USB!

Trong phiên bản này, vẫn sử dụng vi điều khiển ATmega168!

1.f. Arduino Duemilanove (Duemilanove = 2009) (2008 - 2009)

Ở phiên bản này, Arduino của chúng ta đã sử dụng vi điều khiển ATmega328 thay vì ATmega168 từ tháng 1 năm 2009

Arduino Duemilanove

Trong phiên bản này, mạch Arduino đã có khả tự động nhận biết mỗi khi sử dụng nguồn tử cổng USB hay nguồn ngoài (bạn không phải thay đổi jumper nữa - đó là sự thích nghi Adapt). Ngoài ra, trong phiên bản này, còn bố trung một đường chì nhỏ được nối tắt nhằm giúp bán có thể hủy chức năng auto-reset (tự động reset khi upload chương trình). Trong phiên bản này, ngoài những sự thay đổi trên thì không còn điều gì đáng nói nữa, trừ việc, sự ra đời của mạch này là sự kết thúc của nhánh mạch Arduino USB...

1.g. Arduino UNO (UNO = 1) 2010 - đến này

Cái tên UNO nghĩa là "một" trong tiếng Ý, nó được đặt tên như vậy thì lúc này Arduino IDE cũng đã gần chạm đến mốc 1.0. Nghĩa là, họ muốn nói rằng, UNO sẽ là mạch tham khảo chính được dùng trong việc hướng dẫn Arduino cho người mới học. Nghĩa là, họ mất 5 năm để định hình một thứ mạch lập trình trở thành một thứ kỳ diệu trong giới DIY và hơn thế nữa, giới nghiên cứu khoa học. Bạn thấy đấy, 5 năm đủ để biến một thứ xấu quắt cầu câu (theo định nghĩa bây giờ) trở thành một thứ mạch "tuyệt đẹp" và "đa năng" như hiện tại. Vậy, bạn còn có suy nghĩ, nước ngoài làm được là do họ giỏi hơn mình, hay là họ chịu khó và dám làm hơn mình? angel

Ở mạch này, ngoài việc thay đổi và cách đặt tên cho dễ xác định các chân IO, Arduino UNO còn thay con chip FTDI bằng con chip ATMega8U2 (Serial TTL Converter). Chúng ta thấy rằng nó trông đẹp hơn hẳn nhưng vẫn giữ được pinout cũ của mạch trước đó. Điều đó làm cho những mạch con em, họ hàng phụ trợ cho dòng Arduino USB không bị lỗi thời và khiến Arduino dễ hòa nhập với những anh chị em của nó hơn. Arduino UNO có 3 phiên bản mới, đó là: R2, R3 và SMD. Trong phiên bản R3 (hiện tại), Arduino đã sử dụng con chip ATMega16U2, giúp việc nạp những chương trình lớn nhanh hơn!

Arduino UNO SMD

Những linh kiện nào có thể thu gọn lại thì nhà phát triển đã thu gọn hết cỡ, và đặc biệt là các nhà sản xuất Trung Quốc sản xuất ra giá thành chỉ 4$ (hàng fake) nhưng hàng chính hãng 20$ vẫn sống và sống một cách trường tồn hơn 5 năm nay (2010 - 2015).

Từ phiên bản Arduino UNO này, Arduino USB đã chính thức phân nhánh ra thành 2 nhánh con, đó là Arduino Ethernet và Arduino Leonardo nhằm tối ưu hóa cho các dự án sử dụng Internet (Arduino Ethernet - cái này không phải là shield Ethernet cho Arduino mà là một board Arduino + Internet trong một luôn). 

Arduino Ethernet

Arduino Leonardo

Ở các phiên bản Arduino Leonardo, chúng ta có thể được sử dụng như chuột và bàn phím. Các bạn muốn làm auto kiểu sử dụng Arduino gắn vào máy người khác rồi chạy thì có thể dùng Arudino Leonardo để làm việc đó. Để làm được điều này, thì nhà sản xuất đã loại bỏ (Eliminate) đi sự phụ thuộc vào một vi điều khiển thứ hai. Cũng từ phiên bản này, Arduino Leonardo lại phân nhánh ra 2 phiên bản nhỏ hơn là Arduino Micro và Arduino Yún. Mỗi loại có những cái hay riêng, nhưng tôi chưa được tìm hiểu và được vọc những con này nên chưa thể cho bạn biết nhận xét từ những con này đươc devil.

Arduino Micro

Arduino Yún

1.h.  Những dòng Arduino khác

Ngoài dòng Arduino USB kinh điểm trên, chúng ta còn có những dòng Arduino khác có thể được liệt kê bằng hình ảnh dưới đây.

Mỗi dòng lại có những điểm mạnh và điểm yếu riêng, tuy nhiên, đều là sự sáng tạo của những con người sáng tạo nên mạch Arduino. Nhờ những sáng tạo này, họ đã tạo nên một hệ sinh thái vô cùng lớn với Arduino. Chỉ cần một mạch Arduino Mega, bạn đã có thể tự xây dựng cho mình những cổ máy sáng tạo như máy in 3d, máy khắc laser,... tất cả đều là open source và bạn có thể tự làm cho mình một cái ngay tại nhà (nếu có đủ tiền và sự đam mê). Hay là, với  Arduino Pro mini, những dự án mạng cảm biến chưa bao giờ dễ như thế, hoặc lạ những dự án mini robot,...

Cùng với thời gian, sự sáng tạo của Arduino càng ngày càng lan rộng và những nhà sản xuất IC hàng đầu thế giới đã xây dựng nên những máy tính thật sự và bạn có thể dùng Arduino để lập trình chúng, như là Intel Edison hay Intel Galileo. Và cũng từ đó, đã có sự phân hóa nhánh mạnh mẽ thực sự của Arduino IDE. Một nhánh thì phát triển phục vụ nhánh cũ (nhánh vi điều khiển), còn một bên lại port (viết lại) các câu lệnh, thư viện của Arduino cho hệ máy 32bit như Intel Edison, Intel Galileo,...

2. Arduino MEGA

2.a. Những board Arduino Mega đầu tiên (2009 - 2010)

Arduino MEGA

Arduino MEGA có rất nhiều chân IO so với dòng Arduino UNO (54 digital IO và 16 analog IO), đồng thời bộ nhớ flash của MEGA rất lớn, gấp 4 lần so với UNO (128kb) với vi điều khiển ATmega1280. Rõ ràng, những dự án cần điều khiển nhiều loại động cơ và xử lý nhiều luồng dữ liệu song song (3 timer), nhiều ngắt hơn (6 cổng interrupt),... có thể được phát triển dễ dàng với Arduino MEGA, chẳng hạn như: máy in 3d, quadcopter,...

Chúng ta dễ dàng nhận thấy rằng, các chân digital từ 0 -> 13, analog từ 0 -> 5 và các chân nguồn được thiết kế tương tự Arduino UNO. Như vậy, ta có thể thừa kế những mạch phát triển khác kiểu plugin gắn lên Arduino MEGA.

Ở phiên bản Arduino MEGA, chúng ta đã thấy được sự thay đổi (Modify) trong việc suy nghĩ về thiết kế mạch Arduino. Cụ thể, để có thể thêm được nhiều vùng nhớ hơn, thêm được nhiều chân IO hơn, những nhà phát triển đã mạnh dạng thay đổi con vi điều khiển ATmega1280. Nhưng như vậy, sẽ làm cho việc thiết kế giao diện mạch Arduino Mega trở nên khó khăn, vì có quá nhiều chân. Với khó khăn như vậy, họ đã thích nghi (Adapt) bằng cách thiết kế Arduino MEGA tương tự như mạch Arduino UNO nối dài.

Và một năm sau đó, mọi thứ dường như vẫn chưa đủ với những con người sáng tạo, họ có những ý tưởng lớn hơn, hay hơn, nhưng cần phải có một dung lượng flash lớn hơn... Vì vậy, Arduino MEGA 2560 ra đời. Arduino MEGA 2560 về cơ bản là giống hoàn toàn với Arduino MEGA, nhưng tại phiên bản này, họ đã lắng nghe ý kiến người sử dụng và thay thế (Substitute) con ATmega1280 bằng con ATmega2560. Như vậy, những con người sáng tạo lại một lần nữa được sáng tạo trên một vùng đất rộng gấp đôi. Ngoài ra, phiên bản này cũng có một số sự thay thế nho nhỏ nữa, như tụ, màu sắc tụ,... nhưng dường như đó đã là một biện pháp quen thuộc với họ. Ở các phiên bản của Arduino USB, chúng ta thấy ban đầu mạch có thể rất xấu, nhưng sau đó được cải thiện dần dần, không cải thiện hết ngay, nhưng mỗi lần cải thiện đều đem lại cho chúng ta một trải nghiệm mới, một đánh giá rằng bản mới tốt hơn bản cũ. Điều đó cho thấy một điều rằng, một mẫu ra đời không nhất thiết phải là đẹp nhất, nhưng từ mẫu thứ 2, thứ 3,... thứ n trở đi, nó phải đẹp hơn mẫu trước đó. Tâm lý, con mặt nghệ thuật của mỗi người là khác nhau, nên sự đánh giá có thể khác nhau rõ rệt ở mỗi người theo từng vùng, miền địa lý khác nhau. Nhưng sự kích thích màu sắc luôn là tâm điểm của sự chú ý của con người, và những nghệ sĩ thiết kế Arduino đã sử dụng 3 màu chủ đạo: xanh, đen và trắng để làm nên tuyệt tác Arduino. Như vậy, ta có thể rút được kinh nghiệm cho mình rằng, nếu chúng ta thiết kế sản phẩm đầu tiên có thể chưa đẹp về màu sắc (chất lượng luôn phải được bảo đảm), nhưng từ phiên bản thứ 2, chúng ta tập trung các màu sắc lại thành 3 màu chủ đạo và tăng sức mạnh xử lý hay lưu trữ thêm một tý thì sản phẩm của chúng ta sẽ được người dùng đánh giá cao hơn phiên bản cũ.

Arduino MEGA 2560

Kinh nghiệm bản thân từ sự thay đổi về thiết kế màu sắc của tôi.

Trong kinh nghiệm của tôi, kBOT là dự án phần cứng đầu tiên và nó được phát triển với 2 sự thay đổi rõ rệt về màu sắc. Trong phiên bản đầu tiên, tôi tập trung phát triển vào phần mềm và tối ưu hóa những chức năng của nó. Nhưng chưa chú trọng lắm về giao diện, vì tôi nghĩ, đây đơn thuần là một bản mẫu, chưa phải là một bản hoàn thiện nhất và với giao diện máy như thế này, tôi có thể dễ dàng thực hiện hóa ý tưởng của mình.

Sau đó, tôi may mắn được tham gia vòng chung khảo cuộc thi Nhân tài Đất Việt 2013. Trước khi thuyết trình về kBOT, tôi vẫn kiên định về suy nghĩ để kbot có một thiết kế "đa dạng" như vậy. Tuy nhiên, từ những lời nhận xét của hội đồng khoa học đồng thời tôi cảm thấy chưa thực sự hài lòng với thiết kế của kBOT của mình. Vì sao như vậy, nếu đánh giá một cách nghiêm khắc về giao diện máy của kBOT (giao diện mềm thì tốt hơn rất nhiều vì tôi đã đút kết được nhiều kinh nghiệm từ các dự án phần mềm trước của mình), nó chẳng khác gì một khối nhôm nhựa với dây nhợ lòng thòng và khá dơ (vì môi trường di chuyển đất cát). Từ đó, tôi đã tìm một lối đi khác cho hướng phát triển phần cứng của mình và đó là sự đơn giản trong thiết kế màu sắc nhưng thật sự rất đẹp của Arduino.

Một sản phẩm có thể chưa hoàn thiện, chưa được tốt về chức năng, chưa phải là hàng đầu thế giới, nhưng nó phải đẹp! Nó phải thật ngầu và nhìn vào đó người ta thấy được suy nghĩ nội tâm của người phát triển. Đó không chỉ là một sản phẩm vô tri mà là một tác phẩm nghệ thuật. Và thế là kBOT 2 ra đời với bộ giáp mới, trông thật ngầu.

kBOT 2

Thật ngầu phải không nào. Tiếp tục với sự sáng tạo của Arduino với mạch Arduino MEGA ADK.

2.b. Arduino MEGA ADK (Android compatible) (2011)

Đây là phiên bản Arduino MEGA giúp bạn có thể giao tiếp với các thiết bị Android thông qua cổng sạc (USB micro) của các thiết bị Android. Ở phiên bản này, Arduino MEGA có thể giao tiếp được với điện thoại Android thông qua cổng micro usb (cổng sạc) của Android (>=4.0).

Ở phiên bản này Arduino MEGA, với sự đồ sộ về cơ số lượng chân IO. Người ta muốn nó làm được nhiều hơn việc làm ra một cái máy đơn thuần, họ muốn một thứ gì đó ngầu hơn, ví dụ như điều khiển điện thoại Android hoặc dùng Android điều khiển trực tiếp mạch Arduino. Nói nôm na, giống như việc ta giao tiếp giữa máy tính và Arduino với Processing, bây giờ, với Arduino MEGA SDK, ta có thể làm điều tương tự trên Android.

Sự sáng tạo đặc biệt khiến bản Arduino MEGA SDK này là duy nhất đó là việc kết hợp (Combine) một cổng gọi là USB Host (giống như trên Intel Galileo), như vậy nó sẽ kéo theo một con IC để làm driver kết nối với Android,... từ đó ta có thể lập trình điều khiển điện thoại Android hoặc ngược lại thông qua một mạch Arduino mà không cần bất cứ thiết bị bên thứ 3 nào khác. Trước khi có mạch này, bạn cần phải biết về blutooth, wifi,... và như vậy sẽ gây ra hạn chế rất nhiều đối với một người đam mê sáng tạo nhưng không biết quá nhiều về lập trình. Như vậy, đây là một hướng đi đúng hướng để đảo bảo thương hiệu "đơn giản, nhỏ gọn nhưng rất mạnh mẽ" của Arduino.

2.c Arduino DUE (2012)

Đây là phiên bản Arduino đầu tiên sử dụng một vi điều khiển 32 bit thay vì con vi điều khiển 8 bit ATmega2560 trước đây. Đây là một sự thay đổi mang tính cách mạng nhằm đưa Arduino trở nên mạnh mẽ hơn bao giờ hết, vì lúc này, Arduino có thể tính toán nhanh hơn 4 lần (nếu so sánh với mạch 8 bit cùng xung nhịp). Ngoài ra, xung nhịp của dòng sản phẩm này cũng cao hơn (84MHz), đồng thời với sự thích nghi (Adapt) với "giới" vi xử lý, Arduino DUE hoạt động ở mức 3.3 vol cho tín hiệu điện tối đa (mức HIGH). Như vậy, ta không cần một bộ chuyển tín hiệu điện để giúp Arduino giao tiếp với một mini computer như Raspberry Pi hay tương tự. Với Intel Galileo, thì ta có thể dùng tín hiệu ở mức 3.3 vol hay 5 vol đều được.

Sự sáng tạo ở đây, khác biệt với những sản phẩm trước đó của Arduino ở chỗ, hạ đã đưa Arduino lên một tầm cao mới trong tầng phần cứng - tầng 32bit, đây cũng là một bước đệm để Arduino khảo sát thị trường và tung ra Arduino Yún trong năm 2013. Arduino Yún thực sự là một "super mini computer" vì nó cực kì nhỏ chạy hệ điều hành linux (bản mod openwrt) và nó có sẵn Wifi!

Và trong tương lai, khi họ đã gần chạm mốc "hoàn thiện" ở tầng 8bit, thì theo dự đoán của tôi, Arduino sẽ đi mạnh vào tầng 32 bit. Và đó chính là vì sao Intel đầu tư mạnh vào Arduino và cho ra đời board mạch phát triển IoT Development Kit (có dùng ngôn ngữ Arduino để lập trình).

Kết luận

Như vậy, Arduino đã phát triển lên từ một mạch đơn giản và có phần hơi xấu và trở thành một mạch điện tử hướng đến sự tinh tế, tinh vi và không kém phần quyến rũ. Mọi thứ cứ phát triển từ từ, từ từ, nhưng không có sự dậm chân. Trong chu kì 1 năm, Arduino luôn ra mắt ít nhất một sản phẩm mới để làn sóng Arduino không bao giờ bị lãnh quên. Vừa qua, Arduino của chúng ta đã tròn 10 năm tuổi, và cộng đồng Arduino Việt Nam  cũng đã hoạt động được 1 năm (26/5/2014 - 26/5/2015).

Vì vậy, nếu bạn muốn sáng tạo, hãy sử dụng quy tắc SCAMPER như Arduino dùng để giúp cho ý tưởng của bạn được bay xa. Phương pháp luận khoa học cũng chính là phương pháp luận dựa trên những luật sáng tạo cơ bản như SCAMPER hay TRIAL. Vì vậy, đã sáng tạo thì bạn nên ứng dụng những quy tắc trên, đảm bảo mọi thứ luôn mới. và những thứ bạn tìm hiểu sẽ được gọi là nghiên cứu nếu bạn nghĩ ra được một điểm mới trong những thứ mình tìm hiểu. 

Cảm ơn các bạn đã tham gia và cùng thảo luận xây dựng cộng đồng Arduino Việt Nam! Chúc các bạn luôn tìm được những thứ mình cần và đừng quên áp dụng quy tắc sáng tạo SCAMPER để sáng tạo ra những thứ mới mẻ. Cuối cùng, mong các bạn hãy dành ít thơi gian viết lách lại để cộng đồng Arduino ngày càng lớn mạnh hơn!

Một lần nữa, cảm ơn các bạn!

Tài liệu tham khảo

  1. Evolution of Arduino  
  2. Arduino - Boards

Từ khóa » Phần Cứng Arduino