Spisu treści:

AUTOMATYCZNE ŚLEDZENIE ŹRÓDŁA ŚWIATŁA Z ARDUINO UNO R3: 5 kroków
AUTOMATYCZNE ŚLEDZENIE ŹRÓDŁA ŚWIATŁA Z ARDUINO UNO R3: 5 kroków

Wideo: AUTOMATYCZNE ŚLEDZENIE ŹRÓDŁA ŚWIATŁA Z ARDUINO UNO R3: 5 kroków

Wideo: AUTOMATYCZNE ŚLEDZENIE ŹRÓDŁA ŚWIATŁA Z ARDUINO UNO R3: 5 kroków
Wideo: Kurs Arduino bonus: Polecany zestaw startowy - Elegoo the most complete starter kit 2024, Lipiec
Anonim
AUTOMATYCZNE ŚLEDZENIE ŹRÓDŁA ŚWIATŁA Z ARDUINO UNO R3
AUTOMATYCZNE ŚLEDZENIE ŹRÓDŁA ŚWIATŁA Z ARDUINO UNO R3

W tej lekcji użyjemy serwomotoru, fotorezystora i rezystora pull-down, aby zmontować automatycznie śledzący system źródła światła.

Krok 1: Komponenty

- Płytka Arduino Uno * 1

-Kabel USB * 1

-Silnik serwo * 1

- fotorezystor * 1

- Rezystor (10k) * 1

-Płytka chlebowa * 1

- Przewody połączeniowe

Krok 2: Zasada

Serwomotor i fotorezystor skanują i szukają źródła światła pod kątem 180 stopni i rejestrują położenie źródła światła. Po zakończeniu skanowania serwomotor i fotorezystor zatrzymują się w kierunku źródła światła.

Krok 3: Schemat ideowy

Schemat
Schemat

Krok 4: Procedury

Procedury
Procedury
Procedury
Procedury

Krok 1:

Zbuduj obwód.

Krok 2:

Pobierz kod z

Krok 3:

Prześlij szkic na płytkę Arduino Uno

Kliknij ikonę Prześlij, aby przesłać kod do tablicy kontrolnej.

Jeśli na dole okna pojawi się komunikat „Done uploading”, oznacza to, że szkic został pomyślnie przesłany.

Teraz, jeśli użyjesz latarki do świecenia fotorezystora, zobaczysz, że serwomotor i fotorezystor obracają się, a na koniec zatrzymają się w kierunku źródła światła

Krok 5: Kod

/********************************************************************

* Nazwa:

Automatyczne śledzenie źródła światła

* funkcja

: jeśli używasz latarki do świecenia fotorezystora, * zobaczysz

serwosilnik i fotorezystor obracają się, * i w końcu

zatrzymaj się w kierunku źródła światła.

***********************************************************************

/E-mail: [email protected]

//Strona internetowa: www.primerobotics.in

#włączać

const int fotokomórkaPin = A0;

/************************************************/

Servo myservo;//utwórz obiekt servo do sterowania serwo

int wartośćwyjściowa = 0;

kąt 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;

/*************************************************/

pusta konfiguracja()

{

Serial.początek(9600);

myservo.attach(9);// dołącza serwo na pinie 9 do obiektu servo

}

/*************************************************/

pusta pętla()

{

for(int i = 0;

< 19; ++)

{

myservo.write(angle);//wpisz kąt do servo

Wartość wyjściowa

= analogRead(fotokomórkaPin);//odczytaj wartość A0

Serial.println(outputValue);//print it

if(outputValue > maxVal)//jeśli aktualna wartość A0 jest większa niż poprzednia

{

maxVal = outputValue;//zapisz wartość

maxPos

=i;//

}

opóźnienie(200);

}

myservo.write(angle[maxPos]);//wpisz kąt do serwa, którego A0 ma największą wartość

natomiast(1);

}

Zalecana: