Xu Hướng 3/2024 # Học Arduino Bài 2 : Những Điều Cơ Bản Về Arduino # Top 12 Xem Nhiều

Bạn đang xem bài viết Học Arduino Bài 2 : Những Điều Cơ Bản Về Arduino được cập nhật mới nhất tháng 3 năm 2024 trên website Channuoithuy.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.

♦ Cấu trúc một chương trình cho Arduino trên IDE, các nhóm lệnh và phép toán cơ bản.

· ⇒ Qua list bài này, chúng ta sẽ đạt được :

♦Nắm được cấu trúc của một Arduino Board cụ thể.

♦Nhận biết, cách sử dụng các chân analog, digital, Vcc, Gnd.

♦Mô tả cấu trúc một chương trình cho Arduino

♦Sử dụng, biết tra cứu các nhóm lệnh, phép toán trên trang chủ chúng tôi

Hình ảnh Arduino Uno R3

Địa chỉ mua Board : http://mlab.vn/mach-arduino/main-board

Uno hỗ trợ đầy đủ những thứ cần thiết để chúng ta có thể bắt đầu làm việc.

Hình 1.1 Sơ đồ cấu trúc Arduino Uno R3

Cầm board mạch trên tay, thông qua sơ đồ cấu trúc, chúng ta sẽ biết vùng cấp nguồn, các chân digital, chân analog, đèn báo hiệu, reset … trên đó.

► Khi làm quen, tìm hiểu về một model Arduino, chúng ta cần chú ý tới thông số kỹ thuật đầu tiên. Điều này giúp chúng ta có được một thói quen tốt để làm việc. Các thông số chính như : Vi điều khiển , điện áp cấp/điện áp hoạt động, chân digital / analog, tốc độ xung nhịp, bộ nhớ , …

Sơ đồ chân của vi điều khiển ATmega328P:

Hình 2.1 : Sơ đồ chân của Atmega328

♦ Digital: Các chân I/O digital (chân số 2 – 13 ) được sử dụng làm chân nhập, xuất tín hiệu số thông qua các hàm chính : pinMode(), digitalWrite(), digitalRead(). Điện áp hoạt động là 5V, dòng điện qua các chân này ở chế độ bình thường là 20mA, cấp dòng quá 40mA sẽ phá hỏng vi điều khiển.

♦ Analog :Uno có 6 chân Input analog (A0 – A5), độ phân giải mỗi chân là 10 bit (0 – 1023 ). Các chân này dùng để đọc tín hiệu điện áp 0 – 5V (mặc định) tương ứng với 1024 giá trị, sử dụng hàm analogRead().

♦ PWM : các chân được đánh số 3, 5, 6, 9, 10, 11; có chức năng cấp xung PWM (8 bit) thông qua hàm analogWrite().

♦ UART: Atmega328P cho phép truyền dữ liệu thông qua hai chân 0 (RX) và chân 1 (TX).

Có hai cách cấp nguồn chính cho bo mạch Uno: cổng USB và jack DC.

Giới hạn điện áp cấp cho Uno là 6 – 20V. Tuy nhiên, dải điện áp khuyên dùng là 7 – 12 V (tốt nhất là 9V). Lý do là nếu nguồn cấp dưới 7V thì điện áp ở ‘chân 5V’ có thể thấp hơn 5V và mạch có thể hoạt động không ổn định; nếu nguồn cấp lớn hơn 12V có thể gấy nóng bo mạch hoặc phá hỏng.

Các chân nguồn trên Uno:

– Vin : chúng ta có thể cấp nguồn cho Uno thông qua chân này. Cách cấp nguồn này ít được sử dụng.

– 5V : Chân này có thể cho nguồn 5V từ bo mạch Uno. Việc cấp nguồn vào chân này hay chân 3.3 V đều có thể phá hỏng bo mạch.

– 3.3V : Chân này cho nguồn 3.3 V và dòng điện maximum là 50mA.

– GND: chân đất.

Đảm bảo chắc chắn là bạn đã cài đặt xong Arduino IDE ( link hướng dẫn download, cài đặt và sử dụng IDE: https://www.arduino.cc/en/Guide/Windows )

Giao diện Arduino IDE sau khi cài đặt:

Sau phần này chúng ta sẽ xây dựng và hiểu được các khối cơ bản của một chương trình trong IDE.

Một chương trình hiển thị trên cửa sổ giao diện được gọi là sketch.Sketch được tạo từ hai hàm cơ bản là setup () và loop () :

- Setup( ) : Hàm này được gọi khi một sketch khởi động, được sử dụng để khởi tạo biến, đặt các chế độ chân ( nhận hay xuất tín hiệu ), khởi động một thư viện ... Hàm setup() chỉ chạy một lần, sau khi cấp nguồn hoặc reset mạch. - Loop( ) : Sau khi khởi tạo hàm setup( ), hàm loop( ) sẽ được khởi tạo và thiết lập các giá trị ban đầu. Như tên gọi, hàm loop tạo các vòng lặp liên tục, có cho phép sự thay đổi và đáp ứng. Chức năng tương tự như vòng lặp while ( ) trong C, hàm loop( ) sẽ điều khiển toàn bộ mạch.

Ví dụ : Cấu trúc cơ bản một chương trình:

Sơ đồ mạch ví dụ 1

Một ví dụ khác :

Sơ đồ mạch ví dụ 2

Tham khảo các hàm dùng trong Arduino IDE trên trang chủ https://www.arduino.cc/en/Reference/HomePage

Các chương trình Arduino có thể được chia thành : nhóm cấu trúc, nhóm biến và hằng , nhóm hàm.

Trên trang chúng tôi có đầy đủ và chi tiết các hàm, lệnh, phép toán cùng cách thức sử dụng cũng như các ví dụ đi kèm. Chúng ta sẽ tìm hiểu các hàm cơ bản trước : setup() ; loop () ; pinMode() ; digitalRead(); digitalWrite(); analogWrite() ; …

Một vài ví dụ:

Mỗi hàm, lệnh hay thuật ngữ trong phần này đều được giải thích rất ngắn gọn, rõ ràng, dễ dàng áp dụng.

– Hàm pinMode(pin, mode):thiết lập một chân cụ thể là chân nhận hay xuất tín hiệu.

Trong đó: pin là chân sẽ được thiết lập; mode là một trong các chế độ INPUT. OUTPUT hoặc INPUT_PULLUP (Arduino 1.0.1)

Giá trị trả về : Không có

Ví dụ :

– Hàm digitalRead(pin): đọc giá trị từ một chân digital.

Trong đó: pin là chân digital mà chúng ta muốn đọc

Giá trị trả về : HIGH hoặc LOW

Ví dụ :

Học Arduino Bài 1: Giới Thiệu Về Arduino

Bo mạch Arduino hiện nay không còn xa lạ với người dùng tại Việt Nam. Tuy nhiên, không phải ai cũng có thể học Arduino một cách hệ thống. Do vậy, chúng tôi xin được tổng hợp các tài liệu cả tiếng Anh và tiếng Việt, nhằm hỗ trợ phần nào trong quá trình học tập của các bạn trẻ yêu thích Arduino.

Qua bài giới thiệu chúng ta sẽ nắm được:

-      Định nghĩa về Arduino.

-      Các dòng Arduino thông dụng và các module hỗ trợ.

-      Cài đặt phần mềm Arduino IDE.

1. Tổng quan

Arduino board là một bo mạch nguồn mở nhằm đưa tới cho người dùng một sản phẩm dễ sử dụng, dễ kết nối và lập trình. Arduino board được thiết kế gồm một vi xử lý dòng AVR  (Arduino Due là dòng ARM), cổng USB, các chân analog input, digital I/O … Ngôn ngữ lập trình cho Arduino dựa trên Wiring ( ngôn ngữ Arduino) và được viết trên phần mềm Arduino IDE  (hình 1.2).

Arduino bao gồm cả Arduino board và Arduino IDE. Định nghĩa chính xác Arduino là gì thì thật là khó. Arduino giúp gắn kết các nhiệm vụ một cách đơn giản nhất. Ví dụ, bạn ao ước chế tạo một chiếc oto điều khiển từ xa, hay muốn có một hệ thống tưới cây tự động… thì Arduino sẽ giúp bạn!

Hình 1.1 Arduino board

Hình 1.2 Arduino IDE

Các dòng sản phẩm của Arduino :

Board : Arduino Uno, Arduino Pro, Arduino Mega, Arduino 101, Arduino Zero, LilyPad Arduino…

Module : Arduino Pro mini, Arduino Micro, Arduino LCD Module, Arduino Relay Module, Arduino Driver Module…

Shield :  Arduino Proto Shield, Arduino Wifi Shield 101, Arduino Ethernet Shield, Arduino GSM Shield …

So sánh thông số kỹ thuật của các Arduino Board có nhiều trên thị trường:

Name

Processor

Operating/Input Voltage

CPU Speed

Analog In/Out

Digital IO/PWM

Memory

UART

ADC

Mega 2560

Atmega2560

5 V / 7 – 12 V

16 MHz

16/0

54/15

4 kB EEPROM,

8 kB SRAM,

256 kB Flash.

4

10 bit

Uno

Atmega328P

5 V / 7 – 12 V

16 MHz

6/0

14/6

1 kB EEPROM,

2 kB SRAM,

32 kB Flash.

1

10 bit

Due

ATSAM3X8E

3,3 V / 7 – 12 V

84 MHz

12/2

54/12

96 kB SRAM,

512 kB Flash.

4

12 bit

Nano

ATmega16

5 V / 7 – 9 V

16 MHz

8/0

14/6

0,512 kB EEPROM,

1 kB SRAM,

16 kB Flash.

1

10 bit

Atmega328P

1 kB EEPROM,

2 kB SRAM,

32 Flash.

Pro Mini

Atmega328P

3,3 V / 3,35 – 12 V

8 MHz

6/0

14/6

1 kB EEPROM,

1 kB SRAM,

32 kB Flash.

1

10 bit

5 V / 5 – 12 V

16 MHz

 

 

2. Giới thiệu các Shield và Module hỗ trợ học tập Arduino.

2.1. Arduino Ethernet Shield : sử dụng chip W5100 cho tốc độ và khả năng kết nối ổn định. Bộ thư viện đi kèm và phần cứng với kết nối dễ dàng, cho phép Arduino board kết nối internet đơn giản hơn.

2.2. Arduino GSM Shield

 : cho phép Arduino board kết nối internet, gửi/nhận cuộc gọi, gửi/ nhận tin nhắn SMS. 

 

2.3. 

Arduino Wireless Proto Shield : cho phép Arduino board giao tiếp không dây,  sử dụng module Xbee.

2.4. Arduino LCD Module  : là module thiết kế cho Arduino, tương thích với Arduino Uno và Arduino Mega.

2.5. Arduino Driver Module  : sử dụng IC L298N, có thể điều khiển 2 động cơ DC.

2.6. Arduino Relay Module 12VDC  : với điện áp cuộn hút 12VDC, có thể đóng cắt cho các thiết bị có điện áp 30VDC/10A hoặc 250VAC/10A. Ngoài ra còn nhiều module relay có các khả năng đóng cắt khác nhau.

3. Giới thiệu về cảm biến 

Ngoài các Shield và Module hỗ trợ, khi học Arduino chúng ta sẽ làm việc với rất nhiều các loại cảm biến. Một số cảm biến thường dùng với Arduino như: cảm biến chuyển động, cảm biến siêu âm, cảm biến độ ẩm, cảm biến khí,cảm biến lửa, cảm biến từ, cảm biến mức chất lỏng, cảm biến màu sắc, …

 

4. Chuẩn bị trước khi học về Arduino

Sau khi tìm hiểu về Arduino. Hãy bắt đầu học và thực hành với Arduino từ những bài đơn giản và những ví dụ đơn giản để có được những kiến thức thực tế.

Trước hết, mỗi chúng ta nên có cho mình một Arduino board ( tham khảo tại : http://mlab.vn /mach-arduino/main-board  ). Ngoài ra, chúng ta cần có các phụ kiện hỗ trợ cơ bản như : Breadboard, bộ dây cắm cho breadboard, LED, biến trở … ( bạn có thể tham khảo mua linh kiện tại : http://mlab.vn/mach-arduino/phu-kien-cho-arduino  ). 

Phần mềm Arduino IDE : https://www.arduino.cc/en/Main/Software

·        Hướng dẫn cài đặt và sử dụng phần mềm Arduino IDE: https://www.arduino.cc/en/Guide/Windows

Ngoài ra, bạn có thể tham khảo hướng dẫn cài đặt và sử dụng Arduino IDE trên một số web khác

Học Arduino Cần Những Gì ?

Bài viết này hướng tới những người “đang dự định” và “mới bắt đầu” tìm hiểu về nền tảng Arduino: bạn học sinh trẻ tuổi muốn tìm hiểu cái mới hay những người không chuyên về điện tử đang muốn thử sức mình ở lĩnh vực này.

Khi bắt đầu học một cái gì đó, nhiều người thường không biết bắt đầu từ đâu. Học về Arduino cũng vậy. Do đó, sau một thời gian trải nghiệm với Arduino đủ dài, mình quyết định viết bài này để cho bạn thấy những gì mình từng trải qua. Bắt đầu của mình chỉ là một con số 0 – 0 kiến thức, 0 kinh nghiệm, 0 thiết bị, 0 người hướng dẫn và quan trọng là một chút tò mò. Bạn cũng như mình, nhưng ít nhất bạn cũng đã có người hướng dẫn, đó là chúng tôi . Hãy bắt tay ngay với Arduino để thử thách khả năng sáng tạo của mình.

Sẽ rất khó khăn để bạn tiến lên từ chỗ không biết một thứ gì đó lên mức nắm bắt được nó, nhưng sẽ dễ dàng hơn cho bạn khi tiếp tục đi từ đây. Nói cho dễ hiểu là khoảng cách từ mức “0” lên mức “1” lớn hơn khoảng cách từ mức “1” lên mức “2” rất nhiều.

Lúc trước, mình chủ yếu nghiên cứu về phần mềm bởi nó dễ làm, nhanh đem lại kết quả. Nhưng mình có cảm giác như phần mềm là một thứ gì đó quá mơ hồ, chỉ đơn giản là vì người ta không thể cầm nắm hay đụng chạm vào nó dẫn đến khó có thể hiểu được tầm quan trọng của nó.

Trái lại, từ lúc tiếp xúc với Arduino, mình nhận thấy rằng mình có thể làm ra được nhiều thứ thiết thực và hay ho hơn những phần mềm mình đã làm được.

Hãy xem chiếc xe của mình này xem …

Mình có thể điều khiển nó bất cứ lúc nào mình muốn, mình có thể trình diễn với bạn bè, cho mượn, nói chuyện về nó như mình đang làm. Những người bạn của mình rất thích nó, họ luôn tranh giành nhau cái điều khiển, họ thán phục mình, không phải vì sự ngưỡng mộ mà là vì họ thích sản phẩm mình làm ra. Cái xe thậm chí còn nhận được sự chú ý nhiều hơn cả người làm ra nó.

… và đấy chính là Arduino. mình học và mình thực hành, mình sáng tạo. Điều đó tạo ra sự phấn khích rất đặc biệt mà những thứ khác khó có thể mang lại được.

Những yếu tố quan trọng để thành công

1.1. Sự đam mê trong bản thân bạn là điều tối cần thiết nếu bạn muốn gắn bó lâu dài với Arduino. Mỗi công việc đều có những khó khăn nhất định, tìm hiểu và thực hành Arduino cũng vậy. Nếu không có đam mê thì mình chắc chắn rằng bạn sẽ sớm bỏ cuộc, chưa kể là tốn kém tiền bạc để mua sắp nhiều thứ.

Mình đến với Arduino vì đam mê và nhờ đó mà mình có được sự tự giác học tập, chủ động khám phá cái mới. Điều đó giúp mình nhanh chóng tiến bộ và nắm bắt được nhiều cơ hội cho bản thân: phát triển chuyên môn lẫn quan hệ xã hội.

Mình có cơ hội được làm giáo viên hướng dẫn đề tài dự thi Cuộc thi nghiên cứu khoa học cho học sinh phổ thông Intel ISEF cấp thành phố tại một trường THPT tư thục tại TP Hồ Chí Minh. Thực tình mà nói thì đám học sinh được mình hướng dẫn đề tài chả hứng thú gì mấy với công việc nên mình toàn phải đốc thúc tụi nó làm. Sau khi thi xong, tụi nó lặn mất tăm. Một số đứa khác được mình hướng dẫn (đi ngang qua chỉ đại thôi) tại những cuộc thi khác sau khi thi xong vẫn tiếp tục nghiên cứu, hoặc họ luôn tự giác nghiên cứu bất kể ngày đêm hay tình trạng dạ dày.

Bạn có đang nhìn thấy sự khác biệt ? Nếu bạn đã thích một cái gì đó (như gấu chẳng hạn) thì bạn sẽ chơi với nó mà không cần lí do. Suy ngược lại, nếu bạn thích chơi với một cái gì đó (hay một bạn nữ nào đó chẳng hạn) mà không cần lí do thì bạn đã mê nó rồi, hehe.

1.2 Thực hành cũng là một yếu tố hết sức quan trọng. Có nhiều bạn học Arduino tuy là có đam mê thật nhưng lại không có điều kiện thực hành. Bởi thế mà học tới đâu quên tới đó, và càng học thì càng không hiểu. Đây là điều cực kì nguy hiểm bởi nó dễ đánh mất đi niềm đam mê của người học. Nếu bạn đã từng ngáp ngắn ngáp dài trong những giờ học Lịch sử hay Triết học, và cảm thấy vô cùng phấn khích khi xem bộ phim 3 chàng ngốc (3 Idiots) thì vấn đề ở đây cũng tương tự thế thôi. Nếu bạn chưa xem bộ phim này thì mình khuyên bạn nên xem kĩ.

1.3 Làm việc nhóm là một điều tối quan trọng giúp bạn mau chóng tiến bộ cũng như giảm thiểu rủi ro hay chi phí để nuôi niềm đam mê Arduino:

Mọi người cùng chia sẻ kiến thức với nhau.

Mọi người cùng nhau tìm một lỗi sai.

Cùng chia tiền mua chung đồ hay có thể mượn lẫn nhau.

Dễ dàng phối hợp khi đi thi.

1.4 Luôn tiến lên phía trước nếu không bạn sẽ tụt lại phía sau !

Đây là điều mình đã học được:

Và mình hiện tại đang ở 0.9999^365 😀 Còn bạn thì sao ?

2. Thứ hai là “Doing ordinary things”

Ở đây mình chỉ đưa ra một ví dụ là một câu chuyện của một anh hacker vào cuối năm 2024 khiến cộng đồng hacker thực sự “hoang mang” :D. Mình xin trích dẫn nguyên văn lại từ https://github.com/NARKOZ/hacker-scripts

xxx: OK, so, our build engineer has left for another company. The dude was literally living inside the terminal. You know, that type of a guy who loves Vim, creates diagrams in Dot and writes wiki-posts in Markdown… If something – anything – requires more than 90 seconds of his time, he writes a script to automate that.

xxx: So we’re sitting here, looking through his, uhm, “legacy”

xxx: You’re gonna love this

xxx: chúng tôi – sends a text message “late at work” to his wife (apparently). Automatically picks reasons from an array of strings, randomly. Runs inside a cron-job. The job fires if there are active SSH-sessions on the server after 9pm with his login.

xxx: chúng tôi – scans the inbox for emails from “Kumar” (a DBA at our clients). Looks for keywords like “help”, “trouble”, “sorry” etc. If keywords are found – the script SSHes into the clients server and rolls back the staging database to the latest backup. Then sends a reply “no worries mate, be careful next time”.

xxx: chúng tôi – another cron-job that is set to specific dates. Sends automated emails like “not feeling well/gonna work from home” etc. Adds a random “reason” from another predefined array of strings. Fires if there are no interactive sessions on the server at 8:45am.

xxx: (and the oscar goes to) chúng tôi – this one waits exactly 17 seconds (!), then opens a telnet session to our coffee-machine (we had no frikin idea the coffee machine is on the network, runs linux and has a TCP socket up and running) and sends something like sys brew. Turns out this thing starts brewing a mid-sized half-caf latte and waits another 24 (!) seconds before pouring it into a cup. The timing is exactly how long it takes to walk to the machine from the dudes desk.

xxx: holy sh*t I’m keeping those

Trước khi bắt đầu dự án trong mơ của mình, bạn nên suy nghĩ về câu nói trên trước. Lời khuyên của mình cho những bạn mới bắt đầu tập tành làm dự án là nên làm những dự án có thể ứng dụng được trong chính căn nhà hay gia đình của bạn trước khi đi ra biển lớn.

Nếu bạn làm dự án để chơi cho vui thì xin chúc mừng. Nếu bạn làm vì điều gì đó ngoài bản thân bạn, hãy nghĩ đến những người xung quanh bạn, những sự việc, vấn đề mà chính bạn đang gặp phải, bởi bạn chính là người hiểu rõ chúng nhất như anh chàng hacker ở trên đã làm. Cứ như vậy cho tới khi những điều lớn lao trở thành bình thường với bạn.

1.3. Thứ ba là tìm được cộng đồng để cùng chia sẻ

“Hãy nhớ rằng, tất cả chúng ta đều đã từng vấp ngã, tất cả. Đó là lí do vì sao chúng ta cảm thấy mạnh mẽ khi nắm chặt tay nhau” – Emily Kimbrough

Trong quá trình nghiên cứu Arduino, mình cũng đã từng vấp ngã, nghiên cứu thất bại. mình cũng từng làm hỏng nhiều thứ được mua bởi tiền lương của ba mẹ mình. mình cũng đã từng có ý định sẽ từ bỏ. Nhưng không, như bạn thấy, mình đã ở đây, đã viết bài viết này. Đó là bởi vì mình còn có bạn bè, những người luôn theo dõi mình, và mình không thể làm họ thất vọng. Một cộng đồng có thể truyền cho người ta một sức mạnh mà chính họ cũng không thể tưởng tượng được …

Trí tuệ của một đội quân: cho dù bạn có thông minh đến đâu thì bạn cũng chỉ là 1 con người. “Một cây làm chẳng nên non – Ba cây chụm lại nên hòn núi cao”. Nếu bạn đã từng tham gia vào cái “hợp tác xã” thời học sinh thì bạn sẽ tưởng tượng ra được sức mạnh của một tập thể to lớn đến mức nào.

Vượt qua giới hạn của bản thân: hôm nay có thể bạn chỉ biết làm một chiếc xe, nhưng có thể ngày mai sẽ có người nói cho bạn biết cách làm một cái máy bay. Vâng, bạn không thể biết những thứ mình không biết – đó chính là giới hạn của bạn, nhưng có thể người khác lại biết chúng và ngược lại. Chí ít thì lúc khó khăn cũng có thể có một số người trong cộng đồng có thể giúp đỡ được. Con người luôn có giới hạn, nhưng họ luôn có thể đẩy giới hạn đó đi xa hơn, bạn cũng vậy.

Hỗ trợ lẫn nhau: trong những lúc mà bạn đã đánh mất đi niềm tin vào chính bản thân mình thì vẫn còn có một cộng đồng ngoài kia. Sẽ có những người chia sẻ với bạn, ở bên cạnh và giúp đỡ bạn. Nếu bạn không bỏ rơi người khác trong lúc họ gặp khó khăn, thì người khác cũng sẽ không bỏ rơi bạn trong những lúc như thế.

Động lực: bạn có thấy chiếc xe của mình ở trên không? mình không làm nó chỉ cho bản thân của mình chơi mà còn cho nhiều người khác chơi, và cho cả mục đích truyền bá Arduino đến cho nhiều người khác nữa. mình làm được vì mình có động lực, mình thấy vui khi nhìn người khác thích thú với sản phẩm do mình làm ra.

Ở Việt Nam hiện nay, mình được biết có 2 cộng đồng mạnh nhất sau:

Đánh giặc thì cần vũ khí, nghiên cứu Arduino cũng cần có “vũ khí” thì mới đánh được giặc dốt. Có phần cứng tức là bạn có khả năng thực hành, có thực hành thì sẽ hiểu nhanh, nhớ lâu và biết vận dụng những gì mình học được. mình tin chắc rằng bạn sẽ nhớ mãi cái cảm giác lần đầu tiên làm việc với Arduino, bởi mình và nhiều người như mình cũng như thế.

1. Arduino Starter kit

Hiện nay có rất nhiều bộ Arduino Starter kit đang được bán ở Việt Nam có thể giúp bạn bước đầu nắm vững về Arduino. Một bộ Arduino Starter kit thường sẽ có những thứ này:

Ngoài ra, bạn cũng có thể mua phần cứng để thực hành theo các bài viết tại mục Tự học Arduino được cung cấp bởi Arduino.vn. Bằng cách này, bạn có thể linh hoạt hơn trong việc:

Giảm chi phí mua sắm

Tự do lựa chọn các bài học theo sở thích của bản thân.

Tuy nhiên, cũng có một điểm trừ là các bài viết vẫn chưa có nội dung thống nhất với nhau, do đó có thể làm người học bối rối đôi chút nhưng mình nghĩ đây không phải là vấn đề quá nghiêm trọng.

Sau khi vọc hết các dự án trong bộ Arduino Starter kit hoặc trong mục Tự học Arduino , bạn có thể tìm hiểu thêm nhiều điều thú vị khác qua các bài viết trên chúng tôi như:

Nếu bạn có khả năng đọc hiểu tiếng anh ở mức trung bình trở lên, bạn có thể tìm đọc một số quyển sách sau:

Getting Started with Arduino: The Open Source Electronics Prototyping Platform (Make) 3rd Edition: Quyển sách này được viết bởi Massimo Banzi (một trong 5 người đồng sáng lập nền tảng Arduino) và Michael Shiloh (trưởng nhóm giáo dục của Arduino). Quyển này thuộc dạng sách giáo khoa cần phải có cho bất cứ ai muốn học Arduino và cũng đang được chúng tôi bán như là tài liệu tham khảo chính thức.

Arduino Workshop: A Hands-On Introduction with 65 Projects 1st Edition: Quyển này được viết bởi John Boxall – founder và cũng là chủ của trang chúng tôi John Boxall bắt đầu đăng các bài viết lên trang này từ năm 2012 và cho đến nay thì số lượng bài viết đã là cực khủng, bao gồm đến 61 bài hướng dẫn học Arduino với đủ thứ thiết bị khác nhau. Nếu thích học Arduino qua các dự án thực tế thì quyển này phù hợp với bạn.

Arduino Cookbook 3rd Edition: Quyển sách này dày hơn cả 2 quyển trước cộng lại. Để đọc hiểu được quyển này thì điều kiện đầu tiên là bạn phải đọc và thực hành nội dung của một trong hai quyển ở trên trước. Mình chưa đọc quyển này nhưng theo lời tác giả thì nó thích hợp cho những người muốn tận dụng sức mạnh của máy tính (computer) để tương tác với môi trường bên ngoài, hay những người đang đi tìm lời giải cho một vấn đề nào đó. Quyển này cũng không đề cập nhiều đến lý thuyết cơ bản về điện cũng như lập trình như 2 quyển trước.

3. Lập trình

Ở đây bạn cần 2 thứ đó là tư duy lập trình và kiến thức về vi điều khiển trên Arduino để phục vụ lập trình và tận dụng được hết sức mạnh của nó.

Trên thực tế, ta cần khả năng lập trình nhiều hơn. Tuy nhiên, nó cũng không khó hơn là bao so với mấy cái bài tập tin học lớp 11 trong chương trình phổ thông.

Trước tiên, bạn cần:

Arduino Driver để máy tính của mình giao tiếp được với mạch Arduino.

Arduino IDE để lập trình và tải chương trình lên mạch Arduino của mình.

Và đây là một chương trình mẫu điều khiển 1 cho đèn Led nhấp nháy.

int led = 13; void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

Ngôn ngữ lập trình Arduino được thiết kế dựa trên C. Do đó bạn đã biết lập trình Pascal ở trường phổ thông thì việc lập trình Arduino cũng chẳng có gì khác biệt nhiều ngoài cú pháp chương trình. Nếu bạn đã biết C rồi thì đây là một lợi thế rất lớn.

Với kiến thức về vi điều khiển trên Arduino, nó cũng tương tự như việc bạn học toán thì sẽ tự biết cách dùng các loại máy tính như fx 570-MS hay fx 570-ES (cách bấm máy để giải phương trình bậc 2, phương trình 2 ẩn, tìm giới hạn của hàm số,…) , làm việc nhiều với Arduino thì dần sẽ nắm được. Nếu không sử dụng sâu các chức năng trên vi điều khiển thì người dùng bình thường cũng rất hiếm khi dụng đến những kiến thức này.

Nếu bạn chấp nhận nghiên cứu một cách trâu bò, bạn có thể tìm đọc quyển Arduino Microcontroller Processing for Everyone!: Third Edition (Synthesis Lectures on Digital Circuits and Systems) 3rd Edition.

Đừng quá lo lắng vì tôn chỉ của nền tảng Arduino là luôn đơn giản tối đa mọi quy trình, giúp người dùng có thể dễ dàng thể hiện những ý tưởng sáng tạo của mình mà không bị gò bó như những nền tảng khác. Vì vậy, mình xếp yếu tố “Lập trình” nằm ở cuối cùng, tức là ít quan trọng hơn so với 2 yếu tố “Con người” và “Phần cứng”. Nếu bạn quyết tâm, bạn sẽ học được.

Lời gửi gắm cuối cùng

Trong quá trình làm việc với Arduino, hãy luôn nhớ rằng những gì bạn đang tiếp xúc chỉ là bề nổi của tảng băng chìm. Vì vậy, đừng ngần ngại tìm hiểu sâu vào những kiến thức, linh kiện điện tử làm nên Arduino (mặc dù chúng không đơn giản gì mấy) bởi chính những thứ đó mới có thể đưa bạn xuống một thế giới mới sâu hơn nằm bên dưới tảng băng này. Nếu chỉ mải đi loanh quanh trên bề mặt của tảng băng, tới một lúc nào đó bạn sẽ chẳng còn gì để học nữa !

Nhớ rằng: ” Bắt đầu từ những điều đơn giản. Kết thúc bằng những điều vĩ đại“, đừng làm ngược lại :3

[Aug 3, 2024, 7:17 PM]

Chào anh quocbao.

Em là sinh viên năm nhất của hcmus.

Em có đọc qua bài viết học arduino cần những gì của anh trên web http://arduino.vn. Em chọn nhúng vì muốn được học về cả điện tử lẫn lập trình.

Không biết anh có thể cho em xin chút ý kiến về những câu hỏi bên dưới được không ạ

Nhúng và lập trình (web, game, phần mềm) thì bên nào sẽ được ứng dụng nhiều hơn ạ? Em có đọc được thông tin trên mạng rằng nhúng chuyên biệt về một chức năng nào đó không như pc nó có nhiều chức năng.

Em chỉ học cao đẳng công nghệ thông tin, không biết ra trường sẽ có việc làm không ạ? Em dự định sẽ học liên thông đại học sau.

Em thấy những tuyển việc về nhúng ở việt đòi hỏi nhiều thứ trong chương trình học của em không có, em định sẽ tự học và học lệch về nhúng so với chương trình đào tạo của trường.

Về cơ bản thì em theo hướng nào cũng được miễn là em có đam mê hoặc quyết tâm thì chắc chắn sẽ thành công. Sếp của anh hồi trước học hóa học chuyên ngành dầu khí nhưng hiện tại đang làm CEO công ty công nghệ nên không có gì là không thể cả.

Hồi học sinh anh tiếp xúc với software trước sau đó mới làm hardware. Khi lên đại học thì anh chọn theo software vì anh thấy hiện mảng hardware đã chuẩn hóa hết rồi, không có nhiều đất để sáng tạo như mảng software. Mặt khác anh cũng thích cái văn hóa opensource của software. Tuy nhiên hardware cũng có những cái thú vị riêng của nó mà bên software không có. Em trải nghiệm nhiều thì sẽ tìm được cái phù hợp với bản thân.

Đi làm người ta tính trên số năm kinh nghiệm và những project em đã hoàn thành cộng thêm thái độ làm việc nên có bằng hay không không quan trọng. Có thể vài công ty yêu cầu bằng cấp thật nhưng số này rất là ít, chủ yếu là vấn đề về thủ tục giấy tờ yêu cầu bằng cấp thôi. Nếu em đầu tư tốt vào ba thứ sau thì anh đảm bảo sẽ không có công ty nào từ chối em: trang blog cá nhân, trang Github cá nhân, tiếng Anh. Ở một đẳng cấp cao hơn là có giải tại các cuộc thi lớn và đóng góp cho các dự án opensource.

Cập nhật: 04/08/2024

Arduino Là Gì? Tìm Hiểu Về Arduino Trong “1 Bài Viết” Cùng

Hê Nhô! Nếu bạn đang tìm hiểu về Arduino theo con đường không phải “dân chuyên” như tôi thì đây chắc chắn là bài viết dành cho bạn rồi. Trong bài viết này tôi sẽ dùng con mắt của kẻ không chuyên rất thích độ chế điện tử và có kiến thức nền tảng điện tử cơ bản khá ổn như tôi để giải thích cho bạn một cách cơ bản nhất về arduino (có thể đây là bài mở đầu của serie bài viết tự chơi Arduino cơ bản luôn).

Arduino là cái cm gì nhể :v :v :v

Nóa là cái thứ phần cứng mì ăn liền dễ sử dụng nhất mà tôi từng biết, Arduino tích hợp vi xử lý (AVR của hãng Atmel) đi kèm một số thứ nữa và đa phần là nó đã được tối ưu giúp bạn dễ dàng sử dụng hơn, dễ dàng giao tiếp với máy tính thông qua cáp USB mini hay gì đó… và việc của bạn chỉ là cài phần mềm chuyên dùng lập trình arduino (Arduino IDE)…xong là chiến được ngay.

Có rất nhiều Bo-Mạch arduino ra đời vì nhiều mục đích và yêu cầu khác nhau cho mỗi dự án, cụ thể chút:

Arduino Diecimila in Stoicheia

Arduino Duemilanove (rev 2009b)

Arduino UNO

Arduino Leonardo

Arduino Mega

Arduino MEGA 2560 R3

Arduino Due (nền tảng ARM)

LilyPad Arduino (rev 2007)

FUCKKKKKKK………… Nhiều như thế học hết thế méo nào được!!!

Đùa chút thôi, bạn đừng lo vì cái thông dụng nhất đủ để giải quyết hầu hết các ý tưởng điên rồ của bạn và tôi là những cái được tôi bôi đỏ ở trên, thậm chí có cái thằng Nano đã bôi đỏ còn bôi :))) Vì nó là thằng được ứng dụng nhiều nhất, dễ dùng… Nói chung là Ngon-Bổ-Rẻ và bạn chắc chắn sẽ dùng nó vào thực tế nếu chơi arduino.

