Mục lục:

Các tính năng ít được biết đến của Arduino: 9 bước
Các tính năng ít được biết đến của Arduino: 9 bước

Video: Các tính năng ít được biết đến của Arduino: 9 bước

Video: Các tính năng ít được biết đến của Arduino: 9 bước
Video: Tự học Arduino bài 0: Gới thiệu về Arduino 2024, Tháng bảy
Anonim
Các tính năng ít được biết đến của Arduino
Các tính năng ít được biết đến của Arduino

Đây là danh sách nhiều hơn về các tính năng không thường được đề cập của các nền tảng Arduino thường được sử dụng (ví dụ: Uno, Nano). Danh sách này sẽ hoạt động như một tài liệu tham khảo bất cứ khi nào bạn cần tra cứu các tính năng đó và phổ biến rộng rãi.

Xem mã để xem các ví dụ cho tất cả các tính năng đó khi tôi đã sử dụng chúng trong một số dự án của tôi ở đây trên có hướng dẫn (ví dụ: Màn hình 1 dây Arduino (144 ký tự)). Các bước sau đây giải thích một tính năng.

Bước 1: Cung cấp điện áp

Arduino có thể đo điện áp cung cấp của chính nó theo cách gián tiếp. Bằng cách đo tham chiếu bên trong với điện áp cung cấp làm tham chiếu giới hạn trên, bạn có thể nhận được tỷ lệ giữa tham chiếu bên trong và điện áp cung cấp (điện áp cung cấp hoạt động như giới hạn trên cho phép đọc analog / ADC). Khi bạn biết giá trị chính xác của tham chiếu điện áp bên trong, bạn có thể tính toán điện áp cung cấp.

Để biết chi tiết chính xác về cách thực hiện việc này, bao gồm cả mã ví dụ, hãy xem:

  • Bí mật vôn kế Arduino - Đo điện áp pin:
  • Arduino có thể đo Vin của riêng nó không ?:

Bước 2: Nhiệt độ bên trong

Một số Arduino được trang bị cảm biến nhiệt độ bên trong và do đó có thể đo nhiệt độ bên trong (chất bán dẫn) của chúng.

Để biết chi tiết chính xác về cách thực hiện việc này, bao gồm cả mã ví dụ, hãy xem:

Cảm biến nhiệt độ bên trong:

Arduino có thể đo Vin của riêng nó không ?:

Bước 3: Bộ so sánh tương tự (Ngắt)

Arduino có thể thiết lập một bộ so sánh tương tự giữa chân A0 và A1. Vì vậy, một người đưa ra mức điện áp và người kia được kiểm tra xem có sự giao nhau của điện áp này hay không. Một điểm ngắt được nâng lên tùy thuộc vào việc đường giao nhau là một cạnh lên hay xuống (hoặc cả hai). Sau đó, ngắt có thể được bắt bằng phần mềm và hoạt động tương ứng.

Để biết chi tiết chính xác về cách thực hiện việc này, bao gồm cả mã ví dụ, hãy xem:

Ngắt so sánh tương tự:

Bước 4: Bộ đếm

Tất nhiên AVR có một số bộ đếm đi kèm. Thông thường chúng được sử dụng để thiết lập bộ đếm thời gian ở các tần số khác nhau và tăng ngắt khi cần thiết. Một cách sử dụng khác có thể rất cổ điển là sử dụng chúng như một bộ đếm mà không cần bất kỳ phép thuật bổ sung nào, chỉ cần đọc giá trị khi bạn cần (thăm dò ý kiến). Việc sử dụng xâm nhập của điều này có thể là để khử các nút bị trả lại, ví dụ: Tham khảo ví dụ bài đăng này: Bộ đếm AVR Ví dụ T1

Bước 5: Các hằng số được xác định trước

Có một số biến được xác định trước có thể được sử dụng để thêm phiên bản và thông tin biên dịch vào dự án của bạn.

Để biết chi tiết chính xác về cách thực hiện việc này, bao gồm cả mã ví dụ, hãy xem:

Serial.println (_ DATE_); // ngày biên soạn

Serial.println (_ TIME_); // thời gian biên dịch

String stringOne = String (ARDUINO, DEC);

Serial.println (stringOne); // phiên bản arduino Ide

Serial.println (_ VERSION_); // phiên bản gcc

Serial.println (_ FILE_); // tập tin được biên dịch

các đoạn mã này sẽ xuất các dữ liệu đó ra bảng điều khiển nối tiếp.

Bước 6: Giữ lại biến trong RAM thông qua thiết lập lại

Ai cũng biết rằng Arduino Uno (ATmega328) có EEPROM bên trong cho phép bạn bảo toàn các giá trị và cài đặt trong khi tắt nguồn và khôi phục chúng ở lần bật nguồn tiếp theo. Một thực tế không quá nổi tiếng có thể là thực sự có thể bảo toàn giá trị trong khi đặt lại ngay cả trong RAM - tuy nhiên các giá trị bị mất trong chu kỳ nguồn - với cú pháp:

biến dài không dấu_that_is_preserved _attribute_ ((section (".noinit")));

Ví dụ, điều này cho phép bạn đếm số lần ĐẶT LẠI và bằng cách sử dụng EEPROM cũng là số lần bật nguồn.

Để biết chi tiết chính xác về cách thực hiện việc này, bao gồm cả mã ví dụ, hãy xem:

  • Giữ lại Biến trong Ram thông qua Đặt lại:
  • Thư viện EEPROM:

Bước 7: Truy cập Tín hiệu Đồng hồ

Arduinos và các AVR khác (như ATtiny) có đồng hồ bên trong cho phép bạn chạy chúng mà không cần sử dụng bộ dao động tinh thể bên ngoài. Hơn nữa, đồng thời họ cũng có thể kết nối tín hiệu này với bên ngoài bằng cách đặt nó trên một chân cắm (ví dụ: PB4). Phần khó ở đây là bạn cần phải thay đổi các bit cầu chì của chip để kích hoạt tính năng đó và việc thay đổi các bit cầu chì luôn có nguy cơ làm hỏng chip.

Bạn phải bật cầu chì CKOUT và cách dễ nhất để làm điều này là làm theo hướng dẫn về Cách thay đổi các bit cầu chì của AVR Atmega328p - Vi điều khiển 8bit bằng Arduino.

Để biết chi tiết chính xác về cách thực hiện việc này, bao gồm cả mã ví dụ, hãy xem:

  • Điều chỉnh bộ dao động nội ATtiny:
  • Cách thay đổi các bit cầu chì của vi điều khiển AVR Atmega328p - 8bit bằng Arduino:

Bước 8: Cấu trúc bên trong cổng của ATmega328P

Biết cấu trúc bên trong các cổng của ATmega328P cho phép chúng tôi vượt ra ngoài giới hạn sử dụng tiêu chuẩn. Tham khảo phần về Đồng hồ đo điện dung cho Dải 20 pF đến 1000 nF để biết thêm chi tiết và sơ đồ mạch bên trong.

Ví dụ đơn giản là sử dụng các nút có cổng kỹ thuật số không cần bất kỳ điện trở nào do việc sử dụng điện trở kéo lên bên trong như được hiển thị trong Ví dụ nối tiếp kéo lên đầu vào hoặc Nút Arduino không có điện trở được hướng dẫn.

Nâng cao hơn là việc sử dụng kiến thức này như đã đề cập để đo các capactor nhỏ tới 20 pF và hơn nữa mà không cần thêm bất kỳ hệ thống dây điện nào! Để đạt được hiệu suất đó, ví dụ này sử dụng trở kháng bên trong / đầu vào, điện trở kéo lên bên trong và tụ điện đi lạc. So sánh với Hướng dẫn Arduino CapacitanceMeter không thể thấp hơn một vài nF.

Bước 9: Đèn LED trên bo mạch (nội bộ) như bộ tách sóng quang

Rất nhiều bảng Arduino có đèn LED tích hợp hoặc đèn LED tích hợp có thể được điều khiển từ mã, ví dụ: bảng Uno hoặc Nano trên chân 13. Bằng cách thêm một dây đơn từ chân này vào chân đầu vào tương tự (ví dụ: A0), chúng ta cũng có thể sử dụng đèn LED này làm bộ tách sóng quang. Điều này có thể được sử dụng theo nhiều cách khác nhau như; sử dụng để đo độ chiếu sáng môi trường, sử dụng đèn LED làm nút, sử dụng đèn LED cho giao tiếp hai chiều (PJON AnalogSampling), v.v.

Đề xuất: