DIY fotosuratlari slayder: 4 qadam
DIY fotosuratlari slayder: 4 qadam
DIY fotosuratlari uchun slayder
DIY fotosuratlari uchun slayder

hammaga salom! bu mening DIY kamerasi slayderining loyihasi, men bilan vaqtim qiyin bo'lgan, lekin aminmanki, agar siz tafsilotlarga ko'proq e'tibor bersangiz, u ishlaydi!

nazariy jihatdan, bu to'liq ishlashi kerak

Agar siz buni qilishni tanlasangiz, sizga yoqadi deb umid qilaman!

1 -qadam: Materiallarni yig'ing

Materiallarni yig'ing
Materiallarni yig'ing
Materiallarni yig'ing
Materiallarni yig'ing
Materiallarni yig'ing
Materiallarni yig'ing

Elektron materiallar

  • Arduino
  • ikkita 360 ta servo
  • non taxtasi
  • rezistorlar
  • tugmalar (yaxshisi 3)

Qurilish materiallari

  • ikki bo'lak ko'pikli taxta
  • yog'och dublonlar (metall bo'lishi mumkin)
  • yog'och oval shaklidagi bo'laklar (kirish rasmidagi rasmga qarang).

2 -qadam: sozlash

Sozlash!
Sozlash!

bu fotosurat sxemasi

Buni kuzatib boring va sizning loyihangiz ishlaydi!

3 -qadam: Non paneli taxtasi

Breadboard yig'ilishi!
Breadboard yig'ilishi!
  • birinchi navbatda, musbat va zaminni non paneliga ulang.
  • Ikkinchidan, ikkita servo ulang … va ikkita simni erga va musbatga, ikkinchisini siz tanlagan pinga ulang. (E'tibor bering, kodda men tanlagan pinlar bo'ladi).
  • keyin tugmalaringizni yig'ing … siz tanlagan pinlarga ulanishni unutmang, lekin agar men tanlagan pinlardan foydalanmasangiz, kod ishlamaydi. tugmachalarni ham erga ulang.
  • va 220 rezistordan foydalaning.
  • Nihoyat, agar siz LCD monitordan foydalanmoqchi bo'lsangiz, analog kirishga 2 ta pin va musbat terminalga bitta simni ulashingiz kerak bo'ladi.

4 -qadam: Arduino kodi

#qo'shish #qo'shish #qo'shish

LiquidCrystal_I2C lcd (0x27, 16, 2); // 16 ta belgi va 2 qatorli displey uchun LCD manzilni 0x27 ga o'rnating

Chap servo servo; // Chap servo Servo servoRightni belgilang; // To'g'ri servolarni aniqlang

const int startbut = 8; // startbut uchun pin (startbutton) const int forwardbut = 12; // oldinga o'tish uchun pin (oldinga tugma) const int teskari = 13; // teskari burilish uchun pin (teskari tugma) int tim = 500; // kechikish vaqtining qiymati int flag = 0; int soni = 0;

char array1 = "xush kelibsiz"; // LCD -da chop etiladigan satr ("xush kelibsiz") char array2 = "chapga = SOL, o'ng = O'ngga!"; // LCD -da chop etiladigan satr ("chapga = SOL, o'ngga = O'ngga")

void setup () {servoLeft.attach (10); // Chap servo raqamli pin 10 servoRight.attach (9) ga o'rnating; // o'ng servo raqamli pin 9 servoLeft.write (90) ga o'rnating; // servolarni 90 darajaga qo'ying servoRight.write (90); kechikish (100);

// pinni pinMode kirishiga aylantiradi (startbut, INPUT); // startbut (startbutton) ni kirish pinMode (teskari qaytarish, INPUT) sifatida ishga tushirish; // teskari tugmani (teskari tugmachani) kirish pinMode (oldinga, INPUT) sifatida ishga tushirish; // kirish tugmachasini (oldinga tugma) kirish sifatida ishga tushiring

}

void loop () {// Harakat testlaridan o'tish // LCD monitor uchun kod if (flag == 1 && count == 0) {count = 1; lcd.init (); // lcd lcd.backlight () ni ishga tushirish; // orqa yorug'likni oching

lcd.setCursor (15, 0); // kursorni 15 -ustunga, 0 -qatorga qo'ying (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Displey mazmunini chapga bir bo'sh joyga aylantiradi. lcd.print (qator1 [positionCounter1]); // Xabarni LCD displeyda chop eting. kechikish (vaqt); // 250 mikrosaniyani kuting} lcd.clear (); // LCD displeyni tozalaydi va kursorni chap yuqori burchakka joylashtiradi. lcd.setCursor (15, 1); // kursorni 15 -ustunning 1 -qatoriga qo'ying (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Displey mazmunini chapga bir bo'sh joyga aylantiradi. lcd.print (qator2 [positionCounter]); // Xabarni LCD displeyda chop eting. kechikish (vaqt); // 250 mikrosaniyani kuting} lcd.clear (); // LCD displeyni tozalaydi va kursorni chap yuqori burchakka joylashtiradi. } //////////////////////////////////////////////////////////////////////////////////////////////////// / //////////////////////////////////////////////////////

/tugmalar bosilganligini tekshiring, agar (digitalRead (startbut) == 1) {flag = 1; // tugmani ishga tushirish uchun bayroq o'zgaruvchisi}

if (flag == 1) {if (digitalRead (teskari) == YUQORI) // teskari bosilsa, servo yoqiladi {teskari (); // teskari tugma uchun teskari o'zgaruvchi} else if if (digitalRead (forwardbut) == HIGH) // forwardbut pressed servo {forward (); // forward tugmasi uchun oldinga o'zgaruvchi} else {stop (); // tugmalar bosilmaganda servolarning harakatini to'xtatish uchun to'xtash o'zgaruvchisi}}

}

// Oldinga, orqaga va bo'sh joyni oldinga siljitish tartiblari () {// oldinga servoLeft.write buyrug'i (0); // servo aylanadigan yo'nalish servoRight.write (180); } void stop () {// stop buyrug'i servoLeft.write (90); // ikkala servo bir joyda to'xtaydi, aks holda ular har xil holatda bo'ladi servoRight.write (90); } void reverse () {// teskari buyruq servoLeft.write (180); // servo qarama -qarshi yo'nalishda faollashadi servoRight.write (0); }

Mana muvaffaqiyat kodi! Arduino -ni o'rnatgandan so'ng, hamma narsa ishlashi kerak! va zavqlaning!

Agar u ishlamasa, bu ko'rsatmaga qarang va hamma narsani tekshiring!

Tavsiya: