Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Sa araling ito, gagamitin namin ang isang servo motor, isang photoresistor at isang pull-down na risistor upang tipunin ang isang awtomatikong pagsubaybay ng light source system.
Hakbang 1: Mga Bahagi:
- Arduino Uno board * 1
- USB cable * 1
- Servo motor * 1
- photoresistor * 1
- Resistor (10k) * 1
- Breadboard * 1
- Mga Jumper wires
Hakbang 2: Prinsipyo
Ang motor na servo at ang pag-scan ng photoresistor at maghanap ng light source sa 180 degree at itala ang lokasyon ng light source. Matapos matapos ang pag-scan, huminto ang servo motor at ang photoresistor sa direksyon ng light source.
Hakbang 3: Mga Pamamaraan:
Hakbang 1:
Buuin ang circuit.
Hakbang 2:
I-download ang code mula sa
Hakbang 3:
I-upload ang sketch sa Arduino Uno board
I-click ang I-upload na icon upang mai-upload ang code sa control board.
Kung ang "Tapos nang mag-upload" ay lilitaw sa ilalim ng window, nangangahulugan ito na ang sketch ay matagumpay na na-upload.
Ngayon, kung gagamit ka ng isang flashlight upang lumiwanag ang photoresistor, makikita mo ang servo motor at ang photoresistor na paikutin, at sa wakas ay huminto sa direksyon ng light source.
Hakbang 4: Diagram ng Skematika
Hakbang 5: Code
/********************************************************************
* pangalan:
Awtomatikong Pagsubaybay sa Magaan na Pinagmulan
* pagpapaandar
: kung gumagamit ka ng isang flashlight upang lumiwanag ang photoresistor, * makikita mo
ang servo motor at ang photoresistor paikutin, * at sa wakas
huminto sa direksyon ng mapagkukunan ng ilaw.
***********************************************************************
/ Email: [email protected]
// Website: www.primerobotics.in
# isama
Const int photocellPin = A0;
/************************************************/
Servo myservo; // lumikha ng object ng servo upang makontrol ang isang servo
int outputValue = 0;
int anggulo = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180};
int maxVal = 0;
int maxPos = 0;
/*************************************************/
walang bisa ang pag-setup ()
{
Serial.begin (9600);
myservo.attach (9); // ikinakabit ang servo sa pin 9 sa servo object
}
/*************************************************/
walang bisa loop ()
{
para sa (int i = 0;
ako <19; i ++)
{
myservo.write (anggulo ); // isulat ang anggulo sa servo
outputValue
= analogRead (photocellPin); // basahin ang halaga ng A0
Serial.println (outputValue); // i-print ito
kung (outputValue> maxVal) // kung ang kasalukuyang halaga ng A0 ay mas malaki kaysa sa nauna
{
maxVal = outputValue; // isulat ang halaga
maxPos
= i; //
}
pagkaantala (200);
}
myservo.write (anggulo [maxPos]); // isulat ang anggulo sa servo kung aling A0 ang may pinakamalaking halaga
habang (1);
}