Arduino: ví dụ về những gì có thể làm được. Kết nối và lập trình Arduino cho người mới bắt đầu

Có thể rất khó để bắt đầu hành trình của bạn trong lĩnh vực CNTT, nếu chỉ đơn giản vì nhìn vào các công nghệ xung quanh, không thể tách rời mối quan tâm “phần cứng” khỏi phần mềm. Một mặt là mong muốn tạo ra một thiết bị có vẻ ngoài hoàn hảo, nhiều cảm biến và khả năng vô hạn; mặt khác là sự bí ẩn trong việc xử lý dữ liệu, mong muốn tối đa hóa hiệu suất mà không bỏ qua chức năng. Arduino là bước đầu tiên dẫn đến những phát minh vĩ đại, không đòi hỏi kiến ​​thức chuyên sâu về thiết kế mạch cũng như kinh nghiệm lập trình.

Arduino là gì

Nếu bạn gọi thuổng là thuổng, thì Arduino là một bộ công cụ xây dựng dành cho những ai cảm thấy mệt mỏi với việc tạo ra những hình ảnh vô dụng và muốn mang lại cho chúng ít nhất một chút sức sống. Trong trường hợp đơn giản nhất, Arduino là một bảng mạch in trên đó có bộ điều khiển, bộ tạo dao động tinh thể, ADC/DAC, một số đầu nối, điốt và nút bấm. Phần còn lại là công việc của chủ sở hữu: nếu bạn muốn, hãy tạo ra một robot, nếu bạn muốn, một nền tảng phần mềm và phần cứng cho một ngôi nhà “thông minh”, hoặc quên đi những lợi ích thiết thực và vui chơi.

Tất nhiên, nó phụ thuộc. Bạn muốn tiến xa đến đâu với các thử nghiệm của mình, cho dù bạn muốn lọc niềm vui hay biến Arduino thành một nền tảng để tạo thu nhập cho riêng mình, bạn sẽ phải tiến bộ hơn cả về thiết kế phần cứng và học ngôn ngữ lập trình. Hôm nay chúng ta hãy nói thêm một chút về cái sau.

Arduino là một nền tảng khá hạn chế về khả năng lập trình, đặc biệt là so với Raspberry Pi. Do ngưỡng đầu vào quá thấp (Hướng dẫn cơ bản chiếm 3 tờ A4), bạn không thể tin tưởng vào lượng ngôn ngữ dồi dào nếu không kết nối các mô-đun bổ sung. Nó dựa trên C/C++, nhưng bằng cách sử dụng nhiều IDE và thư viện khác nhau, bạn sẽ có quyền truy cập vào Python, C#, Go và các mục yêu thích của trẻ em như Snap! và ArduBlock. Chúng ta sẽ nói thêm về cách thức, thời điểm và ai sẽ sử dụng chúng.

C/C++

Ngôn ngữ cơ bản của nền tảng Arduino, với một số sửa đổi và đơn giản hóa, được sử dụng trong phần mềm shell tiêu chuẩn. Bạn có thể tìm thấy tất cả các lệnh có sẵn “dành cho người mới bắt đầu”, nhưng không ai ngăn cản bạn sử dụng các khả năng ban đầu của ngôn ngữ C++; không cần có tiện ích bổ sung nào. Nếu bạn muốn chơi với C “thuần túy”, thì dịch vụ của bạn là một chương trình được thiết kế, đúng như tên gọi, để tương tác giữa HĐH Windows và dòng AVR MK, được sử dụng trên Arduino. Bạn có thể đọc hướng dẫn chi tiết hơn tại đây.

khối Ardu

Chúng ta hãy tạm thời chuyển từ ngôn ngữ của người lớn sang ngôn ngữ Scratch yêu thích của trẻ em, hay đúng hơn là chuyển sang ngôn ngữ thích ứng của nó - Ardublock. Mọi thứ ở đây đều giống nhau, nhưng có sự thích ứng với nền tảng của bạn: khối màu, hàm tạo, tên tiếng Nga, logic đơn giản. Tùy chọn này rất tuyệt vời ngay cả đối với những người chưa quen với lập trình. Giống như trong ngôn ngữ Logo, bạn có thể di chuyển một con rùa ảo trên một mặt phẳng ảo, ở đây với sự trợ giúp của các thao tác đơn giản, bạn có thể khiến trẻ hứng thú với việc diễn giải thực tế các hành động trong chương trình của mình.

Có, nhân tiện, để sử dụng nó, bạn cần cài đặt nó trên Arduino IDE tiêu chuẩn của mình. Tốt hơn hết là không nên lấy các phiên bản mới nhất, chúng khá phức tạp, phiên bản cuối năm 2013 sẽ phù hợp để bắt đầu. Để cài đặt, đổi tên tệp đã tải xuống thành “ardublock-all” và đặt nó vào thư mục “My Documents/Arduino/tools/ArduBlockTool/tool”. Nếu nó không tồn tại, chúng tôi tạo ra nó. Nếu bạn không hiểu điều gì đó, đây là chi tiết hơn.

Chụp!

So với Ardublock, Snap! có các khả năng nâng cao ở dạng khối bổ sung, khả năng sử dụng danh sách và chức năng. Đó là, Chụp! nói chung, nó đã giống như một ngôn ngữ lập trình dành cho người lớn rồi, chưa tính đến việc bạn vẫn cần phải chơi trò thiết kế mã.

Để sử dụng ngôn ngữ này, bạn sẽ phải truy cập snap4arduino.org và tải xuống các thành phần cần thiết cho hệ điều hành của mình. Tìm hướng dẫn cài đặt, sử dụng và video ví dụ tại đây.

Python

Về mặt hình thức, bạn có thể lập trình trên Arduino bằng ít nhất ngôn ngữ Piet, đơn giản vì với mức độ kiên trì phù hợp, bạn có thể biên dịch mọi thứ thành mã máy. Nhưng do Python là một trong những ngôn ngữ phổ biến nhất với sự kết hợp gần như tối ưu giữa độ phức tạp/khả năng, sẽ thật nực cười nếu bỏ qua khả năng ứng dụng của nó trong Arduino. Bạn có thể bắt đầu học Python với chương trình miễn phí của chúng tôi

Chương trình bao gồm những gì?

Để bắt đầu, cần hiểu rằng một chương trình không thể được đọc và viết giống như một cuốn sách: từ trang này sang trang khác, từ trên xuống dưới, từng dòng một. Bất kỳ chương trình nào cũng bao gồm các khối riêng biệt. Phần đầu của một khối mã trong C/C++ được biểu thị bằng dấu ngoặc nhọn trái ( , phần cuối của nó bằng dấu ngoặc nhọn phải ) .

Có nhiều loại khối khác nhau và loại khối nào sẽ được thực thi khi phụ thuộc vào các điều kiện bên ngoài. Trong ví dụ về chương trình tối thiểu, bạn có thể thấy 2 khối. Trong ví dụ này các khối được gọi xác định một chức năng. Một hàm chỉ đơn giản là một khối mã có tên nhất định mà sau đó ai đó có thể sử dụng từ bên ngoài.

Trong trường hợp này, chúng ta có 2 hàm có tên là setup và loop. Sự hiện diện của chúng là bắt buộc trong bất kỳ chương trình C++ nào dành cho Arduino. Họ có thể không làm bất cứ điều gì, như trong trường hợp của chúng tôi, nhưng họ phải được viết ra. Nếu không, bạn sẽ gặp lỗi ở giai đoạn biên dịch.

Cổ điển của thể loại: đèn LED nhấp nháy

Bây giờ hãy bổ sung chương trình của chúng ta để ít nhất điều gì đó xảy ra. Trên Arduino, một đèn LED được kết nối với chân 13. Nó có thể được kiểm soát, đó là những gì chúng tôi sẽ làm.

void setup() ( pinMode(13 , OUTPUT) ; ) void loop() ( digitalWrite(13 , HIGH) ; delay(100 ) ; digitalWrite(13 , LOW) ; delay(900 ) ; )

Biên dịch và tải chương trình. Bạn sẽ thấy đèn LED trên bảng nhấp nháy mỗi giây. Hãy cùng tìm hiểu tại sao đoạn mã này lại dẫn đến hiện tượng nhấp nháy mỗi giây.

Mỗi biểu thức là một mệnh lệnh cho bộ xử lý thực hiện một việc gì đó. Các biểu thức trong một khối được thực thi lần lượt theo thứ tự nghiêm ngặt, không có bất kỳ sự tạm dừng hoặc chuyển đổi nào. Nghĩa là, nếu chúng ta đang nói về một khối mã cụ thể, nó có thể được đọc từ trên xuống dưới để hiểu những gì đang được thực hiện.

