Mundarija:

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

Video: DIY fotosuratlari slayder: 4 qadam

Video: DIY fotosuratlari slayder: 4 qadam
Video: How to Make a Quiche – 4 Easy Recipes 2024, Iyul
Anonim
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: