Mündəricat:

DIY Fotoşəkil Sürgüsü: 4 addım
DIY Fotoşəkil Sürgüsü: 4 addım

Video: DIY Fotoşəkil Sürgüsü: 4 addım

Video: DIY Fotoşəkil Sürgüsü: 4 addım
Video: Выбор и установка входной металлической двери в новостройке #10 2024, Noyabr
Anonim
DIY Fotoşəkil Sürgüsü
DIY Fotoşəkil Sürgüsü

hamıya salam! bu bir DIY kamera kaydırıcısı üçün layihəmdir, mənimlə çətin bir vaxt keçirdim, amma əminəm ki, detala daha çox diqqət yetirsəniz işləyəcək!

nəzəri olaraq, bu tamamilə işləməlidir

bunu etməyi seçsəniz, ümid edirəm ki, zövq alacaqsınız!

Addım 1: Material toplayın

Material toplayın
Material toplayın
Material toplayın
Material toplayın
Material toplayın
Material toplayın

Elektron materiallar

  • Arduino
  • iki 360 servo
  • çörək taxtası
  • rezistorlar
  • düymələr (tercihen 3)

Tikinti materiallari

  • iki ədəd köpük lövhəsi
  • taxta dübel parçaları (metal ola bilər)
  • taxta oval formalı parçalar (şəkil giriş şəklinə baxın).

Addım 2: Quraşdırın

Qurmaq!
Qurmaq!

bu foto dövrə diaqramıdır

Bunu izləyin və layihəniz işləyəcək!

Addım 3: Çörək taxtasının yığılması

Çörək lövhəsinin montajı!
Çörək lövhəsinin montajı!
  • hər şeydən əvvəl çörək taxtasına pozitiv və zəmini bağlayın.
  • İkincisi, iki servosu birləşdirin … və yerə və müsbətə gedən iki tel, digərini isə seçəcəyiniz pinlə bağlayın. (kodun seçdiyim sancaqlar olacağını unutmayın)..
  • sonra düymələrinizi yığın … seçdiyiniz pinlərə qoşulmağı unutmayın, ancaq seçdiyim sancaqlar istifadə etməsəniz kod işləməyəcək. düymələri də yerə bağlayın.
  • və 220 rezistor istifadə edin.
  • Nəhayət, bir LCD monitor istifadə etmək istəyirsinizsə, analog girişə 2 pin və müsbət terminala bir tel bağlamalı olacaqsınız.

Addım 4: Arduino Kodu

#daxil edin #daxil edin #daxil edin

LiquidCrystal_I2C lcd (0x27, 16, 2); // 16 simvol və 2 sətirli ekran üçün LCD ünvanını 0x27 olaraq təyin edin

Servo servo sol; // Sol servo Servo servoRight təyin edin; // Sağ servo təyin edin

const int startbut = 8; // startbut üçün pin (startbutton) const int forwardbut = 12; // irəli atma üçün pin (irəli düymə) const int tərsinə = 13; // geri çəkmə üçün pin (geri düymə) int tim = 500; // gecikmə müddətinin dəyəri int flag = 0; int sayı = 0;

char array1 = "xoş gəldin"; // LCD -də çap ediləcək sim ("xoş gəldiniz") char array2 = "sola = SOL, sağ = SAĞ!"; // LCD -də çap ediləcək sətir ("sola = SOL, sağa = SAĞ")

boş quraşdırma () {servoLeft.attach (10); // Sol servoyu rəqəmsal pin 10 -a təyin edin servoRight.attach (9); // Sağ servonu rəqəmsal pin 9 -a təyin edin servoLeft.write (90); // servoları 90 dərəcəyə təyin edin servoRight.write (90); gecikmə (100);

// sancağı pinMode girişlərinə çevirir (başlanğıc, GİRİŞ); // başlanğıc düyməsini (başlanğıc düyməsini) giriş pinMode (tərsinə, GİRİŞ) kimi işə salın; // geri düyməni (geri düymə) giriş pinMode (irəli, GİRİŞ) kimi başladın; // irəli düyməsini (irəli düyməsini) giriş olaraq işə salın

}

void loop () {// Hərəkət testlərindən keçmək // LCD monitor üçün kod əgər (flag == 1 && count == 0) {count = 1; lcd.init (); // lcd lcd.backlight () başlatmaq; // arxa işığı açın

lcd.setCursor (15, 0); // kursoru 15 sütunun 0 sətrinə qoyun (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Ekranın məzmununu bir boşluq sola sürüşdürür. lcd.print (array1 [positionCounter1]); // LCD -yə mesaj yazın. gecikmə (vaxt); // 250 mikrosaniyəni gözləyin} lcd.clear (); // LCD ekranı təmizləyir və kursoru sol üst küncdə yerləşdirir. lcd.setCursor (15, 1); // kursoru 15 sütunun 1 sətirinə qoyun (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Ekranın məzmununu bir boşluq sola sürüşdürür. lcd.print (array2 [positionCounter]); // LCD -yə mesaj yazın. gecikmə (vaxt); // 250 mikrosaniyəni gözləyin} lcd.clear (); // LCD ekranı təmizləyir və kursoru sol üst küncdə yerləşdirir. } //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////

/düymələrin basıldığını yoxlayın (digitalRead (startbut) == 1) {flag = 1; // düyməni başlamaq üçün dəyişən bayraq}

if (bayraq == 1) {if (digitalRead (tərsinə) == YÜKSƏK) // əksinə basıldığında servo açılacaq {tərs (); // əks düymə üçün tərs dəyişən} else if else (digitalRead (forwardbut) == HIGH) // forwardbut basıldıqda servo {irəli () açılacaq; // irəli düyməsi üçün irəli dəyişən} else {stop (); // düymələr basılmadıqda servoların hərəkətini dayandırmaq üçün dəyişəni dayandırın}}

}

// İrəli, geri və dayandırmaq üçün hərəkət qaydaları irəli () {// irəli əmri servoLeft.write (0); // servoların servoRight.write -ə çevrildiyi istiqamət (180); } void stop () {// stop command servoLeft.write (90); // hər iki servo eyni yerdə dayanır, əks halda fərqli mövqedə olarlar servoRight.write (90); } void reverse () {// əks əmr servoLeft.write (180); // servolar əks istiqamətdə aktivləşir servoRight.write (0); }

uğurun kodu budur! Arduino qurduqdan sonra hər şey işləməlidir! və zövq alın!

işə yaramırsa, bu təlimat verənə baxıb hər şeyi yoxlayın!

Tövsiyə: