Ví dụ này cho bạn thấy cách đọc đầu vào tương tự ở chân 0 tương tự, chuyển đổi các giá trị từ analogRead () thành điện áp và in nó ra màn hình nối tiếp của Phần mềm Arduino (IDE).
Thành phần bắt buộc
Bạn sẽ cần các thành phần sau:
- 1 × Breadboard
- 1 × Arduino Uno R3
- 1 × 5k ohm biến trở (chiết áp)
- 2 × Jumper
- 8 × LED hoặc bạn có thể sử dụng (hiển thị biểu đồ thanh LED như trong hình ảnh bên dưới)
Thủ tục
Làm theo sơ đồ mạch và nối các thành phần trên breadboard như trong hình dưới đây.
Phác thảo
Mở phần mềm Arduino IDE trên máy tính của bạn. Mã hóa bằng ngôn ngữ Arduino sẽ điều khiển mạch của bạn. Mở tệp phác thảo mới bằng cách nhấp vào Mới.
Đồ thị thanh LED 10 đoạn
Đèn LED biểu đồ thanh 10 đoạn này có rất nhiều công dụng. Với kích thước nhỏ gọn, móc treo đơn giản, chúng dễ dàng cho các sản phẩm nguyên mẫu hoặc thành phẩm. Về cơ bản, chúng là 10 đèn LED màu xanh lam riêng lẻ được đặt cùng nhau, mỗi đèn có kết nối cực dương và cực âm riêng.
Chúng cũng có các màu vàng, đỏ và xanh lá cây.
Lưu ý – Ghim trên các biểu đồ thanh này có thể khác với những gì được liệt kê trên biểu dữ liệu. Xoay thiết bị 180 độ sẽ sửa thay đổi, làm cho chân 11 trở thành chân đầu tiên thẳng hàng.
Mã Arduino
/*
LED bar graph
Turns on a series of LEDs based on the value of an analog sensor.
This is a simple way to make a bar graph display.
Though this graph uses 8LEDs, you can use any number by
changing the LED count and the pins in the array.
This method can be used to control any series of digital
outputs that depends on an analog input.
*/
// these constants won't change:
const int analogPin = A0; // the pin that the potentiometer is attached to
const int ledCount = 8; // the number of LEDs in the bar graph
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // an array of pin numbers to which LEDs are attached
void setup() {
// loop over the pin array and set them all to output:
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
}
}
void loop() {
// read the potentiometer:
int sensorReading = analogRead(analogPin);
// map the result to a range from 0 to the number of LEDs:
int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);
// loop over the LED array:
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
// if the array element's index is less than ledLevel,
// turn the pin for this element on:
if (thisLed < ledLevel) {
digitalWrite(ledPins[thisLed], HIGH);
}else { // turn off all pins higher than the ledLevel:
digitalWrite(ledPins[thisLed], LOW);
}
}
}
Mã cần lưu ý
Bản phác thảo hoạt động như thế này: đầu tiên, bạn đọc đầu vào. Bạn ánh xạ giá trị đầu vào cho phạm vi đầu ra, trong trường hợp này là mười đèn LED. Sau đó, bạn thiết lập vòng lặp for để lặp lại các kết quả đầu ra. Nếu số của đầu ra trong chuỗi thấp hơn phạm vi đầu vào được ánh xạ, bạn bật nó lên. Nếu không, bạn tắt nó đi.
Kết quả
Bạn sẽ thấy đèn LED BẬT từng cái một khi giá trị của số đọc tương tự tăng lên và TẮT từng cái một trong khi số đọc đang giảm.
Arduino – Đăng xuất bàn phím
Ví dụ này sử dụng thư viện Bàn phím để đăng xuất bạn khỏi phiên người dùng trên máy tính của bạn khi chân 2 trên ARDUINO UNO được kéo xuống đất. Bản phác thảo mô phỏng thao tác nhấn phím theo chuỗi hai hoặc ba phím cùng lúc và sau một khoảng thời gian ngắn, nó sẽ nhả chúng ra.
Cảnh báo – Khi bạn sử dụng lệnh Keyboard.print () , Arduino sẽ tiếp quản bàn phím máy tính của bạn. Để đảm bảo bạn không mất quyền kiểm soát máy tính của mình trong khi chạy bản phác thảo với chức năng này, hãy thiết lập hệ thống điều khiển đáng tin cậy trước khi bạn gọi Keyboard.print (). Bản phác thảo này được thiết kế để chỉ gửi lệnh Bàn phím sau khi một chốt đã được kéo xuống đất.
Thành phần bắt buộc
Bạn sẽ cần các thành phần sau:
- 1 × Breadboard
- 1 × Arduino Leonardo, Micro hoặc bảng Do
- 1 × nút bấm
- 1 × Jumper
Thủ tục
Thực hiện theo sơ đồ mạch và nối các thành phần trên breadboard như trong hình dưới đây.
Phác thảo
Mở phần mềm Arduino IDE trên máy tính của bạn. Mã hóa bằng ngôn ngữ Arduino sẽ điều khiển mạch của bạn. Mở tệp phác thảo mới bằng cách nhấp vào Mới. Đối với ví dụ này, bạn cần sử dụng Arduino IDE 1.6.7
Lưu ý – Bạn phải đưa thư viện bàn phím vào tệp thư viện Arduino của mình. Sao chép và dán tệp thư viện bàn phím vào bên trong tệp với các thư viện tên (được đánh dấu) như được hiển thị trong ảnh chụp màn hình sau.
Mã Arduino
/*
Keyboard logout
This sketch demonstrates the Keyboard library.
When you connect pin 2 to ground, it performs a logout.
It uses keyboard combinations to do this, as follows:
On Windows, CTRL-ALT-DEL followed by ALT-l
On Ubuntu, CTRL-ALT-DEL, and ENTER
On OSX, CMD-SHIFT-q
To wake: Spacebar.
Circuit:
* Arduino Leonardo or Micro
* wire to connect D2 to ground.
*/
#define OSX 0
#define WINDOWS 1
#define UBUNTU 2
#include "Keyboard.h"
// change this to match your platform:
int platform = WINDOWS;
void setup() {
// make pin 2 an input and turn on the
// pullup resistor so it goes high unless
// connected to ground:
pinMode(2, INPUT_PULLUP);
Keyboard.begin();
}
void loop() {
while (digitalRead(2) == HIGH) {
// do nothing until pin 2 goes low
delay(500);
}
delay(1000);
switch (platform) {
case OSX:
Keyboard.press(KEY_LEFT_GUI);
// Shift-Q logs out:
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press('Q');
delay(100);
// enter:
Keyboard.write(KEY_RETURN);
break;
case WINDOWS:
// CTRL-ALT-DEL:
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_DELETE);
delay(100);
Keyboard.releaseAll();
//ALT-l:
delay(2000);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('l');
Keyboard.releaseAll();
break;
case UBUNTU:
// CTRL-ALT-DEL:
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_DELETE);
delay(1000);
Keyboard.releaseAll();
// Enter to confirm logout:
Keyboard.write(KEY_RETURN);
break;
}
// do nothing:
while (true);
}
Keyboard.releaseAll();
// enter:
Keyboard.write(KEY_RETURN);
break;
case WINDOWS:
// CTRL-ALT-DEL:
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_DELETE);
delay(100);
Keyboard.releaseAll();
//ALT-l:
delay(2000);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('l');
Keyboard.releaseAll();
break;
case UBUNTU:
// CTRL-ALT-DEL:
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_DELETE);
delay(1000);
Keyboard.releaseAll();
// Enter to confirm logout:
Keyboard.write(KEY_RETURN);
break;
}
// do nothing:
while (true);
}
Mã cần lưu ý
Trước khi bạn tải chương trình lên bảng, hãy đảm bảo rằng bạn chỉ định đúng hệ điều hành mà bạn hiện đang sử dụng cho biến nền tảng.
Trong khi phác thảo đang chạy, nhấn nút sẽ kết nối chân 2 với mặt đất và bảng sẽ gửi chuỗi đăng xuất đến PC được kết nối USB.
Kết quả
Khi bạn kết nối chân 2 với mặt đất, nó sẽ thực hiện thao tác đăng xuất.
Nó sử dụng các tổ hợp bàn phím sau để đăng xuất:
- Trên Windows , CTRL-ALT-DEL theo sau là ALT-l
- Trên Ubuntu , CTRL-ALT-DEL và ENTER
- Trên OSX , CMD-SHIFT-q