Мазмуну:

DIY Photography Slider: 4 кадам
DIY Photography Slider: 4 кадам

Video: DIY Photography Slider: 4 кадам

Video: DIY Photography Slider: 4 кадам
Video: AMAZING LIFE HACKS WITH CYCLE CHAIN | PAPER CRAFTS | DIY | SPNINER देसी जुगाड़ #lifehack #shorts 2024, Июль
Anonim
DIY Photography Slider
DIY Photography Slider

баарыңарга салам! бул менин DIY камера слайдери үчүн долбоорум, меники менен кыйын болду, бирок эгер деталга көбүрөөк көңүл бурсаңыз, ал иштээрине ишенем!

теориялык жактан алганда, бул толугу менен иштеши керек

эгер сиз муну тандасаңыз, сизге жагат деп ишенем!

1 -кадам: Материалдарды чогултуу

Материалдарды чогултуу
Материалдарды чогултуу
Материалдарды чогултуу
Материалдарды чогултуу
Материалдарды чогултуу
Материалдарды чогултуу

Электрондук материалдар

  • Arduino
  • эки 360 сервос
  • нан тактасы
  • резисторлор
  • баскычтар (жакшы 3)

Курулуш материалдары

  • көбүк такта эки даана
  • дубалдын жыгач бөлүктөрү (металл болушу мүмкүн)
  • жыгач сүйрү формадагы кесимдер (сүрөттүн кириш сүрөтүнө кайрылыңыз).

2 -кадам: Орнотуу

Жайгашуу!
Жайгашуу!

бул сүрөт - схема

муну ээрчиңиз жана сиздин долбоор иштейт!

3 -кадам: Нан тактасын чогултуу

Breadboard жыйнагы!
Breadboard жыйнагы!
  • баарынан мурда позитивдүү жана негизди нан тактасына туташтырыңыз.
  • экинчиси эки сервону туташтырыңыз … жана жерге жана позитивдүү эки зым, экинчисин сиз тандаган пинге туташтырыңыз. (коддо мен тандаган төөнөгүчтөр бар экенин эске алыңыз)..
  • анан баскычтарыңызды чогултуп алыңыз … өзүңүз тандаган төөнөгүчтөргө туташууну унутпаңыз, бирок эгер мен тандаган төөнөгүчтөрдү колдонбосоңуз, код иштебейт. баскычтарды жерге туташтырыңыз.
  • жана 220 каршылыгын колдонуңуз.
  • Акырында, эгер сиз LCD мониторун колдонууну кааласаңыз, анда аналогдук кирүүгө 2 казыкты жана оң терминалга бир зымды туташтырууга туура келет.

4 -кадам: Arduino коду

#кошуу #кошуу #кошуу

LiquidCrystal_I2C lcd (0x27, 16, 2); // 16 дарек жана 2 саптуу дисплей үчүн ЖК дарегин 0x27 деп коюңуз

Servo servoLeft; // Сол сервону аныктоо Servo servoRight; // Туура сервону аныктоо

const int startbut = 8; // pinb startbut (startbutton) const int forwardbut = 12; // pin for forwardbut (forwardbutton) const int reversebut = 13; // артка кайтаруу үчүн пин (reversebutton) int tim = 500; // кечигүү убактысынын мааниси int flag = 0; int count = 0;

char array1 = "кош келиңиз"; // ЖКга басып чыгаруу үчүн сап ("кош келиңиз") char array2 = "солго = СОЛГО, оңго = ОҢГО!"; // ЖКда басып чыгаруу үчүн сап ("солго = СОЛГО, оңго = ОҢГО")

void setup () {servoLeft.attach (10); // Сол сервону санарип пинге 10 servoRight.attach (9) коюңуз; // Оң сервону санариптик пинге орнотуңуз 9 servoLeft.write (90); // серверлерди 90 градуска коюу servoRight.write (90); кечиктирүү (100);

// пинди pinMode киришине айландырат (баштоо, КИРГИЗҮҮ); // startbut (startbutton) киргизүү pinMode (артка, INPUT) катары баштоо; // reversebut (reversebutton) инициализациялоо pinMode (forwardbut, INPUT); // баштоо (алдыга басуу) киргизүү катары

}

void loop () {// Кыймыл тесттери аркылуу цикл // LCD мониторунун коду if (flag == 1 && count == 0) {count = 1; lcd.init (); // lcd lcd.backlight инициализациялоо (); // арткы жарыкты ачуу

lcd.setCursor (15, 0); // курсорду 15 -графага, 0 -сапка коюңуз (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Дисплейдин мазмунун бир боштукка солго жылдырат. lcd.print (array1 [positionCounter1]); // ЖКга билдирүү басып чыгаруу. кечигүү (tim); // 250 микросекунд күтө туруңуз} lcd.clear (); // ЖК экранды тазалайт жана курсорду жогорку сол бурчка жайгаштырат. lcd.setCursor (15, 1); // курсорду 15 -графага, 1 -сапка коюңуз (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Дисплейдин мазмунун бир боштукка солго жылдырат. lcd.print (array2 [positionCounter]); // ЖКга билдирүү басып чыгаруу. кечигүү (tim); // 250 микросекунд күтө} lcd.clear (); // ЖК экранды тазалайт жана курсорду жогорку сол бурчка жайгаштырат. } /////////////////////////////////////////////////// //////////////////////////////////////////////////// ///////////////////////////////////////

/баскычтардын басылгандыгын текшериңиз, эгерде (digitalRead (startbut) == 1) {flag = 1; // баштоо үчүн баскычтын өзгөрмөлүү желеги}

if (flag == 1) {if (digitalRead (reversebut) == HIGH) // reversebut pressed a servo {reverse (); // тескери баскыч үчүн тескери өзгөрмө} else if if (digitalRead (forwardbut) == HIGH) // forwardbut басылганда servo {forward (); // forwardbutton үчүн forward өзгөрмөсү} else {stop (); // баскычтар басылбаган кезде серволордун кыймылын токтотуу үчүн токтоочу өзгөрмө}}

}

// Алдыга, артка жана токтотуу үчүн кыймылдын күн тартиби () {// алдыга буйрук servoLeft.write (0); // servoRight.write сервосу бурула турган багыт (180); } void stop () {// stop command servoLeft.write (90); // эки сервону бир жерде токтотот, антпесе алар ар кандай абалда болмок servoRight.write (90); } void reverse () {// тескери буйрук servoLeft.write (180); // servoSeroRight.write карама -каршы багытта активдешет (0); }

бул жерде ийгиликтин коду! Ардуинону орноткондон кийин баары иштеши керек! жана ырахат алыңыз!

эгер ал иштебесе, анда бул көрсөтмөлүү нерсеге кайра карап, баарын текшериңиз!

Сунушталууда: