Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Në këtë mësim, ne do të përdorim një servo motor, një fotorezistues dhe një rezistencë tërheqëse për të mbledhur një sistem burimi të dritës që ndjek automatikisht.
Hapi 1: Përbërësit:
- Arduino Uno bordi * 1
- Kabllo USB * 1
- Servo motor * 1
- fotorezistor * 1
- Rezistencë (10k) * 1
- Breadboard * 1
- Telat e kërcyesit
Hapi 2: Parimi
Servo motori dhe fotorezistuesi skanojnë dhe kërkojnë burimin e dritës në 180 gradë dhe regjistrojnë vendndodhjen e burimit të dritës. Pas përfundimit të skanimit, servo motori dhe fotorezistori ndalojnë në drejtim të burimit të dritës.
Hapi 3: Procedurat:
Hapi 1:
Ndërtoni qarkun.
Hapi 2:
Shkarkoni kodin nga
Hapi 3:
Ngarko skicën në tabelën Arduino Uno
Klikoni në ikonën Ngarko për të ngarkuar kodin në tabelën e kontrollit.
Nëse "Done uploading" shfaqet në fund të dritares, kjo do të thotë që skica është ngarkuar me sukses.
Tani, nëse përdorni një elektrik dore për të ndriçuar fotorezistën, do të shihni që servo motori dhe fotorerezistori të rrotullohen, dhe më në fund të ndaleni në drejtimin e burimit të dritës.
Hapi 4: Diagrami Skematik
Hapi 5: Kodi
/********************************************************************
* emri:
Ndjekja automatike e burimit të dritës
* funksion
: nëse përdorni një elektrik dore për të ndriçuar rezistencën e fotografisë, * do ta shohësh
servo motori dhe fotorezistenca rrotullohen, * dhe më në fund
ndaloni në drejtim të burimit të dritës.
***********************************************************************
/Email: [email protected]
// Faqja e internetit: www.primerobotics.in
#përfshi
const int photocellPin = A0;
/************************************************/
Servo myservo; // krijoni një servo objekt për të kontrolluar një servo
int outputVlera = 0;
këndi int = {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;
/*************************************************/
void setup ()
{
Serial.filloj (9600);
myservo.attach (9); // bashkon servo në pin 9 në servo objekt
}
/*************************************************/
lak void ()
{
për (int i = 0;
i <19; une ++)
{
myservo.shkruaj (këndi ); // shkruaj këndin në servo
outputVlera
= analogRead (photocellPin); // lexoni vlerën e A0
Serial.println (outputValue); // printoni atë
if (outputValue> maxVal) // nëse vlera aktuale e A0 është më e madhe se e mëparshmja
{
maxVal = outputValue; // shkruani vlerën
maxPos
= i; //
}
vonesë (200);
}
myservo.write (këndi [maxPos]); // shkruaj këndin ndaj servo -s i cili A0 ka vlerën më të madhe
ndërsa (1);
}