Ứng dụng và sức mạnh của Arduino Ứng dụng rộng rãi

Mình đã đọc ở đâu đó bài báo nói rằng có kha khá board mạch Arduino đã được sử dụng trong tàu bay vào không gian của Mỹ để điều khiển một số hoạt động bên trong con tàu… Mấy ổng cũng liều ghê, dùng board của Ý thì ngon chứ lỡ may lấy phải hàng Tàu khựa thì chết mẹ…

Đùa chút, không phải bàn cãi nhiều về ứng dụng của Arduino đâu vì sự phát triển rộng rãi của nó đã nói lên tất cả cmnr.

Các mạch chiếu sáng tự động.

Ngành giáo dục

Nhà thông minh.

Robot cứu hỏa.

Máy bay không người láy…

…. MỘT MÌNH TAO…..CHẤP HỚTTTTTT…

Mạnh mẽ và dễ dùng là điểm mạnh của arduino

Hôm trước có thằng nói với tôi:

Đuỵt! Mấy con gà ngu học mới phải chơi arduino, Bố mày dân điện phải chơi AVR, PIC… Lập trình phải ngôn ngữ gốc assembly chứ mấy cái “ngôn ngữ Arduino cùi bắp” bố mày méo chấp.

Ghê chưa, mấy thằng ngu là hay lên mặt dạy đời lắm cơ mà nó cũng biết tý nên thôi kệ mẹ nó việc đứa nào đứa làm. Hôm sau vẫn thằng ngu đó, lên forum chỉ 1 ông khác mới tập chơi vi xử lý và vấn đề lập trình LCD. Mình chả biết nó viết con mẹ gì, ngôn ngữ assembly đoạn code tràn 2 cái màn hình laptop (pro vl luôn nhể). Xong mình cũng có dự án tương tự nên mang đoạn code về test so với việc mình sử dụng thư viện có sẵn trong Arduino IDE chỉ vỏn vẹn 10 dòng code để thực hiện chức năng tương tự.

WOW cười đéo ngửi được, chương trình của mình chạnh nhanh gần gấp rưỡi nó. Test bao nhiêu lần vẫn vậy, Dou-ma đúng là nhiều thằng ngu mà hay sủa ghê…

CHỐT: Arduino không chỉ mạnh mẽ mà còn cực kỳ đơn giản, ngôn ngữ lập trình rất dễ hiểu và dễ sử dụng cho bất cứ ai yêu điện và lập trình.

UNO R3 hay Nano

Đây là 2 em Arduino được sử dụng rất nhiều (nhiều nhất) trong các ứng dụng, nghiên cứu cũng như học tập.

Thông số chung cho 2 em:

UNO chơi chíp cắm có thể thay thế được.

NANO chíp dán (Thay được đấy – thằng nào ngon thì vào mà hàn).

Shield và Module

Shield và module là 2 dạng phần cứng được các công ty “ăn theo” sản xuất phục vụ 1 ứng dụng nào đó cho Arduino. Cụ thể:

Shield

Là module chức năng (phần cứng) có bộ chân có thể cắm đè nên Board Arduino tương thích để giúp Arduino “biến hình” thành 1 board có thêm chức năng của shield đó mà vẫn giữ được số chân ra cũng như vào (hình như thế :))) ). 1 số Shield nổi bật:

Shield Adafruit Datalogging với một khe chứa thẻ nhớ SD và chip clock Real-Time

MODULE

Module – Cái tên nói lên tất cả cmnr. Nó là 1 cụm phần cứng giao tiếp được với arduino hỗ trợ việc “nghe-nhìn” cho arduino thông qua các giao tiếp phần cứng và phần mềm…

Ví dụ:

Module Relay để điều khiển đóng ngắt thiết bị.

Module DS18B20 cảm biến nhiệt độ tín hiệu Digital.

Module LCD I2C giao tiếp điều khiển LCD chỉ cần 2 chân thay vì 8 chân (hay 9 gì đó).

Module bàn phím, Joistick… nhiều lắm lắm…

Phần mềm – Aruduino IDE – “Ngôn ngữ Arduino”

IDE là 1 ứng dụng cài vào máy tính để lập trình và giao tiếp với các board Arduino. Nếu bạn lười cài hay ki bo và Mê-Ga-Bai dữ liệu thì có thể sử dụng IDE online cũng rất tốt.

Tải về Arduino IDE ở đây!

void setup() { pinMode(13, OUTPUT); }

void loop() { digitalWrite(13, HIGH);

Copy vui lòng để nguồn https://quanmach.com

Giới Thiệu Về Arduino Và Ứng Dụng Arduino

GIỚI THIỆU VỀ ARDUINO VÀ ỨNG DỤNG ARDUINO

1/ Arduino là gì ?

– Arduino Uno là một board mạch vi điều khiển được phát triển bởi chúng tôi một nền tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển AVR Atmega328P. Với Arduino chúng ta có thể xây dựng các ứng dụng điện tử tương tác với nhau thông qua  phần mềm và phần cứng hỗ trợ.

– Hiện nay Arduino được biết đến ở Việt Nam rất rộng rãi. Từ học sinh trung học, đến sinh viên và người đi làm. Những dự án nhỏ và lớn được thực hiện một cách rất nhanh, các mã nguồn mở được chia sẻ nhiều trên diễn dàn trong nước và nước ngoài. Giúp ích rất nhiều cho những bạn theo đam mê nghiên cứu chế tạo những sản phẩm có ích cho xã hội.

– Trong những năm qua, Arduino là bộ não cho hàng ngàn dự án điện tử lớn nhỏ, từ những sản phẩm ra đời ứng dụng đơn giản trong cuộc sống đến những dự án khoa học phức tạp.

Cứ như vậy, thư viện mã nguồn mở ngày một tăng lên, giúp ích cho rất nhiều người mới biết đến Arduino cũng như những chuyên viên lập trình nhúng và chuyên gia cùng tham khảo và xây dựng tiếp nối….

– Bạn muốn thiết kế điều khiển thiết bị thông qua cảm biến ánh sáng, Đo nồng độ hóa chất, khí ga và xử lý thông qua cảm biến nồng độ và cảm biến khí, Bạn muốn làm 1 con robot mini, Bạn muốn quản lý tắt mở thiết bị điện trong nhà, bạn muốn điều khiển motor, nhận dạng ID, Khó hơn xíu là bạn muốn làm một máy CNC hoặc máy in 3D mini, máy bay không người lái ( Flycam) một hệ thống thu thập dữ liệu thông qua GSM, xử lý ảnh,điều khiển vạn vật thông qua internet giao tiếp với điện thoại thông minh…

– Để làm được điều đó, từ đơn giản đến phức tạp bạn cần sử dụng ngôn ngữ lập trình Arduino dựa trên sơ đồ, hệ thống của bạn thiết kế, thông qua phần mềm Arduino IDE, để thực hiện những yêu cầu đó đưa về bộ phận xử lý trung tâm ( Arduino).

2/ Giới thiệu và tổng quát về các loại Arduino 

– Hiện nay trên thị trường có rất nhiều phiên bản Arduino như Arduino Uno R3, Arduino Uno R3 CH340, Arduino Mega2560, Arduino Nano, Arduino Pro Mino, Arduino Lenadro, Arduino Industrial….

– Liên kiện điện tử vietnic xin giới thiệu đến các bạn các loại Arduino thông dụng sau

2.1 Arduino Uno R3 chíp cắm, Arduino chíp dán

► Arduino Uno R3 là một board mạch vi điều khiển được phát triển bởi chúng tôi một nền tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển AVR Atmega328P.

► Phiên bản hiện tại của Arduino Uno R3 đi kèm với giao diện USB, 6 chân đầu vào analog, 14 cổng kỹ thuật số I / O được sử dụng để kết nối với các mạch điện tử, thiết bị bên ngoài. Trong đó có 14 cổng I / O, 6 chân đầu ra xung PWM cho phép các nhà thiết kế kiểm soát và điều khiển các thiết bị mạch điện tử ngoại vi một cách trực quan.

► Arduino Uno R3 được kết nối trực tiếp với máy tính thông qua USB  để giao tiếp với phần mềm lập trình IDE, tương thích với Windows, MAC hoặc Linux Systems, tuy nhiên, Windows thích hợp hơn để sử dụng. Các ngôn ngữ lập trình như C và C ++ được sử dụng trong IDE.

► Ngoài USB, người dùng có thể dùng nguồn điện ngoài để cấp nguồn cho bo mạch.

► Các bo mạch Arduino Uno khá giống với các bo mạch khác trong các loại Arduino về mặt sử dụng và chức năng, tuy nhiên các bo mạch Uno không đi kèm với chip điều khiển FTDI USB to Serial.

► Có rất nhiều phiên bản bo mạch Uno, tuy nhiên, Arduino Nano V3 và Arduino Uno là những phiên bản chính thức nhất đi kèm với vi điều khiển Atmega328 8 bit AVR Atmel trong đó bộ nhớ RAM là 32KB.

► Khi tính chất và chức năng của nhiệm vụ trở nên phức tạp, thẻ nhớ SD Mirco có thể được kết nối thêm vào Arduino để lưu trữ được nhiều thông tin hơn.

Arduino Uno R3 chíp cắm

Arduino Uno R3 chíp dán CH340

☼ Các tính năng Arduino trên Board

► Arduino Uno đi kèm với giao diện USB tức là cổng USB được thêm vào bo mạch Arduino để phát triển giao tiếp nối tiếp với máy tính.

► Bộ vi điều khiển Atmega328 sử dụng trên bo mạch đi kèm với một số tính năng như hẹn giờ, bộ đếm, ngắt, chân PWM, CPU, chân I / O và dựa trên xung nhịp 16 MHz giúp tạo ra nhiều tần số và số lệnh hơn trong mỗi chu kỳ.

► Đây là một nền tảng mã nguồn mở, nơi mọi người có thể sửa đổi và tối ưu hóa bảng dựa trên số lượng hướng dẫn và nhiệm vụ muốn đạt được.

► Arduino đi kèm với một tính năng điều chỉnh tích hợp giúp giữ điện áp trong tầm kiểm soát khi thiết bị được kết nối với thiết bị bên ngoài.

► Chân reset trên Arduino để thiết lập lại toàn bộ và đưa chương trình đang chạy trở về ban đầu. Chân reset này hữu ích khi Arduino bị treo khi đang chạy chương trình

► Có 14 chân I / O digital và 6 chân analog được tích hợp trên Arduino cho phép kết nối bên ngoài với bất kỳ mạch nào với Arduino. Các chân này cung cấp sự linh hoạt và dễ sử dụng cho các thiết bị bên ngoài có thể được kết nối thông qua các chân này. 

► 6 chân analog được đánh dấu là A0 đến A5 và có độ phân giải 10 bit. Các chân này đo từ 0 đến 5V, tuy nhiên, chúng có thể được cấu hình ở phạm vi cao bằng cách sử dụng chức năng analogReference () và chân ISF.

► Bộ nhớ flash 13KB được sử dụng để lưu trữ số lượng hướng dẫn dưới dạng mã.

► Chỉ cần nguồn 5V để sử dụng với Arduino, hoặc lấy nguồn trực tiếp từ cổng USB. Arduino có thể hỗ trợ nguồn điện bên ngoài lên đến 12 V có thể được điều chỉnh và giới hạn ở mức 5 V hoặc 3,3 V dựa trên yêu cầu của projects.

☼ Các chân input – output của Arduino Uno R3

Có một số chân I / O Digital và analog được đặt trên bo mạch hoạt động ở mức logic 5V với dòng từ khoảng từ 20mA đến 40mA

Thông số kỹ thuật:

► Chíp ATMEGA328P-PU

► Nguồn Cấp : 7-12V

► Dòng Max chân 5V : 500mA

► Dòng Max 3.3V : 50mA

► Dòng Max Chân I/O : 30mA

►14 Chân Digital I/O  (6 chân PWM)

►6 Chân Analog Inputs

► 32k Flash Memory

► 16Mhz Clock Speed

► SRAM 2 KB

► EEPROM 1 KB

► Đèn LED :  Arduino Uno đi kèm với đèn LED tích hợp được kết nối thông qua chân 13. Cung cấp mức logic HIGH tương ứng ON và LOW tương ứng tắt.

► Vin :  Đây là điện áp đầu vào được cung cấp cho board mạch Arduino. Khác với 5V được cung cấp qua cổng USB. Pin này được sử dụng để cung cấp điện áp toàn mạch thông qua jack nguồn, thông thường khoảng 7-12VDC

► 5V : Chân 5V được sử dụng để cung cấp điện áp đầu ra. Arduino được cấp nguồn bằng ba cách đó là USB, chân Vin của bo mạch hoặc giắc nguồn DC.

► USB :  Hỗ trợ điện áp khoảng 5V trong khi Vin và Power Jack hỗ trợ dải điện áp trong khoảng từ 7V đến 20V. 

► GND : Chân mass chung cho toàn mạch Arduino

► Reset : Chân reset để thiết lập lại về ban đầu

► IOREF : Chân này rất hữu ích để cung cấp tham chiếu điện áp cho Arduino

► PWM : PWM được cung cấp bởi các chân 3,5,6,9,10, 11. Các chân này được cấu hình để cung cấp PWM đầu ra 8 bit.

► SPI : Chân này được gọi là giao diện ngoại vi nối tiếp. Các chân 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) cung cấp liên lạc SPI với sự trợ giúp của thư viện SPI.

► AREF : Chân này được gọi là tham chiếu tương tự, được sử dụng để cung cấp điện áp tham chiếu cho các đầu vào tương tự.

► TWI : Chân Giao tiếp TWI được truy cập thông qua thư viện dây. Chân A4 và A5 được sử dụng cho mục đích này.

► Serial Communication :Giao tiếp nối tiếp được thực hiện thông qua hai chân 0 (Rx) và 1 (Tx).

► Rx :  Chân này được sử dụng để nhận dữ liệu trong khi chân Tx được sử dụng để truyền dữ liệu.

► External Interrupts (Ngắt ngoài) : Chân 2 và 3 được sử dụng để cung cấp các ngắt ngoài.

2.2 Arduino Nano 

► Arduino Nano USB Mini là board mạch sử dụng vi điều khiển ATmega328P hoặc ATmega168 tích hợp các chân I/O đơn giản nhỏ gọn dựa trên mã nguồn mở được phát triển bởi chúng tôi có lợi thế lớn về kích thước so với phiên bản Arduino Uno và Arduino Mega. Arduino Nano có thể hoạt động độc lập và tương tác hiệu quả với các thiết bị điện tử, cũng có thể giúp những người mới tìm hiểu về Arduino có thể kết nối với PC, phối hợp với Flash, Xử lý, Max / Msp, PD,  và các phần mềm khác một cách dễ dàng. Điều này giúp Arduino Nano là sự lựa chọn ưa thích khi muốn thực hiện một projects mà yếu cầu kết nối với các thiết bị ngoại vi ít và đơn giản.

► Các chức năng rất giống giống với phiên bản Arduino Uno nhưng kích thước nhỏ gọn hơn.

► Arduino Nano hoạt động với điện áp 5V. Tuy nhiên nguồn cấp điện áp đầu vào có thể thay đổi từ 7 đến 12V.

► Arduino Nano bo gồm tất cả 14 chân Digital, 8 chân Analog, 2 chân Reset và 6 chân Nguồn.

► Mỗi chân Digital và Analog có thể thực hiện với nhiều chức năng khác nhau nhưng chức năng chính vẫn là được mặc định cấu hình làm đầu vào (Input)  hoặc đầu ra ( Output). Khi giao tiếp với cảm biến các chân Digital / Analog đóng vai trò chân Input, Và khi sử dụng để điều khiển động cơ, tạo xung, kích dẫn relay, thiết bị chuyển mạch thì các chân Digital / Anologs đống vai trò Output.

► Các hàm cơ bản như pinMode() và digitalWrite() được sử dụng để điều khiển hoạt động của các chân Digital trong khi analogRead() được sử dụng để điều khiển các chân Analog.

► Các chân Analog có độ phân giải 10 bit, giá trị thay đổi từ 0V đến 5V.

► Có một hạn chế khi sử dụng Arduino Nano đó là không đi kèm giắc nguồn DC, có nghĩa là không thể cung cấp nguồn điện bên ngoài thông qua các chân Arduino Nano như các phiên bản Arduino Uno và Arduino Mega. Phải cắm trực tiếp thông qua cổng USB Mini

► Board mạch Arduino Nano không sử dụng cổng USB chuẩn thường dùng để kết nối với máy tính, thay vào đó Arduino Nano chỉ hỗ trở cổng USB Mini để kết nối

► Với Kích thước nhỏ gọn và các tính năng giống với phiên bản Arduino Uno nên Arduino Nano trở thành một lựa chọn lý tưởng cho hầu hết các ứng dụng thực hiện các projects trong đó kích thước của các thành phần điện tử được tối ưu.

► Bộ nhớ flash là 16KB hoặc 32KB, phụ thuộc vào Vi điều khiển Atmega, tức là Atmega168 đi có bộ nhớ flash 16KB trong khi Atmega328 đi có bộ nhớ flash là 32KB. Bộ nhớ flash được sử dụng để lưu trữ mã hóa dữ liệu. Bộ nhớ 2KB trong tổng số bộ nhớ flash được sử dụng cho chương trình khởi động gọi là Bootloader.

► Bộ nhớ SRAM có thể thay đổi từ 1KB hoặc 2KB và EEPROM tương ứng là 512 byte hoặc 1KB đối với Atmega168 và Atmega328.

► Sử dụng phần mềm IDE để lập trình với cáp USB Mini giao tiếp với máy tính

Arduino nano

Sơ đồ chân và thông số kỹ thuật Arduino Nano sử dụng Vi điều khiển ATmega328P :

► Chip : ATmega328P

► Điện áp logic : 5V

► Điện áp hoạt động : 7-12V

► Các chân I/O : 14 chân ( Bao gồm 6 chân PWM)

► Dòng diện I/O : 40mA

► Bộ nhớ Flash : 32Kb

► SRAM : 2Kb

► EEPROM : 1Kb

► Tần số dao động : 16Mhz

ARDUINO NANO – linh kiện điện tử Vietnic

Mỗi chân trên mạch Arduino Nano có chức năng cụ thể trên các chân đó. Chẳng hạn như các chân Analog có thể sử dụng như một bộ chuyển đổi Analog sang Digital trong đó các chân A4 và A5 cũng có thể được sử dụng cho vấn đề giao tiếp I2C. Tương tự, có 14 chân Digital, trong đó có 6 chân được sử dụng để tạo ra xung PWM.

► Chân Vin :  Đây là chân cung cấp điện áp đầu vào cho mạch Arduino nano khi sử dụng nguồn ngoài từ 7VDC đến 12 VDC.

► Chân 5V : Là mức điện áp cung cấp quy định của Arduino được sử dụng để cấp nguồn nuôi cho vi điều khiển và các bộ phận linh kiện khác trên board Arduino.

► Chân 3,3V :  Đây là một mức điện áp tối thiểu được tạo ra bởi bộ điều chỉnh điện áp trên board ( sử dụng Lm1117 – 3.3V)

► Chân GND : Chân mass cho Arduino, có nhiều chân GND trên board Arduino cho mục đích dễ dàng kết nối với thiết bị ngoại vi sử dụng dây testboard

► Chân Reset : Khi tác động nút nhấn reset, Arduino được trả về lại chương trình ban đầu. Rất hữu ích khi chạy chương trình phức tạp và bị treo Vi điều khiển ATmega. Mức tích cực LOW được thiết lập sẽ reset lại Arduino Nano

► Các chân Analogs : Có 8 chân Analog trên board mạch Arduino Nano được ký hiệu là A0 đến A7. Được sử dụng để đo điện áp tương tự trong khoảng từ 0V đến 5V.

► Chân Rx, Tx : Được sử dụng cho giao tiếp nối tiếp trong đó Tx là truyền dữ liệu và Rx là nhận dữ liệu.

► Chân 13 : Để thực hiện bật tắt LED trên board Arduino Nano, sử dụng để quan sát, kiểm tra chương trình cần thiết

► Chân AREF : Chân này được sử dụng lấy điện áp tham chiếu cho điện áp đầu vào.

► Chân xung PWM : Bao gồm 6 chân là chân 3,5,6,9,10,11 được sử dụng để cung cấp đầu ra 8-bit xung PWM.

► Giao tiếp SPI : Chân 10(SS), Chân 11(MOSI), Chân 12(MISO), Chân 13(SCK) được sử dụng cho SPI Giao diện ngoại vi nối tiếp. SPI được sử dụng chủ yếu để truyền dữ liệu giữa các bộ vi điều khiển và các thiết bị ngoại vi khác như cảm biến, thanh ghi và thẻ nhớ SD.

► Ngắt ngoài ( External Interrupts ) : Chân 2 và 3 sử dụng làm ngắt ngoài được thiết lập trong trường hợp khẩn cấp khi chúng ta cần dừng chương trình chính và tác động các cảnh báo hướng dẫn tại thời điểm đó. Chương trình chính sẽ tiếp tục lại sau khi lệnh ngắt được loại bỏ.

► Giao tiếp I2C : Giao tiếp I2C sử dụng các chân A4 (SDA) và A5 (SCL)

2.3 Arduino Mega2560

► Arduino Mega 2560 là board mạch vi điều khiển dựa trên chip xử lý Atmega2560 được mở rộng thêm bộ nhớ và các chân I / O so với các bo mạch khác có sẵn trên thị trường.

► Có 54 chân I / O digital và 16 chân analog được tích hợp trên bo mạch giúp thiết bị này trở nên riêng biệt và nổi bật so với các thiết bị khác.

► Có tất cả 54 chân ra I / O digital, trong đó có 15 chân được sử dụng cho xuất xung PWM

► Một bộ dao động thạch anh có tần số 16 MHz được tích hợp trên board Arduino Mega2560

► Arduino Mega2560 có cổng USB được sử dụng để kết nối và chuyển mã từ máy tính đến mạch Arduino Mega dựa trên phần mềm IDE

► Tích hợp jack nguồn DC để cấp nguồn cho bo mạch. Một số phiên bản Arduino khác thiếu tính năng này như Arduino Pro Mini không đi kèm jack cắm nguồn DC.

► Đầu jack kết nối ICSP ( Header đôi gần nút reset) được bổ sung đáng chú ý cho Arduino Mega, sử dụng để lập trình Arduino và tải file lên từ máy tính qua phần mềm IDE

► Arduino Mega2560 có hai mức điện áp là 5V và 3.3V cung cấp sự linh hoạt để điều chỉnh điện áp theo yêu cầu so với Arduino Pro Mini chỉ đi kèm với một bộ điều chỉnh điện áp.

► So sánh với Arduino Uno thì Arduino Mega không có nhiều sự khác biệt giữa Arduino Uno và Arduino Mega ngoại trừ Arduino Mega được mở rộng bộ nhớ và các chân I/O nhiều hơn, kích thước lớn hơn.

► Về phần mềm lập trình, Tất cả các loại Arduino đều dùng chung phần mềm IDE

► Tính khả dụng của Atmega16 trên bo mạch Arduino Mega làm cho nó khác với Arduino Pro Mini  chỉ sử dụng USB để chuyển đổi nối tiếp để lập trình

► Tích hợp nút reset trên board mạch và 4 cổng nối tiếp phần cứng được gọi là USART, tạo ra tốc độ tối đa để giao tiếp.

Arduino Mega2560

☼ Sơ đồ chân và Thông số kỹ thuật của Arduino Mega2560

► Chíp ATMEGA2560 

► Điện Áp Hoạt Động : 5VDC

► Nguồn Cấp : 7-12V ( Giới Hạn 6-20V )

► Dòng Max chân 5V : 500mA

► Dòng Max 3.3V : 50mA

► Dòng Max Chân I/O : 40mA

► 54 Chân Digital I/O  (15 Chân PWM)

►16 Chân Analog Inputs

► Bộ Nhớ Flash : 256K

► 16Mhz Clock Speed

► SRAM 8 KB

► EEPROM 4 KB

ARDUINO MEGA2560 – linh kiện điện tử Vietnic

► Arduino Mega được thiết kế đặc biệt cho các dự án đòi hỏi mạch phức tạp và cần nhiều không gian bộ nhớ hơn. Hầu hết các dự án điện tử có thể được thực hiện khá tốt bởi các Arduino khác có sẵn trên thị trường như Arduino Uno R3, Arduino Nano, Arduino Pro Mini khiến Arduino Mega không được dủng phổ biến cho các dự án thông thường. Tuy nhiên, có một số dự án chỉ được thực hiện bởi Arduino Mega như chế tạo máy in 3D hoặc điều khiển nhiều động cơ DC, nhiều động cơ bước, vì khả năng lưu trữ nhiều thông tin, dữ liệu hơn trong bộ nhớ mã  hóa và cần nhiều các chân I/O

► Có ba cách để cấp nguồn cho Arduino Mega. Bạn có thể sử dụng cáp USB để cấp nguồn cho bo Arduino Mega hoặc sử dụng chân cấp nguồn Vin hoặc từ giắc cắm nguồn vào DC

► Arduino Mega2560 được thiết kế với cầu chì tự phục hồi mục đích ngăn cổng USB của máy tính sinh nhiệt khi xảy ra hiện tượng quá dòng trên mạch Arduino do các chân I/O chạm chập. Hầu hết máy tính laptop hay destop đều có cơ chế bảo vệ quá dòng thông qua cổng USB, tuy nhiên trên board mạch Arduino Mega2560 tích hợp sẵn sẽ tạo được lớp bảo vệ thứ 2 khi kết nối giao tiếp với máy tính.

Chi tiết về các chân trên board mạch Arduino Mega2560

► Chân 5V & 3.3V : Chân này được sử dụng để cung cấp điện áp đầu ra khoảng 5V. 

► Chân GND : Có 5 chân nối mass có sẵn trên board Arduino Mega, giúp dễ dàng kết nối nếu thực hiện dự án với nhiều kết nối thiết bị ngoại vi

► Chân reset : Được sử dụng để thiết lập lại board mạch về lại ban đầu. Mức tích cực LOW được thiết lập sẽ reset lại board mạch.

► Chân Vin : Là chân điện áp đầu vào cung cấp cho mạch Arduino Mega, điện áp từ 7V đến 20V. Mặt khác điện áp được cấp bởi jack nguồn DC có thể được lấy thông qua chân này. Tuy nhiên, điện áp đầu ra thông qua chân này đến mạch Arduino sẽ được tự động thiết lập là 5V.

► Chân truyền thông nối tiếp ( Serial Communication ) : RXD và TXD là các chân nối tiếp được sử dụng để truyền và nhận dữ liệu nối tiếp, chân Rx đại diện cho việc truyền dữ liệu còn Tx được sử dụng để nhận dữ liệu. Có tất cả 4 kết hợp các chân nối tiếp này được sử dụng trong đó Serial 0 là chân RX(0) và TX(1), Serial 1là chân TX(18) và RX(19), Serial 2 là chân TX(16) và RX(17), và Serial 3 là chân TX(14) và RX(15).

► Chân Ngắt ngoài ( External Interrupts) : 6 chân được sử dụng để tạo các ngắt ngoài đó là ngắt 0 (chân 0), ngắt 1 (chân 3), ngắt 2 (chân 21), ngắt 3 (chân 20), ngắt 4 (chân 19), ngắt 5 (chân 18). Các chân này tạo ra các ngắt bằng một số cách tức là cung cấp giá trị LOW, tăng hoặc giảm hoặc thay đổi giá trị cho các chân ngắt.

► Đèn LED : Arduino Mega 2560 tích hợp đèn LED trên board mạch kết nối với chân 13. Giá trị HIGH đèn LED được bật và LOW đèn LED tắt. Giúp người lập trình quan sát trực quan khi test, kiểm tra chương trình trên board Arduino

► Chân AREF : Chân tạo điện áp tham chiếu cho đầu vào analogs

► Các chân tương tự ( Analogs) :  Có 16 chân analog được tích hợp trên board Arduino có ký hiệu là A0 đến A15. Điều quan trọng cần lưu ý là tất cả các chân analog này có thể được sử dụng làm chân I / O Digital. Mỗi chân analog đi kèm với độ phân giải 10 bit. Các chân này có thể có điện áp thay đổi tử 0V đến 5V. Tuy nhiên, giá trị trên có thể được thay đổi bằng cách sử dụng hàm ISF và analogReference ().

