Sinusuportahan ng Arduino Uno ang mga operasyon ng input at output ng output, na nagbibigay -daan sa iyo upang makipag -ugnay sa mga sensor at actuators na nangangailangan ng tumpak na mga halaga. Ang mga operasyon ng analog ay mahalaga para sa pagkontrol ng mga aparato tulad ng mga LED, motor, at pagbabasa ng mga input mula sa mga sensor tulad ng potentiometer o light sensor. Ang tutorial na ito ay gagabay sa iyo sa pamamagitan ng pag -setup, pagbabasa at pagsulat ng analog, at paggamit ng mga operasyon ng lohika tulad ng if
Mga pahayag na may data ng analog.
Ano ang kakailanganin mo
- Arduino uno na may USB cable
- Potentiometer (o anumang variable risistor) para sa analog input
- LED at isang 220-OHM risistor para sa analog output
- Mga wire ng tinapay at jumper
- Isang computer na may naka -install na Arduino IDE
Hakbang 1: Pag -unawa sa mga analog pin sa Arduino
Ang Arduino UNO ay may anim na analog input pin (A0-A5) na maaaring magbasa ng isang boltahe sa pagitan ng 0 at 5V at i-convert ito sa isang digital na halaga sa pagitan ng 0 at 1023. Para sa analog output, gumagamit si Arduino ng PWM (Pulse Width Modulation) sa ilang mga digital na pin minarkahan ng ~
(hal., 3, 5, 6, 9, 10, 11).
Ginamit ang mga function
-
Analog Input:
analogRead(pin)
- Nagbabasa ng isang boltahe (0-5V) at nagbabalik ng isang halaga sa pagitan ng 0 at 1023.
-
Analog Output:
analogWrite(pin, value)
- Output ng isang signal ng PWM kung saan
value
saklaw mula 0 (0% duty cycle) hanggang 255 (100% duty cycle).
- Output ng isang signal ng PWM kung saan
Hakbang 2: Mga Wiring Analog Input (Potentiometer)
Ikonekta ang isang potentiometer sa isang arduino analog pin:
Potentiometer Pin | Koneksyon ng Arduino |
---|---|
1 (end pin) | 5v |
2 (gitna/output) | A0 |
3 (end pin) | Gnd |
Hakbang 3: Wiring Analog Output (LED)
Ikonekta ang isang LED na may 220-OHM risistor sa isang Arduino PWM pin (e.g., pin 9):
LED pin | Koneksyon ng Arduino |
---|---|
Mahabang binti (+) | Digital Pin 9 |
Maikling binti (-) | Gnd |
Hakbang 4: Pagbasa ng analog input
Gamitin ang analogRead()
Pag -andar upang mabasa ang data mula sa potentiometer:
Halimbawa Code: Pagbasa ng Analog Input
#define potPin A0 // Potentiometer connected to A0
void setup() {
Serial.begin(9600);
Serial.println("Analog Input Test");
}
void loop() {
int sensorValue = analogRead(potPin); // Read analog value
Serial.print("Sensor Value: ");
Serial.println(sensorValue);
delay(500); // Wait for half a second
}
Patakbuhin ang code at obserbahan ang mga halaga ng potentiometer (0-1023) sa serial monitor.
Hakbang 5: Pagsulat ng analog output
Gamitin ang analogWrite()
Pag -andar upang makontrol ang ningning ng isang LED:
Halimbawa ng code: analog output sa LED
#define ledPin 9 // LED connected to pin 9
void setup() {
pinMode(ledPin, OUTPUT); // Set LED pin as output
}
void loop() {
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledPin, brightness); // Increase brightness
delay(10);
}
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledPin, brightness); // Decrease brightness
delay(10);
}
}
Hakbang 6: Pagsasama ng analog input at output
Maaari kang gumamit ng mga halaga ng pag -input ng analog upang makontrol ang output, tulad ng pag -aayos ng LED lightness batay sa posisyon ng potentiometer.
Halimbawa Code: Ang mga kontrol ng potentiometer ay humantong sa ningning
#define potPin A0 // Potentiometer connected to A0
#define ledPin 9 // LED connected to pin 9
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(potPin); // Read potentiometer value
int brightness = map(sensorValue, 0, 1023, 0, 255); // Map to PWM range
analogWrite(ledPin, brightness); // Set LED brightness
Serial.print("Sensor Value: ");
Serial.print(sensorValue);
Serial.print(" -> Brightness: ");
Serial.println(brightness);
delay(100);
}
Hakbang 7: Paggamit if
Mga pahayag na may data ng analog
Maaari kang lumikha ng mga kondisyon gamit ang analog input upang maisagawa ang mga tukoy na aksyon:
Halimbawa Code: Kondisyon ng Kondisyon
#define potPin A0 // Potentiometer connected to A0
#define ledPin 9 // LED connected to pin 9
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(potPin);
if (sensorValue > 512) {
analogWrite(ledPin, 255); // Full brightness if sensor value > 512
Serial.println("Bright!");
} else {
analogWrite(ledPin, 0); // Turn off LED otherwise
Serial.println("Off");
}
delay(500);
}
Mga aplikasyon ng analog basahin/isulat
- Pagbasa ng mga sensor sa kapaligiran (hal., Liwanag, temperatura, kahalumigmigan)
- Pag -aayos ng bilis ng motor
- Pagkontrol ng LED ningning
- Pagproseso ng signal ng audio
- Paglikha ng mga interface ng gumagamit na batay sa analog
Pag -aayos
- Maling pagbabasa mula sa sensor: Tiyakin ang wastong mga kable at i -verify ang mga koneksyon sa potentiometer.
- Humantong hindi pag -iilaw: Kumpirma ang orientation ng LED at gumamit ng isang risistor upang limitahan ang kasalukuyang.
- Hindi makinis ang output: Magdagdag ng isang maliit na pagkaantala o average ang mga halaga ng pag -input para sa katatagan.
Konklusyon
Nalaman mo kung paano magsagawa ng analog basahin at isulat ang mga operasyon gamit ang Arduino uno, mga halaga ng sensor ng mapa sa mga output, at gamitin if
Mga pahayag para sa kondisyon na lohika. Ang mga kasanayang ito ay mahalaga para sa paglikha ng tumutugon, interactive na mga proyekto. Eksperimento karagdagang sa pamamagitan ng pagsasama ng iba pang mga analog sensor at actuators upang mapalawak ang iyong mga kakayahan!