Bây giờ hãy hiểu thứ tự các khối được thực thi, tức là. chức năng thiết lập và vòng lặp. Đừng lo lắng về ý nghĩa của các biểu thức cụ thể, chỉ cần tuân theo thứ tự.

    Ngay khi Arduino được bật, nhấp nháy hoặc nhấn nút RESET, “cái gì đó” gọi một hàm cài đặt. Nghĩa là, nó buộc các biểu thức trong đó phải được thực thi.

    Ngay sau khi quá trình thiết lập hoàn tất, “thứ gì đó” sẽ ngay lập tức gọi hàm vòng lặp.

    Ngay sau khi vòng lặp hoàn thành, “thứ gì đó” ngay lập tức gọi lại hàm vòng lặp và cứ tiếp tục như vậy.

Nếu chúng ta đánh số các biểu thức theo thứ tự chúng được thực hiện như thế nào, chúng ta sẽ nhận được:

void setup() ( pinMode(13 , OUTPUT) ; ❶ ) void loop() ( digitalWrite(13 , HIGH) ; ❷ ❻ ❿ độ trễ(100 ) ; ❸ ❼ … digitalWrite(13 , THẤP) ; ❹ ❽ độ trễ(900 ) ; ❺ ❾ )

Hãy để chúng tôi nhắc bạn một lần nữa rằng bạn không nên cố gắng cảm nhận toàn bộ chương trình bằng cách đọc từ trên xuống dưới. Chỉ nội dung của các khối được đọc từ trên xuống dưới. Nhìn chung, chúng ta có thể thay đổi thứ tự khai báo thiết lập và vòng lặp.

void loop() ( digitalWrite(13 , HIGH) ; ❷ ❻ ❿ delay(100 ) ; ❸ ❼ … digitalWrite(13 , LOW) ; ❹ ❽ delay(900 ) ; ❺ ❾ ) void setup() ( pinMode(13 , OUTPUT ) ;

Kết quả của việc này sẽ không thay đổi một chút nào: sau khi biên dịch, bạn sẽ nhận được một tệp nhị phân hoàn toàn tương đương.

Biểu thức làm gì

Bây giờ chúng ta hãy cố gắng hiểu tại sao chương trình được viết cuối cùng lại khiến đèn LED nhấp nháy.

Như bạn đã biết, chân Arduino có thể hoạt động như cả đầu ra và đầu vào. Khi chúng ta muốn điều khiển một thứ gì đó, tức là phát ra tín hiệu, chúng ta cần chuyển chân điều khiển sang trạng thái đầu ra. Trong ví dụ của chúng tôi, chúng tôi điều khiển đèn LED ở chân thứ 13, vì vậy chân thứ 13 phải được tạo thành đầu ra trước khi sử dụng.

Điều này được thực hiện bằng một biểu thức trong hàm thiết lập:

PinMode(13 , OUTPUT) ;

Các biểu thức có thể khác nhau: số học, khai báo, định nghĩa, điều kiện, v.v. Trong trường hợp này, chúng tôi thực hiện trong biểu thức gọi hàm. Nhớ? Chúng ta có của họ các hàm thiết lập và vòng lặp, được gọi bằng thứ mà chúng ta gọi là "thứ gì đó". Vậy bây giờ Chúng tôi chúng tôi gọi các hàm đã được viết ở đâu đó.

Cụ thể trong thiết lập của chúng tôi, chúng tôi gọi một hàm gọi là pinMode. Nó đặt chân được chỉ định theo số ở chế độ đã chỉ định: đầu vào hoặc đầu ra. Chúng tôi cho biết mã pin nào và chế độ nào mà chúng tôi đang nói đến trong dấu ngoặc đơn, cách nhau bằng dấu phẩy, ngay sau tên hàm. Trong trường hợp của chúng tôi, chúng tôi muốn chân thứ 13 hoạt động như một đầu ra. OUTPUT có nghĩa là đầu ra, INPUT có nghĩa là đầu vào.

Các giá trị đủ điều kiện như 13 và OUTPUT được gọi là đối số chức năng. Không nhất thiết tất cả các hàm đều phải có 2 đối số. Một hàm có bao nhiêu đối số tùy thuộc vào bản chất của hàm và cách tác giả viết nó. Có thể có các hàm với một đối số, ba, hai mươi; các hàm có thể không có đối số nào cả. Sau đó để gọi chúng, dấu ngoặc đơn được mở và đóng ngay lập tức:

Không ngắt() ;

Trên thực tế, bạn có thể nhận thấy rằng các hàm thiết lập và vòng lặp của chúng tôi cũng không nhận bất kỳ đối số nào. Và “thứ gì đó” bí ẩn gọi họ lên theo cách tương tự với dấu ngoặc đơn trống vào đúng thời điểm.

Hãy quay trở lại mã của chúng tôi. Vì vậy, vì chúng ta định nhấp nháy đèn LED mãi mãi nên chân điều khiển cần phải được tạo ra một lần và sau đó chúng ta không muốn nhớ về nó. Đây chính là mục đích của chức năng thiết lập về mặt ý thức hệ: thiết lập bảng khi cần và sau đó làm việc với nó.

Hãy chuyển sang chức năng vòng lặp:

void loop() ( digitalWrite(13, HIGH) ; delay(100) ; digitalWrite(13, LOW) ; delay(900) ; )

Như đã nêu, nó được gọi ngay sau khi thiết lập. Và nó được gọi đi gọi lại ngay khi nó kết thúc. Hàm vòng lặp được gọi là vòng lặp chính của chương trình và được thiết kế theo ý thức hệ để thực hiện công việc hữu ích. Trong trường hợp của chúng tôi, công việc hữu ích là nhấp nháy đèn LED.

Chúng ta hãy đi qua các biểu thức theo thứ tự. Vì vậy, biểu thức đầu tiên là lệnh gọi hàm tích hợp digitalWrite. Nó được thiết kế để áp dụng mức logic 0 (THẤP, 0 volt) hoặc mức logic (CAO, 5 volt) cho một chân nhất định. Hai đối số được truyền cho hàm digitalWrite: số pin và giá trị logic. Do đó, điều đầu tiên chúng ta làm là thắp sáng đèn LED ở chân thứ 13, cấp điện áp 5 volt cho nó.

Ngay sau khi điều này được thực hiện, bộ xử lý sẽ ngay lập tức chuyển sang biểu thức tiếp theo. Đối với chúng tôi, đây là lệnh gọi hàm trì hoãn. Một lần nữa, chức năng trì hoãn là một chức năng tích hợp giúp bộ xử lý ngủ trong một thời gian nhất định. Chỉ cần một đối số: thời gian tính bằng mili giây để ngủ. Trong trường hợp của chúng tôi là 100 ms.

Trong khi chúng ta ngủ, mọi thứ vẫn như cũ, tức là. đèn LED vẫn sáng. Ngay sau khi hết 100 ms, bộ xử lý sẽ thức dậy và ngay lập tức chuyển sang biểu thức tiếp theo. Trong ví dụ của chúng tôi, đây lại là lệnh gọi đến hàm tích hợp digitalWrite quen thuộc. Đúng, lần này chúng ta chuyển giá trị THẤP làm đối số thứ hai. Nghĩa là, chúng ta đặt số 0 logic ở chân thứ 13, tức là chúng ta cung cấp điện áp 0 volt, tức là chúng ta tắt đèn LED.

Sau khi đèn LED tắt chúng ta tiến hành biểu thức tiếp theo. Một lần nữa đây là lệnh gọi hàm trì hoãn. Lần này chúng tôi ngủ trong 900 ms.

Khi chế độ ngủ kết thúc, chức năng vòng lặp sẽ thoát. Sau khi hoàn thành, “thứ gì đó” ngay lập tức gọi lại và mọi thứ lại xảy ra: đèn LED sáng lên, sáng lên, tắt, chờ đợi, v.v.

Nếu bạn dịch những gì được viết sang tiếng Nga, bạn sẽ nhận được thuật toán sau:

    Thắp sáng đèn LED

    Ngủ trong 100 mili giây

    Tắt đèn LED

    Chúng ta ngủ trong 900 mili giây

    Hãy đi đến điểm 1

Vì vậy, chúng ta có một Arduino với đèn hiệu nhấp nháy cứ sau 100 + 900 ms = 1000 ms = 1 giây.

Những gì có thể thay đổi

Chúng ta hãy chỉ sử dụng kiến ​​thức đã thu được để thực hiện một số biến thể của chương trình nhằm hiểu rõ hơn về nguyên tắc.

Bạn có thể kết nối đèn LED bên ngoài hoặc thiết bị khác cần "nhấp nháy" với một chân khác. Ví dụ, vào ngày 5. Chương trình nên thay đổi như thế nào trong trường hợp này? Chúng ta phải thay thế số bằng số thứ 5 ở bất cứ nơi nào chúng ta truy cập vào chân thứ 13:

Biên dịch, tải xuống, kiểm tra.

Cần phải làm gì để đèn LED nhấp nháy 2 lần mỗi giây? Giảm thời gian ngủ sao cho tổng thời gian là 500 ms:

void setup() ( pinMode(5 , OUTPUT) ; ) void loop() ( digitalWrite(5 , HIGH) ; delay(50 ) ; digitalWrite(5 , LOW) ; delay(450 ) ; )

Làm cách nào để đèn LED nhấp nháy hai lần mỗi lần nhấp nháy? Bạn cần thắp sáng nó hai lần với một khoảng dừng ngắn giữa các lần bật:

void setup() ( pinMode(5 , OUTPUT) ; ) void loop() ( digitalWrite(5 , HIGH) ; delay(50 ) ; digitalWrite(5 , LOW) ; delay(50 ) ; digitalWrite(5 , HIGH) ; delay (50 ); kỹ thuật sốWrite(5 , THẤP );

Làm sao để máy có 2 đèn LED nhấp nháy luân phiên nhau mỗi giây? Bạn cần liên lạc với hai chân và làm việc theo vòng lặp với chân này hoặc chân kia:

void setup() ( pinMode(5 , OUTPUT) ; pinMode(6 , OUTPUT) ; ) void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900 ) ; digitalWrite (6 , CAO ); độ trễ (100 ) ;

Làm thế nào để đảm bảo thiết bị có 2 đèn LED chuyển đổi giống như đèn giao thông đường sắt: đèn đầu tiên sau đó đèn kia sáng? Bạn chỉ cần không tắt ngay đèn LED đang sáng mà hãy đợi đến thời điểm chuyển đổi:

void setup() ( pinMode(5 , OUTPUT) ; pinMode(6 , OUTPUT) ; ) void loop() ( digitalWrite(5 , HIGH) ; digitalWrite(6 , LOW) ; delay(1000 ) ; digitalWrite(5 , THẤP) ;

Hãy tự mình kiểm tra các ý tưởng khác. Như bạn có thể thấy, mọi thứ đều đơn giản!

Về không gian trống và mã đẹp

Trong C++, dấu cách, ngắt dòng và ký tự tab không quan trọng lắm đối với trình biên dịch. Chỗ nào có dấu cách thì có thể bị ngắt dòng và ngược lại. Trên thực tế, 10 dấu cách liên tiếp, 2 dấu ngắt dòng và 5 dấu cách nữa là tương đương với một dấu cách.

Khoảng trống là công cụ của lập trình viên, nhờ đó bạn có thể làm cho chương trình trở nên dễ hiểu và trực quan hoặc làm biến dạng nó đến mức không thể nhận ra. Ví dụ: hãy nhớ chương trình nhấp nháy đèn LED:

void setup() ( pinMode(5 , OUTPUT) ; ) void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900 ) ; )

Chúng ta có thể thay đổi nó như thế này:

void setup( ) ( pinMode(5 , OUTPUT) ; ) void loop () ( digitalWrite(5 ,HIGH) ; delay(100 ) ; digitalWrite(5 ,LOW) ; delay(900 ) ; )

Tất cả những gì chúng tôi làm là làm việc một chút với khoảng trống. Bây giờ bạn có thể thấy rõ sự khác biệt giữa mã hài hòa và mã không thể đọc được.

Để tuân theo luật bất thành văn trong thiết kế chương trình, được tôn trọng trên các diễn đàn, khi người khác đọc và bạn dễ dàng nhận ra, hãy làm theo một số quy tắc đơn giản:

1. Luôn tăng khoảng thụt lề giữa ( và ) khi bắt đầu một khối mới. Thông thường 2 hoặc 4 khoảng trắng được sử dụng. Chọn một trong các giá trị và tuân theo nó xuyên suốt.

Tệ:

void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900 ) ; )

Khỏe:

void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900 ) ; )

2. Giống như trong ngôn ngữ tự nhiên: đặt dấu cách sau dấu phẩy và không đặt trước.

Tệ:

DigitalWrite(5 ,CAO); digitalWrite(5, CAO); digitalWrite(5 ,CAO);

Khỏe:

DigitalWrite(5, CAO);

3. Đặt ký tự đầu khối (trên một dòng mới ở mức thụt lề hiện tại hoặc ở cuối ký tự trước đó. Và ký tự cuối khối) trên một dòng riêng biệt ở mức thụt lề hiện tại:

Tệ:

void setup() ( pinMode(5, OUTPUT); ) void setup() ( pinMode(5, OUTPUT); ) void setup() ( pinMode(5, OUTPUT); )

Khỏe:

void setup() ( pinMode(5, OUTPUT); ) void setup() ( pinMode(5, OUTPUT); )

4. Sử dụng các dòng trống để phân tách các khối ý nghĩa:

Khỏe:

Tốt hơn:

void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900 ); digitalWrite(6 , HIGH) ; delay(100 ) ; digitalWrite(6 , LOW) ; delay( 900 ) ;

Về dấu chấm phẩy

Bạn có thể thắc mắc: tại sao lại có dấu chấm phẩy ở cuối mỗi biểu thức? Đây là những quy tắc của C++. Những quy định như vậy được gọi là cú pháp ngôn ngữ. Bằng ký hiệu; trình biên dịch hiểu biểu thức kết thúc ở đâu.

Như đã đề cập, ngắt dòng đối với anh ấy là một cụm từ trống rỗng, vì vậy anh ấy tập trung vào dấu câu này. Điều này cho phép bạn viết nhiều biểu thức trên một dòng:

void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900 ) ; )

Chương trình này đúng và tương đương với những gì chúng ta đã thấy. Tuy nhiên, viết như thế này là một hình thức xấu. Mã khó đọc hơn nhiều. Vì vậy, trừ khi bạn có lý do chính đáng 100% để viết nhiều biểu thức trên cùng một dòng, đừng làm điều đó.

Về bình luận

Một trong những quy tắc của lập trình tốt là: “viết code sao cho rõ ràng đến mức không cần giải thích”. Điều này là có thể, nhưng không phải luôn luôn. Để giải thích một số điểm không rõ ràng trong mã cho người đọc: đồng nghiệp của bạn hoặc chính bạn trong một tháng, có cái gọi là nhận xét.

Đây là những cấu trúc trong mã chương trình hoàn toàn bị trình biên dịch bỏ qua và chỉ có ý nghĩa đối với người đọc. Bình luận có thể là nhiều dòng hoặc một dòng:

/* Chức năng thiết lập được gọi đầu tiên khi cấp nguồn cho Arduino Và đây là nhận xét nhiều dòng */. thiết lập void() ( // đặt chân 13 về chế độ đầu ra pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH) ; delay(100) ; // ngủ trong 100 ms digitalWrite(13, LOW) ; delay(900) ; )

Như bạn thấy, bạn có thể viết bao nhiêu dòng chú thích tùy thích giữa các ký hiệu /* và */. Và sau chuỗi // mọi thứ tiếp theo cho đến cuối dòng đều được coi là một nhận xét.

Vì vậy, chúng tôi hy vọng những nguyên tắc cơ bản nhất của việc viết chương trình đã trở nên rõ ràng. Kiến thức thu được cho phép bạn lập trình điều khiển việc cung cấp năng lượng cho các chân Arduino theo các mẫu thời gian nhất định. Con số này không quá nhiều nhưng vẫn đủ cho những thử nghiệm đầu tiên.

Arduino rất phổ biến đối với tất cả những người đam mê thiết kế. Những người chưa bao giờ nghe nói về nó cũng nên được giới thiệu về nó.

Arduino là gì?

Bạn có thể mô tả ngắn gọn về Arduino như thế nào? Những từ hay nhất sẽ là: Arduino là một công cụ có thể được sử dụng để tạo ra nhiều thiết bị điện tử khác nhau. Về bản chất, đây thực sự là một nền tảng điện toán phần cứng có mục đích chung. Nó có thể được sử dụng cho cả việc xây dựng các mạch đơn giản và thực hiện các dự án khá phức tạp.

Người thiết kế dựa trên phần cứng của nó, đó là bảng đầu vào-đầu ra. Để lập trình bảng, các ngôn ngữ dựa trên C/C++ được sử dụng. Chúng được gọi tương ứng là Xử lý/Kết nối. Từ nhóm C, họ thừa hưởng sự đơn giản cực độ, nhờ đó bất kỳ người nào cũng có thể thành thạo rất nhanh và việc áp dụng kiến ​​​​thức vào thực tế không phải là một vấn đề quá quan trọng. Để bạn hiểu được sự dễ dàng trong công việc, người ta thường nói rằng Arduino dành cho những nhà thiết kế phù thủy mới bắt đầu. Ngay cả trẻ em cũng có thể hiểu được bo mạch Arduino.

Bạn có thể thu thập những gì trên đó?

Các ứng dụng của Arduino khá đa dạng; nó có thể được sử dụng cho cả những ví dụ đơn giản nhất, sẽ được đề xuất ở cuối bài viết, cũng như cho các cơ chế khá phức tạp, bao gồm bộ điều khiển, robot hoặc máy sản xuất. Một số thợ thủ công sử dụng các hệ thống như vậy để chế tạo máy tính bảng, điện thoại, hệ thống giám sát và an ninh gia đình, hệ thống nhà thông minh hoặc đơn giản là máy tính. Các dự án Arduino dành cho người mới bắt đầu, mà ngay cả những người chưa có kinh nghiệm cũng có thể bắt đầu, nằm ở cuối bài viết. Chúng thậm chí có thể được sử dụng để tạo ra các hệ thống thực tế ảo nguyên thủy. Tất cả là nhờ phần cứng và khả năng khá linh hoạt mà lập trình Arduino cung cấp.

Tôi có thể mua linh kiện ở đâu?

Các linh kiện sản xuất tại Ý được coi là nguyên bản. Nhưng giá của những bộ dụng cụ như vậy không hề thấp. Do đó, một số công ty hoặc thậm chí cả cá nhân tạo ra các phương pháp thủ công cho các thiết bị và linh kiện tương thích với Arduino, được gọi đùa là bản sao sản xuất. Khi mua những bản sao như vậy, người ta không thể nói chắc chắn rằng chúng sẽ hoạt động, nhưng mong muốn tiết kiệm tiền sẽ phải trả giá.

Các thành phần có thể được mua như một phần của bộ dụng cụ hoặc riêng lẻ. Thậm chí còn có những bộ dụng cụ được chuẩn bị sẵn để lắp ráp ô tô, máy bay trực thăng với các loại điều khiển hoặc tàu khác nhau. Một bộ như hình trên, sản xuất tại Trung Quốc, có giá 49 USD.

Thông tin thêm về thiết bị

Bo mạch Arduino là một bộ vi điều khiển AVR đơn giản, đã được flash bằng bộ tải khởi động và có cổng USB-UART yêu cầu tối thiểu. Còn có những thành phần quan trọng khác nhưng trong phạm vi bài viết sẽ tốt hơn nếu chỉ tập trung vào hai thành phần này.

Đầu tiên, về bộ vi điều khiển, một cơ chế được xây dựng trên một mạch duy nhất chứa chương trình đã phát triển. Chương trình có thể bị ảnh hưởng bằng cách nhấn các nút, nhận tín hiệu từ các thành phần tạo ra (điện trở, bóng bán dẫn, cảm biến, v.v.), v.v. Hơn nữa, các cảm biến có thể rất khác nhau về mục đích: ánh sáng, gia tốc, nhiệt độ, khoảng cách, áp suất, chướng ngại vật, v.v. Các bộ phận đơn giản có thể được sử dụng làm thiết bị hiển thị, từ đèn LED và loa tweeter đến các thiết bị phức tạp, chẳng hạn như màn hình đồ họa. Chất lượng được xem xét là động cơ, van, rơle, động cơ servo, nam châm điện và nhiều loại khác, sẽ mất rất nhiều thời gian để liệt kê. MK làm việc trực tiếp với một số danh sách này bằng cách sử dụng dây kết nối. Một số cơ chế yêu cầu bộ điều hợp. Nhưng một khi đã bắt đầu thiết kế, bạn sẽ khó có thể thoát khỏi bản thân mình. Bây giờ hãy nói về lập trình Arduino.

Tìm hiểu thêm về quy trình lập trình bảng

Một chương trình đã sẵn sàng để chạy trên vi điều khiển được gọi là phần sụn. Có thể có một dự án hoặc dự án Arduino, vì vậy nên lưu trữ từng phần sụn trong một thư mục riêng để đẩy nhanh quá trình tìm kiếm các tệp cần thiết. Nó được chiếu lên tinh thể MK bằng các thiết bị chuyên dụng: lập trình viên. Và ở đây Arduino có một lợi thế - nó không cần lập trình viên. Mọi thứ đều được thực hiện để việc lập trình Arduino cho người mới bắt đầu không hề khó khăn. Mã viết có thể được tải vào MK thông qua cáp USB. Ưu điểm này đạt được không phải nhờ một số lập trình viên dựng sẵn mà nhờ phần sụn đặc biệt - bộ tải khởi động. Bộ nạp khởi động là một chương trình đặc biệt khởi động ngay sau khi kết nối và lắng nghe xem có bất kỳ lệnh nào không, có nên flash tinh thể hay không, có dự án Arduino hay không. Có một số lợi ích rất hấp dẫn khi sử dụng bootloader:

  1. Chỉ sử dụng một kênh liên lạc, không cần tốn thêm chi phí thời gian. Vì vậy, các dự án Arduino không yêu cầu bạn phải kết nối nhiều dây khác nhau và sẽ có sự nhầm lẫn khi sử dụng chúng. Một cáp USB là đủ để hoạt động thành công.
  2. Bảo vệ khỏi bàn tay cong. Khá dễ dàng để đưa bộ vi điều khiển về trạng thái cục gạch bằng phần mềm trực tiếp; bạn không cần phải làm việc chăm chỉ. Khi làm việc với bootloader, bạn sẽ không thể truy cập vào các cài đặt tiềm ẩn nguy hiểm (tất nhiên là với sự trợ giúp của chương trình phát triển, nếu không mọi thứ có thể bị hỏng). Do đó, Arduino dành cho người mới bắt đầu không chỉ nhằm mục đích dễ hiểu và thuận tiện mà còn cho phép bạn tránh các chi phí tài chính không mong muốn liên quan đến sự thiếu kinh nghiệm của người làm việc với họ.

Các dự án để bắt đầu

Khi bạn đã có được một bộ dụng cụ, một mỏ hàn, nhựa thông và vật liệu hàn, bạn không nên ngay lập tức điêu khắc những cấu trúc quá phức tạp. Tất nhiên, bạn có thể tạo ra chúng, nhưng cơ hội thành công trong Arduino đối với người mới bắt đầu là khá thấp với các dự án phức tạp. Để rèn luyện và cải thiện kỹ năng của mình, bạn có thể thử thực hiện một số ý tưởng đơn giản hơn để giúp bạn hiểu được sự tương tác và hoạt động của Arduino. Đối với những bước đầu tiên khi làm việc với Arduino dành cho người mới bắt đầu, chúng tôi có thể khuyên bạn nên cân nhắc:

  1. Tạo một cái sẽ hoạt động nhờ Arduino.
  2. Kết nối một nút riêng với Arduino. Trong trường hợp này, bạn có thể làm sao để nút điều chỉnh độ sáng của đèn LED từ điểm số 1.
  3. Kết nối chiết áp.
  4. Điều khiển servo.
  5. Kết nối và làm việc với đèn LED ba màu.
  6. Kết nối phần tử áp điện.
  7. Kết nối một điện trở quang.
  8. Kết nối cảm biến chuyển động và tín hiệu về hoạt động của nó.
  9. Kết nối cảm biến độ ẩm hoặc nhiệt độ.

Dự án cho tương lai

Không chắc là bạn quan tâm đến Arduino để kết nối các đèn LED riêng lẻ. Rất có thể, bạn bị thu hút bởi cơ hội tạo ra chiếc ô tô hoặc bàn xoay bay của riêng mình. Những dự án này khó thực hiện và sẽ cần nhiều thời gian cũng như sự kiên trì, nhưng sau khi hoàn thành, bạn sẽ đạt được điều mình mong muốn: kinh nghiệm thiết kế Arduino quý giá cho người mới bắt đầu.

Trong lịch sử, phần mềm Arduino bao gồm một môi trường phần mềm tích hợp (IDE) cho phép bạn viết, biên dịch và tải mã đã viết lên phần cứng. Môi trường ArduinoIDE và bản thân ngôn ngữ Wired chủ yếu dựa trên Xử lý và gián tiếp dựa trên C/C++. Trên thực tế, Arduino IDE là một hỗn hợp lớn, không phải để giải trí mà là để thuận tiện.

Ngay cả bên ngoài vàArduinoIDE vàQuá trình xử lý tương tự


Chương trình (bản phác thảo) bao gồm những gì?
Mỗi chương trình, dù có vẻ phức tạp đến đâu, đều bao gồm các bộ riêng biệt khối mã, được biểu thị bằng dấu ngoặc nhọn (). Một chương trình tối thiểu chỉ cần 2 khối: thiết lập và vòng lặp. Sự hiện diện của chúng là bắt buộc trong bất kỳ chương trình C++ nào dành cho Arduino, nếu không bạn có thể gặp lỗi ở giai đoạn biên dịch.
void setup() ( ) void loop() ( )
Trong hàm setup(), cài đặt ban đầu của các biến và thanh ghi sẽ diễn ra. Sau khi setup() hoàn tất, điều khiển chuyển sang hàm loop(), đây là một vòng lặp vô hạn được viết trong phần thân (giữa ( ) ). Chính những lệnh này thực hiện tất cả các hành động thuật toán của bộ điều khiển.

Phần cứng "Xin chào, thế giới!” - đèn LED nhấp nháy.
Điều bắt đầu sự làm quen đầu tiên với Arduino ở giao diện phần mềm và phần cứng chính là đèn LED nhấp nháy.


Đầu tiên bạn cần bổ sung chương trình tối thiểu. Đối với Arduino (ví dụ UNO), chúng tôi kết nối đèn LED với chân 12 và GND (màu sắc của đèn LED được chọn theo sở thích cá nhân).

Void setup() ( pinMode(12, OUTPUT); ) void loop() ( digitalWrite(12, HIGH); delay(100); digitalWrite(12, LOW); delay(900); )
Thực hiện Ctrl+C -> Ctrl+V, biên dịch, tải, điều khiển. Chúng ta thấy một màn trình diễn ánh sáng kéo dài không quá một giây. Hãy tìm hiểu tại sao điều này xảy ra.

Chúng tôi đã thêm một số vào các khối trống trước đó biểu thức . Chúng được đặt giữa các dấu ngoặc nhọn của hàm thiết lập và hàm lặp.
Mỗi biểu thức là một hướng dẫn cho bộ xử lý. Các biểu thức trong một khối được thực thi lần lượt theo thứ tự nghiêm ngặt, không có bất kỳ sự tạm dừng hoặc chuyển đổi nào. Nghĩa là, nếu chúng ta đang nói về một khối mã cụ thể, nó có thể được đọc từ trên xuống dưới để hiểu những gì đang được thực hiện.

Điều gì xảy ra giữa{ } ?
Như bạn đã biết, chân Arduino có thể hoạt động như cả đầu ra và đầu vào. Khi muốn điều khiển một vật gì đó chúng ta cần chuyển chân điều khiển về trạng thái đầu ra. Điều này được thực hiện bằng biểu thức trong hàm cài đặt:
pinMode(12, OUTPUT); Trong tình huống này, biểu thức được thực hiện gọi hàm . Trong pinMode, chân được chỉ định theo số được đặt ở chế độ đã chỉ định (INPUT hoặc OUTPUT). Chân nào và chế độ nào chúng ta đang nói đến được biểu thị trong dấu ngoặc đơn, phân tách bằng dấu phẩy. Trong trường hợp của chúng tôi, chúng tôi muốn chân thứ 12 hoạt động như một đầu ra. OUTPUT có nghĩa là đầu ra, INPUT có nghĩa là đầu vào. Các giá trị đủ điều kiện như 12 và OUTPUT được gọi là đối số chức năng . Một hàm có bao nhiêu đối số tùy thuộc vào bản chất của hàm và ý chí của người tạo ra nó. Các hàm có thể không có đối số nào cả, như trường hợp thiết lập và vòng lặp.

Tiếp theo, chuyển sang khối vòng lặp, theo thứ tự:
-gọi hàm tích hợp digitalWrite. Nó được thiết kế để áp dụng mức logic 0 (THẤP, 0 volt) hoặc mức logic (CAO, 5 volt) cho một chân nhất định. Hai đối số được truyền cho hàm DigitalWrite: số pin và giá trị logic.
- gọi hàm trì hoãn. Một lần nữa, đây là một chức năng tích hợp khiến bộ xử lý “ngủ” trong một thời gian nhất định. Chỉ cần một đối số: thời gian tính bằng mili giây để ngủ. Trong trường hợp của chúng tôi là 100 ms. Ngay sau khi hết 100 ms, bộ xử lý sẽ thức dậy và ngay lập tức chuyển sang biểu thức tiếp theo.
- gọi hàm tích hợp digitalWrite. Chỉ lần này đối số thứ hai là THẤP. Tức là chúng ta đặt mức logic 0 trên chân thứ 12 -> cấp điện áp 0 volt -> tắt đèn LED.
- gọi hàm trì hoãn. Lần này chúng ta “ngủ” lâu hơn một chút – 900 mili giây.

Ngay sau khi chức năng cuối cùng được thực thi, khối vòng lặp kết thúc và mọi thứ lại xảy ra. Trên thực tế, các điều kiện được trình bày trong ví dụ khá khác nhau và bạn có thể thử nghiệm với các giá trị độ trễ, kết nối một số đèn LED và tạo ra thứ gì đó như đèn giao thông hoặc đèn chớp của cảnh sát (tất cả phụ thuộc vào trí tưởng tượng và ý chí của người sáng tạo).

Thay vì một kết luận, một chút về sự sạch sẽ.
Trên thực tế, tất cả dấu cách, dấu ngắt dòng, ký tự tab không có ý nghĩa nhiều đối với trình biên dịch. Chỗ nào có khoảng trống thì có thể ngắt dòng và ngược lại. Trên thực tế, 10 dấu cách liên tiếp, 2 dấu ngắt dòng và 5 dấu cách nữa là tương đương với một dấu cách.


Với sự trợ giúp của không gian trống, bạn có thể làm cho chương trình trở nên dễ hiểu và trực quan, hoặc ngược lại, làm biến dạng nó đến mức không thể nhận ra. Ví dụ: chương trình ví dụ có thể được thay đổi như thế này:

void setup() ( pinMode(12, OUTPUT); ) void loop () ( digitalWrite(12,HIGH); delay(100); digitalWrite(12,LOW); delay(900); )

Để tránh chảy máu mắt khi đọc, bạn có thể làm theo một số quy tắc đơn giản:


1. Luôn luôn, khi bắt đầu một khối mới giữa( Và ) tăng độ lõm. Thông thường 2 hoặc 4 khoảng trắng được sử dụng. Chọn một trong các giá trị và tuân theo nó xuyên suốt.

Void loop() ( digitalWrite(12, HIGH); delay(100); digitalWrite(12, LOW); delay(900); )
2. Giống như ngôn ngữ thông thường: đặt dấu cách sau dấu phẩy.

digitalWrite(12, CAO);
3. Đặt ký tự đầu khối (trên một dòng mới ở mức thụt lề hiện tại hoặc ở cuối ký tự trước đó. Và ký tự cuối khối) trên một dòng riêng biệt ở mức thụt lề hiện tại:

void setup() ( pinMode(12, OUTPUT); ) void setup() ( pinMode(12, OUTPUT); )
4. Sử dụng các dòng trống để phân tách các khối ý nghĩa:

void loop() ( digitalWrite(12, HIGH); độ trễ(100); digitalWrite(12, THẤP); độ trễ(900); digitalWrite(12, CAO); độ trễ(100); digitalWrite(12, THẤP); độ trễ( 900);
5. Để con bạn thích đọc sách, có cái gọi là bình luận. Đây là những cấu trúc trong mã chương trình hoàn toàn bị trình biên dịch bỏ qua và chỉ quan trọng đối với người đọc nó. Bình luận có thể là nhiều dòng hoặc một dòng:

/* đây là chú thích nhiều dòng */ // đây là chú thích một dòng

Phần này dành riêng cho các cuốn sách về thế giới Arduino. Dành cho người mới bắt đầu và các chuyên gia.

Tất cả sách và tài liệu được trình bày chỉ nhằm mục đích cung cấp thông tin; sau khi đọc, chúng tôi yêu cầu bạn mua bản sao kỹ thuật số hoặc bản giấy.

Các chương trình đọc sách:

  • Sách ở định dạng PDF: Adobe Acrobat Reader hoặc PDF Reader.
  • Sách ở định dạng DJVU: hoặc Djvu Reader.

Bách khoa toàn thư Arduino thực tế

Cuốn sách tóm tắt dữ liệu về các thành phần chính của thiết kế dựa trên nền tảng Arduino, được đại diện bởi phiên bản ArduinoUNO phổ biến nhất hiện nay hoặc nhiều bản sao tương tự như nó. Cuốn sách là một bộ gồm 33 chương thử nghiệm. Mỗi thí nghiệm kiểm tra hoạt động của một bo mạch Arduino với một linh kiện hoặc mô-đun điện tử cụ thể, từ đơn giản nhất đến phức tạp nhất, là các thiết bị chuyên dụng độc lập. Mỗi chương cung cấp một danh sách các chi tiết cần thiết để thực hiện thí nghiệm trong thực tế. Đối với mỗi thử nghiệm, một sơ đồ trực quan về kết nối các bộ phận được cung cấp ở định dạng môi trường phát triển tích hợp Fritzing. Nó đưa ra sự thể hiện rõ ràng và chính xác về hình thức của mạch lắp ráp. Phần sau đây cung cấp thông tin lý thuyết về thành phần hoặc mô-đun được sử dụng. Mỗi chương chứa mã phác thảo (chương trình) bằng ngôn ngữ Arduino tích hợp kèm theo các nhận xét.

Thiết bị điện tử. Máy bay bốn cánh đầu tiên của bạn. Lý thuyết và thực hành

Các khía cạnh thực tế của việc tự sản xuất và vận hành máy bay bốn cánh được mô tả chi tiết. Tất cả các giai đoạn đều được xem xét: từ việc lựa chọn vật liệu kết cấu và lựa chọn các thành phần với chi phí tài chính giảm thiểu đến cấu hình phần mềm và sửa chữa sau tai nạn. Người ta chú ý đến những sai lầm mà những người mới làm mô hình máy bay thường mắc phải. Nền tảng lý thuyết về hoạt động của hệ thống nhiều cánh quạt và các khái niệm cơ bản khi làm việc với Arduino IDE được đưa ra dưới dạng dễ tiếp cận. Phần mô tả ngắn gọn về thiết kế và nguyên lý hoạt động của hệ thống GPS và Glonass, cũng như các nguồn điện xung hiện đại trên tàu và pin lithium-polymer được đưa ra. Nguyên lý hoạt động và quy trình thiết lập hệ thống OSD, đo từ xa, kênh không dây Bluetooth và các module định vị Ublox GPS phổ biến được mô tả chi tiết. Nguyên tắc thiết kế và vận hành của các cảm biến tích hợp và bộ điều khiển chuyến bay được mô tả. Các khuyến nghị được đưa ra để lựa chọn thiết bị FPV cấp đầu vào và cung cấp tổng quan về các chương trình dành cho máy tính và điện thoại thông minh được sử dụng khi thiết lập thiết bị quadcopter.

Các dự án sử dụng bộ điều khiển Arduino (tái bản lần 2)

Cuốn sách bao gồm các bo mạch Arduino chính và các bo mạch mở rộng (tấm chắn) bổ sung chức năng cho bo mạch chính. Ngôn ngữ và môi trường lập trình Arduino IDE được mô tả chi tiết. Các dự án sử dụng bộ điều khiển thuộc họ Arduino đều được phân tích kỹ lưỡng. Đây là những dự án trong lĩnh vực robot, tạo ra các trạm thời tiết, nhà thông minh, bán hàng tự động, truyền hình, Internet, truyền thông không dây (bluetooth, điều khiển vô tuyến).

Phiên bản thứ hai bổ sung các dự án điều khiển bằng giọng nói bằng Arduino, hoạt động với các dải RGB có thể định địa chỉ và điều khiển iRobot Create trên Arduino. Các dự án sử dụng bo mạch Arduino Leonardo đều được xem xét. Các bài học từng bước dành cho nhà phát triển mới bắt đầu được cung cấp.

Học Arduino: Công cụ và kỹ thuật cho thuật sĩ kỹ thuật

Cuốn sách dành cho việc thiết kế các thiết bị điện tử dựa trên nền tảng vi điều khiển Arduino. Cung cấp thông tin cơ bản về phần cứng và phần mềm Arduino. Các nguyên tắc lập trình trong Arduino IDE tích hợp được phác thảo. Hiển thị cách phân tích mạch điện, đọc mô tả kỹ thuật và chọn các bộ phận phù hợp cho dự án của riêng bạn. Ví dụ về cách sử dụng và mô tả các loại cảm biến, động cơ điện, động cơ servo, đèn báo, giao diện truyền dữ liệu có dây và không dây được đưa ra. Mỗi chương liệt kê các thành phần được sử dụng, cung cấp sơ đồ nối dây và mô tả chi tiết danh sách chương trình. Có đường dẫn tới trang hỗ trợ thông tin của cuốn sách. Tài liệu tập trung vào việc sử dụng các thành phần đơn giản và rẻ tiền cho các thí nghiệm tại nhà.

Bắt đầu nhanh. Những bước đầu tiên để làm chủ Arduino

Đặt ARDUINO Bắt đầu nhanh. Những bước đầu tiên để làm chủ ARDUINO chứa tất cả thông tin để làm quen với bo mạch Arduino, cũng như 14 thí nghiệm thực tế sử dụng các linh kiện và mô-đun điện tử khác nhau.

Bắt đầu nhanh với bộ Arduino. Kiến thức thu được trong tương lai sẽ giúp bạn tạo các dự án của riêng mình và dễ dàng thực hiện chúng.

Arduino, cảm biến và mạng để liên lạc với thiết bị (tái bản lần 2)

33 dự án dựa trên bo mạch vi điều khiển Arduino đã được xem xét, trình bày cách làm cho các thiết bị điện tử có thể trao đổi dữ liệu với nhau và phản hồi các lệnh. Hiển thị cách thay đổi cài đặt của máy điều hòa không khí tại nhà bằng cách “gọi nó” từ điện thoại thông minh của bạn; cách tạo bộ điều khiển trò chơi của riêng bạn tương tác qua mạng; cách sử dụng các thiết bị ZigBee, Bluetooth, hồng ngoại và vô tuyến thông thường để nhận thông tin không dây từ các cảm biến khác nhau, v.v. Các ngôn ngữ lập trình Arduino, Xử lý và PHP đều được xem xét.

Sau khi đọc cuốn sách - “Arduino, cảm biến và mạng để kết nối các thiết bị”, bạn sẽ học cách tạo mạng lưới các thiết bị thông minh trao đổi dữ liệu và phản hồi các lệnh. Cuốn sách rất lý tưởng cho những người muốn áp dụng những ý tưởng sáng tạo của mình vào thực tế. Bạn không cần phải có bất kỳ kiến ​​​​thức hoặc kỹ năng kỹ thuật đặc biệt nào trong lĩnh vực điện tử. Tất cả những gì bạn cần để bắt đầu thực hiện dự án là một cuốn sách, ý tưởng và một bộ công cụ rẻ tiền với bộ điều khiển Arduino cùng một số mô-đun mạng và cảm biến.

Arduino cơ bản

Arduino là một bộ vi điều khiển nguồn mở được xây dựng trên một bảng mạch đơn có khả năng nhận đầu vào cảm giác từ môi trường của nó và điều khiển các vật thể vật lý tương tác. Đây cũng là môi trường phát triển cho phép bạn viết phần mềm lên bo mạch và được lập trình bằng ngôn ngữ lập trình Arduino. Arduino đã trở thành nền tảng vi điều khiển phổ biến nhất và do đó hàng trăm dự án đang được phát triển bằng cách sử dụng nó, từ cấp độ cơ bản đến nâng cao.

Cuốn sách này trước tiên sẽ giới thiệu cho bạn các mẫu bo mạch quan trọng nhất của dòng Arduino. Sau đó, bạn sẽ học cách thiết lập môi trường phần mềm Arduino. Tiếp theo, bạn sẽ làm việc với đầu vào và đầu ra kỹ thuật số và analog, quản lý thời gian một cách chính xác, thiết lập liên lạc nối tiếp với các thiết bị khác trong dự án của mình và thậm chí kiểm soát các ngắt để giúp dự án của bạn phản ứng nhanh hơn. Cuối cùng, bạn sẽ được cung cấp một ví dụ thực tế hoàn chỉnh bằng cách sử dụng tất cả các khái niệm đã học trong cuốn sách. Điều này sẽ cho phép bạn phát triển các dự án vi điều khiển của riêng mình.

Sách dạy nấu ăn phát triển Arduino

Nếu bạn muốn xây dựng các dự án lập trình và điện tử tương tác với môi trường, cuốn sách này sẽ cung cấp cho bạn hàng tá công thức để hướng dẫn bạn thực hiện tất cả các ứng dụng chính của nền tảng Arduino. Nó dành cho những người đam mê lập trình hoặc điện tử, những người muốn kết hợp những gì tốt nhất của cả hai thế giới để xây dựng các dự án tương tác.

Bo mạch máy tính đơn chip Arduino có kích thước nhỏ nhưng phạm vi rộng, có khả năng được sử dụng cho các dự án điện tử từ robot cho đến tự động hóa gia đình. Là nền tảng nhúng phổ biến nhất trên thế giới, người dùng Arduino bao gồm từ học sinh đến các chuyên gia trong ngành, tất cả đều kết hợp nó vào thiết kế của họ.

Sách dạy nấu ăn phát triển Arduino bao gồm các công thức nấu ăn rõ ràng và từng bước cung cấp cho bạn hộp công cụ gồm các kỹ thuật để xây dựng bất kỳ dự án Arduino nào, từ đơn giản đến nâng cao. Mỗi chương cung cấp cho bạn các khối xây dựng cần thiết hơn để phát triển Arduino, từ tìm hiểu về lập trình các nút cho đến vận hành động cơ, quản lý cảm biến và điều khiển màn hình. Xuyên suốt chương trình, bạn sẽ tìm thấy các mẹo và thủ thuật giúp bạn khắc phục các sự cố phát triển và đẩy dự án Arduino của bạn lên một tầm cao mới!

Bản phác thảo Arduino: Công cụ và kỹ thuật lập trình

Lập trình bậc thầy Arduino với hướng dẫn thực hành này Arduino Sketches là hướng dẫn thực tế để lập trình bộ vi điều khiển ngày càng phổ biến giúp mang các tiện ích vào cuộc sống. Có thể truy cập được đối với những người yêu thích công nghệ ở mọi cấp độ, cuốn sách này cung cấp hướng dẫn chuyên môn về lập trình Arduino và thực hành thực hành để kiểm tra kỹ năng của bạn. Bạn sẽ tìm thấy thông tin bao quát về các bảng Arduino khác nhau, giải thích chi tiết về từng thư viện tiêu chuẩn và hướng dẫn tạo thư viện từ đầu cùng với các ví dụ thực tế minh họa việc sử dụng hàng ngày các kỹ năng bạn đang học.

Làm việc trên các dự án lập trình ngày càng nâng cao và có nhiều quyền kiểm soát hơn khi bạn tìm hiểu về các thư viện dành riêng cho phần cứng cũng như cách xây dựng thư viện của riêng bạn. Tận dụng tối đa API Arduino và tìm hiểu các mẹo và thủ thuật sẽ mở rộng kỹ năng của bạn. Bảng phát triển Arduino đi kèm với bộ xử lý nhúng và ổ cắm cho phép bạn nhanh chóng gắn các thiết bị ngoại vi mà không cần dụng cụ hoặc vật hàn. Nó dễ xây dựng, dễ lập trình và không yêu cầu phần cứng chuyên dụng. Đối với những người có sở thích, đó là một giấc mơ trở thành hiện thực, đặc biệt khi sự phổ biến của dự án nguồn mở này truyền cảm hứng cho cả các công ty công nghệ lớn phát triển các sản phẩm tương thích.

Dự án Arduino và LEGO

Tất cả chúng ta đều biết LEGO tuyệt vời như thế nào và ngày càng có nhiều người khám phá ra bạn có thể làm được bao nhiêu điều tuyệt vời với Arduino. Trong Dự án Arduino và LEGO, Jon Lazar chỉ cho bạn cách kết hợp hai trong số những thứ thú vị nhất trên hành tinh để tạo ra các tiện ích thú vị như đầu đọc Magic Lantern RF, hộp nhạc LEGO hỗ trợ cảm biến và thậm chí cả bộ tàu LEGO do Arduino điều khiển.

* Tìm hiểu rằng SNOT thực sự rất tuyệt (có nghĩa là Studs Not on Top)
* Xem giải thích chi tiết và hình ảnh về cách mọi thứ khớp với nhau
* Tìm hiểu cách Arduino phù hợp với từng dự án, bao gồm mã và giải thích

Cho dù bạn muốn gây ấn tượng với bạn bè, chọc tức con mèo hay chỉ thư giãn và đắm mình trong sự tuyệt vời của những sáng tạo của mình, Arduino và LEGO Projects sẽ chỉ cho bạn những gì bạn cần và cách kết hợp tất cả lại với nhau.

Xưởng Arduino

Arduino là một nền tảng vi điều khiển nguồn mở, linh hoạt, giá rẻ được thiết kế để giúp những người có sở thích sử dụng thiết bị điện tử trong các dự án tự chế dễ dàng. Với hầu như không giới hạn các tiện ích bổ sung đầu vào và đầu ra, cảm biến, chỉ báo, màn hình, động cơ, v.v., Arduino cung cấp cho bạn vô số cách để tạo ra các thiết bị tương tác với thế giới xung quanh bạn.

Trong Hội thảo Arduino, bạn sẽ tìm hiểu cách hoạt động của các tiện ích bổ sung này và cách tích hợp chúng vào các dự án của riêng bạn. Bạn sẽ bắt đầu với cái nhìn tổng quan về hệ thống Arduino nhưng nhanh chóng chuyển sang phần bao quát các khái niệm và linh kiện điện tử khác nhau. Các dự án thực hành xuyên suốt cuốn sách sẽ củng cố những gì bạn đã học và chỉ cho bạn cách áp dụng kiến ​​thức đó. Khi sự hiểu biết của bạn tăng lên, các dự án sẽ ngày càng phức tạp và phức tạp.

Lập trình C cho Arduino

Việc chế tạo các thiết bị điện tử của riêng bạn là một điều thú vị hấp dẫn và cuốn sách này sẽ giúp bạn bước vào thế giới của các thiết bị tự động nhưng được kết nối. Sau phần giới thiệu về bo mạch Arduino, bạn sẽ học được một số kỹ năng khiến bản thân phải ngạc nhiên.

Điện toán vật lý cho phép chúng ta xây dựng các hệ thống vật lý tương tác bằng cách sử dụng phần mềm và phần cứng để cảm nhận và phản hồi với thế giới thực. Lập trình C cho Arduino sẽ chỉ cho bạn cách khai thác các khả năng mạnh mẽ như cảm biến, phản hồi, lập trình và thậm chí nối dây và phát triển hệ thống tự trị của riêng bạn.

Lập trình C cho Arduino chứa mọi thứ bạn cần để trực tiếp bắt đầu nối dây và mã hóa dự án điện tử của riêng bạn. Bạn sẽ học C và cách mã hóa một số loại chương trình cơ sở cho Arduino của mình, sau đó chuyển sang thiết kế các hệ thống nhỏ điển hình để hiểu cách xử lý các nút, đèn led, LCD, mô-đun mạng và hơn thế nữa.

Arduino dành cho người mới bắt đầu học phù thủy

Cuốn sách này nói về nền tảng Arduino, nền tảng ngày càng trở nên phổ biến hơn và cả một đội quân gồm những người thử nghiệm tại nhà, nhà thiết kế nghiệp dư và tin tặc đang bắt đầu sử dụng nó để biến những dự án tuyệt vời và hoàn toàn điên rồ thành hiện thực. Với sự trợ giúp của Arduino, bất kỳ nhà nhân văn nào cũng có thể làm quen với những kiến ​​​​thức cơ bản về điện tử và lập trình, đồng thời nhanh chóng bắt đầu phát triển các mô hình của riêng mình mà không tốn nhiều nguồn lực vật chất và trí tuệ cho nó. Arduino kết hợp giữa chơi và học, cho phép bạn tạo ra thứ gì đó đáng giá và thú vị dựa trên sự thôi thúc, trí tưởng tượng và sự tò mò. Nền tảng này trao quyền cho người sáng tạo trong lĩnh vực điện tử, ngay cả khi anh ta không biết gì về nó! Hãy thử nghiệm và vui chơi!

Lập trình bo mạch vi điều khiển Arduino/Freeduino

Lập trình các bo mạch vi điều khiển Arduino/Freduino được xem xét. Cấu trúc và chức năng của bộ vi điều khiển, môi trường lập trình Arduino, các công cụ và thành phần cần thiết để tiến hành thí nghiệm được mô tả. Những điều cơ bản về lập trình bo mạch Arduino được thảo luận chi tiết: cấu trúc chương trình, lệnh, toán tử và chức năng, đầu vào/đầu ra dữ liệu analog và kỹ thuật số. Phần trình bày của tài liệu đi kèm với hơn 80 ví dụ về sự phát triển của các thiết bị khác nhau: rơle nhiệt độ, đồng hồ trường học, vôn kế kỹ thuật số, báo thức với cảm biến chuyển động, công tắc đèn đường, v.v. Đối với mỗi dự án, một danh sách các thành phần cần thiết, sơ đồ nối dây và danh sách chương trình được cung cấp. Máy chủ FTP của nhà xuất bản chứa mã nguồn cho các ví dụ trong sách, mô tả kỹ thuật, dữ liệu tham khảo, môi trường phát triển, tiện ích và trình điều khiển.

Dự án Arduino và Kinect

Nếu bạn đã thực hiện một số nghiên cứu về Arduino và tự hỏi làm thế nào bạn có thể kết hợp Kinect—hoặc ngược lại—thì cuốn sách này là dành cho bạn. Các tác giả của Arduino và Kinect Projects sẽ chỉ cho bạn cách tạo ra 10 dự án sáng tạo, tuyệt vời, từ đơn giản đến phức tạp. Bạn cũng sẽ tìm hiểu cách kết hợp Xử lý trong thiết kế dự án của mình—một ngôn ngữ rất giống với ngôn ngữ Arduino.

Mười dự án được thiết kế cẩn thận để phát triển kỹ năng của bạn ở mỗi bước. Bắt đầu với Arduino và Kinect tương đương với “Hello, World”, các tác giả sẽ đưa bạn qua một loạt dự án thể hiện vô số khả năng mở ra khi Kinect và Arduino được kết hợp.

Giám sát khí quyển với Arduino

Các nhà sản xuất trên toàn cầu đang chế tạo các thiết bị giá rẻ để giám sát môi trường và với hướng dẫn thực hành này, bạn cũng có thể làm được. Thông qua các hướng dẫn ngắn gọn, hình minh họa và hướng dẫn từng bước rõ ràng, bạn sẽ học cách tạo ra các tiện ích để kiểm tra chất lượng bầu không khí của chúng ta bằng cách sử dụng Arduino và một số cảm biến rẻ tiền.

Phát hiện các loại khí độc hại, các hạt bụi như khói và sương mù cũng như sương mù trên tầng khí quyển—các chất và điều kiện mà giác quan của bạn thường không nhìn thấy được. Bạn cũng sẽ khám phá cách sử dụng phương pháp khoa học để giúp bạn học được nhiều điều hơn nữa từ các bài kiểm tra khí quyển.

* Tăng tốc trên Arduino bằng kiến ​​thức cơ bản về điện tử nhanh
* Xây dựng cảm biến khí tầng đối lưu để phát hiện carbon monoxide, LPG, butan, metan, benzen và nhiều loại khí khác
* Tạo Quang kế LED để đo lượng sóng ánh sáng xanh lam, xanh lục và đỏ của mặt trời xuyên qua bầu khí quyển
* Xây dựng bộ dò độ nhạy LED—và khám phá bước sóng ánh sáng nào mà mỗi đèn LED trong Quang kế của bạn có thể tiếp nhận
* Tìm hiểu cách đo bước sóng ánh sáng cho phép bạn xác định lượng hơi nước, ozon và các chất khác trong khí quyển

Hướng dẫn làm chủ Arduino

Ấn phẩm này là bản dịch tiếng Nga của một trong những tài liệu làm việc với bộ ARDX (Bộ khởi động cho Arduino), dành cho các thử nghiệm với Arduino. Tài liệu mô tả 12 dự án đơn giản nhằm làm quen ban đầu với mô-đun Arduino.

Mục đích chính của bộ này là để có một khoảng thời gian thú vị và hữu ích. Và bên cạnh đó, hãy làm chủ nhiều loại linh kiện điện tử bằng cách lắp ráp các thiết bị nhỏ, đơn giản và thú vị. Bạn nhận được một thiết bị làm việc và một công cụ cho phép bạn hiểu nguyên lý hoạt động.

Đại bách khoa toàn thư về điện

Cuốn sách đầy đủ nhất cho đến nay, trong đó bạn sẽ tìm thấy rất nhiều thông tin hữu ích, bắt đầu từ những điều cơ bản. Cuốn sách nêu ra tất cả các vấn đề chính mà bạn có thể gặp phải khi làm việc với điện và các thiết bị điện. Mô tả các loại cáp, dây điện, lắp đặt và sửa chữa hệ thống dây điện và nhiều hơn thế nữa.

Cuốn sách “Bách khoa toàn thư vĩ đại về điện” tiết lộ tất cả những vấn đề chính mà bạn có thể gặp phải khi làm việc với điện và các thiết bị điện. Mô tả các loại cáp, dây điện, lắp đặt và sửa chữa hệ thống dây điện và nhiều hơn thế nữa. Cuốn sách này sẽ là tài liệu tham khảo hữu ích cho cả thợ điện chuyên nghiệp và thợ thủ công gia đình.

Cuốn sách này sẽ là tài liệu tham khảo hữu ích cho cả thợ điện chuyên nghiệp và thợ thủ công gia đình.

Sổ ghi chép của lập trình viên Arduino

Cuốn sổ tay này được coi là một hướng dẫn tiện lợi, dễ sử dụng về cấu trúc lệnh và cú pháp của ngôn ngữ lập trình bộ điều khiển Arduino. Để duy trì tính đơn giản, một số ngoại lệ đã được thực hiện nhằm cải thiện hướng dẫn khi người mới bắt đầu sử dụng như một nguồn thông tin bổ sung - cùng với các trang web, sách, hội thảo và lớp học khác. Giải pháp này được thiết kế để nhấn mạnh việc sử dụng Arduino cho các tác vụ độc lập và, ví dụ, loại trừ việc sử dụng mảng phức tạp hơn hoặc sử dụng kết nối nối tiếp.

Bắt đầu bằng phần mô tả cấu trúc của chương trình Arduino C, cuốn sổ tay này mô tả cú pháp của các thành phần phổ biến nhất của ngôn ngữ và minh họa cách sử dụng chúng trong các ví dụ và đoạn mã. Sổ ghi chép chứa các ví dụ về các chức năng thư viện lõi của Arduino và phần phụ lục cung cấp các mạch ví dụ và các chương trình ban đầu.

Giao diện vi điều khiển tương tự

Ấn phẩm này là hướng dẫn thực tế về cách sử dụng các giao diện khác nhau để kết nối các thiết bị ngoại vi tương tự với máy tính, bộ vi xử lý và bộ vi điều khiển.

Cụ thể về việc sử dụng các giao diện như I2C, SPI/Microware, SMBus, RS-232/485/422, vòng lặp dòng điện 4-20 mA, v.v. được tiết lộ tổng quan về một số lượng lớn các cảm biến hiện đại: nhiệt độ, quang học. , CCD, từ tính, máy đo biến dạng, v.v. e. Bộ điều khiển, ADC và DAC, các phần tử của chúng - UVH, ION, codec, bộ mã hóa được mô tả chi tiết.

Các bộ truyền động - động cơ, bộ điều nhiệt - và các vấn đề điều khiển chúng như một phần của hệ thống điều khiển tự động thuộc nhiều loại khác nhau (rơle, tỷ lệ và PID) đều được xem xét. Cuốn sách được trang bị các hình ảnh minh họa thể hiện rõ ràng các tính năng phần cứng và phần mềm trong việc sử dụng các yếu tố của công nghệ analog và kỹ thuật số. Nó sẽ không chỉ được những người mới bắt đầu làm quen với đài phát thanh nghiệp dư mà còn cả các chuyên gia có kinh nghiệm làm việc với thiết bị analog và kỹ thuật số cũng như sinh viên các trường cao đẳng và đại học kỹ thuật sẽ quan tâm.

Hướng dẫn sử dụng lệnh AT cho modem GSM/GPRS

Hướng dẫn này cung cấp mô tả chi tiết về bộ lệnh AT hoàn chỉnh để làm việc với modem Wavecom. Các lệnh AT đặc biệt được đưa ra để làm việc với các giao thức ngăn xếp IP được triển khai trong phần mềm của modem Wavecom.

Cuốn sách hướng tới các nhà phát triển tạo ra các ứng dụng phần mềm và phần cứng dựa trên các sản phẩm Wavecom. Sách hướng dẫn này cũng được khuyến nghị dành cho các kỹ sư chịu trách nhiệm vận hành hệ thống cho nhiều mục đích khác nhau sử dụng mạng GSM làm kênh truyền dữ liệu. Một cuốn sách tham khảo tuyệt vời dành cho những sinh viên sử dụng chủ đề truyền dữ liệu trong mạng GSM trong các môn học hoặc bài tập tốt nghiệp của họ.

Hãy cho chúng tôi biết về chúng tôi

Tin nhắn

Nếu bạn có kinh nghiệm làm việc với Arduino và thực sự có thời gian để sáng tạo, chúng tôi mời mọi người trở thành tác giả của các bài báo đăng trên cổng thông tin của chúng tôi. Đây có thể là những bài học hoặc câu chuyện về thử nghiệm của bạn với Arduino. Mô tả các cảm biến và mô-đun khác nhau. Lời khuyên và hướng dẫn cho người mới bắt đầu. Viết và đăng bài viết của bạn trên .