► Giao tiếp I2C : Hai chân 20 và 21 hỗ trợ giao tiếp I2C trong đó 20 đại diện cho SDA (Dòng dữ liệu nối tiếp chủ yếu được sử dụng để giữ dữ liệu) và 21 đại diện cho SCL (Dòng đồng hồ nối tiếp chủ yếu được sử dụng để cung cấp đồng bộ hóa dữ liệu giữa các thiết bị)

► Truyền thông SPI : Được sử dụng để truyền dữ liệu giữa Arduino và các thiết bị ngoại vi khác. Chân 50 (MISO), Chân51 (MOSI), Chân 52 (SCK), Chân 53 (SS) được sử dụng để liên lạc SPI.

3/ Tại sao lại chọn Arduino

– Có rất nhiều dòng Vi Điều Khiển trên thị trường để chúng ta sử dụng cho dự án của mình. Nhưng để sử dụng và thực hiện được cần đòi hỏi người thực hiện có kiến thức và kinh nghiệm. Và hầu hết các dòng vi điều khiển được giới hạn sử dụng trong windows là chủ yếu.

– Với Arduino, phần mềm hỗ trợ đa nền tảng, có thể chạy trên các hệ điều hành Windows, Macintosh OSX và Linux.

– Chi phí Arduino không tốn kém

– Phần mềm lập trình IDE dễ sử dụng, kể cả cho người mới bắt đầu

– Phần mềm Arduino được xuất bản dưới dạng các công cụ mã nguồn mở, ngôn ngữ có thể được mở rộng thêm bởi các chuyên gia lập trình viên có kinh nghiệm thông qua các thư viện ngôn ngữ C++. Đối với những người nghiên cứu về kỹ thuật có thể tích hợp và nhúng ngôn ngữ AVR vào Arduino nếu cần.

– Hỗ trợ kết nối các thiết bị ngoại vi đa dạng thông qua các modules

 BỘ KIT HỖ TRỢ ARDUINO 37 CẢM BIẾN

– Có nhiều phiên bản Arduino chọn lựa, từ Phiên bản mini đến mở rộng

– Sử dụng, biên dịch và nạp chương trình thông qua máy tính dễ dàng

4/ Ứng dụng của Arduino

– Robot : Arduino được ứng dụng trong các thiết kế về Robot, cụ thể như điều khiển motor, nhận biết và xử lý thông qua cảm biến…

– Máy CNC mini sử dụng cho điêu khắc sử dụng laser hoặc spindle tốc độ cao.

Máy CNC 3 trục XYZ sử dụng Arduino Promini

– Máy in 3D, sử dụng in chi tiết sản phẩm 3D

 Máy in 3D sử dụng Arduino MEGA2560

– Máy bay không người lái

– Điều khiển thiết bị thông qua internet ( IoT)

– Nhận biết và xử lý và cảnh báo các vấn đề nguy hiểm như báo cháy, Nồng độ hóa chất, Khí ga độc hại, thông qua cảm biến

– Điều khiển thiết bị tắt bật đơn giản, Cảm biến âm thanh, ánh sáng….

* Một vài ứng dụng với Arduino thực tế

– Sử dụng Arduino Uno R3 điều khiển động cơ thông qua module L298P

– Sử dụng Arduino Mega để hiển thị thông tin lên LCD, TFT

– Sử dụng Arduino Uno R3 SMD mô phỏng với module cảm biến, điều khiển Servo mini

– Sử dụng Arduino Nano làm xe robot

5/ Cần phải chuẩn bị những gì để học Arduino ?

– Để học và thực hành Arduino, chúng ta cần hiểu và biết về các thiết bị phần cứng.

– Phần mềm (IDE destop)

– Thư viện

6/ Các thiết bị mua ở đâu ?

Linh kiện điện tử VIETNIC  chuyên cung cấp Linh kiện điện tử, Led Quảng Cáo , Nguồn Tổ Ong, Modules Arduino,Thiết bị công nghiệp uy tín. Là địa chỉ tin cậy để bạn mua hàng.

– Đến với Linh kiện điện tử VIETNIC Đà Nẵng, bạn được hỗ trợ tư vấn thuật nhiệt tình, chế độ hậu mãi cũng như bảo hành uy tín.

* Thông tin liên hệ :

– Địa chỉ : 816 Tôn Đức Thắng, P. Hòa Khánh, Q. Liên Chiểu, TP Đà Nẵng

– ĐT : 0905601343

– Website : www.vietnic.vn

Arduino Nano Là Gì? Những Ưu Điểm Khi Sử Dụng Board Arduino Nano

Điều đầu tiên mình muốn chia sẻ với các bạn khi mới tiếp xúc với Arduino Nano, cảm nhận đó là sự tiện dụng, đơn giản, có thể lập trình trực tiếp bằng máy tính (như Arduino Uno R3 ) và đặc biệt hơn cả đó là kích thước của nó. Kích thước của Arduino Nano cực kì nhỏ chỉ tương đương đồng 2 nghìn gấp lại 2 lần thôi (1.85cm x 4.3cm), rất thích hợp cho các bạn mới bắt đầu học Arduino, vì giá rẻ hơn Arduino Uno R3 nhưng dùng được tất cả các thư viện của mạch này. Hôm nay, mình viết bài này nhằm mục đích giới thiệu về mạch Arduino Nano và các thông số kĩ thuật, cùng với đó là những gợi ý ứng dụng khi bắt đầu với mạch này.

Thông số kỹ thuật Arduino Nano Arduino Nano Schematic Thiết kế nguồn

Tạo ra các điện áp 5V để cung cấp cho vi điều khiển và cũng là điểm cấp nguồn cho các thiết bị bên ngoài sử dụng. Mạch Arduino Nano sử dụng IC ổn áp LM1117 để tạo điện áp 5V. Đây là IC ổn áp tuyến tính, tuy hiệu suất không cao nhưng ít gợn nhiễu và mạch đơn giản.

Bảo vệ ngược nguồn, quá tải ( ô vuông màu đỏ). F1 là một cầu chì tự phục hồi, trong trường hợp bạn chỉ sử dụng dây cáp USB để cấp nguồn thì tổng dòng tiêu thụ không được quá 500mA. Nếu không cầu chì sẽ ngăn không cho dòng điện chạy qua.

Báo nguồn. Đèn nguồn ON sáng lên báo thiết bị đã được cấp nguồn. Nếu các bạn đã cắm nguồn mà đèn nguồn không sáng thì có thể nguồn cung cấp của bạn đã bị hỏng hoặc jack kết nối lỏng, hoặc mạch Arduino Nano kết nối với các linh kiện bên ngoài bị ngắn mạch.

Thiết kế mạch dao động

Mạch giao động tạo ra các xung Clock giúp cho vi điều khiển hoạt động, thực thi lệnh… Board mạch Arduino Nano sử dụng thạch anh 16Mhz làm nguồn dao động.

Thiết kế mạch Reset

Để vi điều khiển thực hiện khởi động lại thì chân RESET phải ở mức logic LOW (~0V) trong 1 khoản thời gian đủ yêu cầu. Mạch reset của board Arduino Nano phải đảm bảo được 2 việc:

Reset bằng tay: Khi nhấn nút, chân RESET nối với GND, làm cho MCU RESET. Khi không nhấn nút chân Reset được kéo 5V.

Reset tự động: Reset tự động được thực hiện ngay khi cấp nguồn cho vi điều khiển nhờ sự phối hợp giữa điện trở nối lên nguồn và tụ điện nối đất. Thời gian tụ điện nạp giúp cho chân RESET ở mức LOW trong 1 khoản thời gian đủ để vi điều khiển thực hiện reset.

Khởi động vi điều khiển trước khi nạp chương trình mới.

Thiết kế mạch nạp và giao tiếp máy tính

Vi điều khiển Atmega328P trên Board Arduino Nano đã được nạp sẵn 1 bootloader, cho phép nhận chương trình mới thông qua chuẩn giao tiếp UART (chân 0 và 1) ở những giây đầu sau khi vi điều khiển Reset.

So sánh Arduino Nano với Arduino Uno R3

Các thông số kĩ thuật của Arduino Nano hầu như giống hoàn Arduino Uno R3, vì vậy các thư viện trên Arduino Nano đều hoạt động tốt trên Arduino Uno. Tuy nhiên, ở Nano có một lợi thế cực kì quan trọng, nhờ đó Arduino Nano đã được ứng dụng rất nhiều trong các dự án DIY, đó chính là kích hước của nó. Đồng thời Nano còn số lượng chân Analog nhiều hơn Uno (2 chân A6, A7 chỉ dùng để đọc) cùng với dùng ra tối đa của mỗi chân IO lên đến 40mA. Nhưng, có một điểm trừ nhẹ cho Arduino Nano, đó là mạch này cần đến 2KB bộ nhớ cho bootloader (ở Uno là 0.5KB). Tuy nhiên, bạn đừng lo lắng, bạn còn đến tận 30KB bộ nhớ flash để lập trình, để dùng hết được 30KB này với tôi, đó là cả “một vấn đề lập trình”.

Ứng dụng thực tiễn của Board Arduino Nano

Car Robot Spider Robot Fog Robot

Cập nhật thông tin chi tiết về Học Arduino Bài 2 : Những Điều Cơ Bản Về Arduino trên website Channuoithuy.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!