Բովանդակություն:

DIY Photography Slider: 4 քայլ
DIY Photography Slider: 4 քայլ

Video: DIY Photography Slider: 4 քայլ

Video: DIY Photography Slider: 4 քայլ
Video: Կատալիզատորի գողությունը կանխելու 4 եղանակ. Կատալիզատորի գողությունը դադարեցնելու ուղիներ 2024, Հուլիսի
Anonim
DIY Photography Slider
DIY Photography Slider

Ողջույն բոլորին! սա իմ նախագիծն է DIY ֆոտոխցիկի սահիչի համար: Ես դժվարությամբ էի ապրում իմ հետ, բայց վստահ եմ, որ մանրամասնություններին ավելի շատ ուշադրություն դարձնելու դեպքում այն կաշխատի:

տեսականորեն, սա պետք է լիովին աշխատի

եթե որոշեք դա անել, հուսով եմ, որ ձեզ դուր կգա:

Քայլ 1: Հավաքեք ձեր նյութերը

Հավաքեք ձեզ նյութեր
Հավաքեք ձեզ նյութեր
Հավաքեք ձեզ նյութեր
Հավաքեք ձեզ նյութեր
Հավաքեք ձեզ նյութեր
Հավաքեք ձեզ նյութեր

Էլեկտրոնային նյութեր

  • Արդուինո
  • երկու 360 սպասարկում
  • հացի տախտակ
  • ռեզիստորներ
  • կոճակներ (ցանկալի է 3)

Շինանյութեր

  • երկու կտոր փրփուր տախտակ
  • փայտե կտորներ (կարող են լինել մետաղական)
  • փայտե օվալաձև կտորներ (հղում կատարեք նկարի ներածական պատկերին):

Քայլ 2: Կարգավորում:

Կարգավորում
Կարգավորում

այս լուսանկարը սխեմայի սխեման է

հետևեք դրան և ձեր նախագիծը կաշխատի:

Քայլ 3. Հավաքածու Breadboard

Հավաքում Breadboard!
Հավաքում Breadboard!
  • առաջին հերթին դրական և աղացած միացրեք հացահատիկին:
  • երկրորդը միացրեք երկու սերվերը … և երկու լարերը միացրեք գետնին և դրեք, իսկ մյուսը `ձեր ընտրած կապին: (նշեք, որ կոդը կունենա իմ ընտրած կապերը):
  • ապա հավաքեք ձեր կոճակները … հիշեք, որ միացեք ձեր ընտրած կապումներին, բայց կոդը չի աշխատի, եթե չօգտագործեք իմ ընտրած կապերը: կոճակները նույնպես միացրեք գետնին:
  • և օգտագործեք 220 դիմադրություն:
  • վերջապես, եթե ցանկանում եք օգտագործել LCD մոնիտոր, դուք պետք է միացնեք 2 կապում անալոգային մուտքին և մեկ մետաղալար `դրական տերմինալին:

Քայլ 4: Arduino ծածկագիրը:

#ներառել #ներառել #ներառել

LiquidCrystal_I2C LCD (0x27, 16, 2); // LCD հասցեն սահմանել 0x27 ՝ 16 նշանի և 2 տողի ցուցադրման համար

Servo servoLeft; // Սահմանել ձախ servo Servo servoRight; // Սահմանել աջ ծառայությունը

const int startbut = 8; // pin for startbut (startbutton) const int forwardbut = 12; // pin for forwardbut (forwardbutton) const int reversebut = 13; // քորոց հակառակ համար (հակադարձ կոճակ) int tim = 500; // ուշացման ժամանակի արժեքը int flag = 0; int հաշվարկ = 0;

char array1 = "բարի գալուստ"; // LCD- ի վրա տպվող տողը («բարի գալուստ») char array2 = "ձախ մղել = ԱՌԱ, աջ = ԱIGHԻ!"; // LCD- ի վրա տպելու տողը ("սեղմել ձախ = ԱՌԱ, աջ = ԱՌԱT")

void setup () {servoLeft.attach (10); // Ձախ սերվոն սահմանել թվային կապի վրա 10 servoRight.attach (9); // Սահմանել աջ սերվոն թվային կապի վրա 9 servoLeft.write (90); // servos- ն սահմանել 90 աստիճանի servoRight.write (90); ուշացում (100);

// պտուտակը վերածում է pinMode- ի մուտքերի (startbut, INPUT); // սկզբնականացնել սկզբնական կոճակը (սկզբնական կոճակը) որպես մուտքագրման pinMode (հակադարձ, INPUT); // սկզբնական դարձնել հակադարձը (հակադարձ կոճակը) որպես մուտքագրման pinMode (առաջ, բայց INPUT); // սկզբնականացնել forwardbut- ը (forwardbutton) որպես մուտքագրում

}

void loop () {// Շրջել շարժման թեստերով // LCD մոնիտորի կոդը, եթե (դրոշակ == 1 && հաշվել == 0) {հաշվել = 1; lcd.init (); // նախաստորագրել lcd lcd.backlight (); // բացեք լուսարձակը

lcd.setCursor (15, 0); // սահմանել կուրսորը 15 -րդ սյունակում, տող 0 -ում (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Ոլորում է ցուցադրման բովանդակությունը մեկ տարածություն դեպի ձախ: lcd.print (զանգված 1 [positionCounter1]); // Տպեք հաղորդագրություն LCD- ին: ուշացում (ժամանակ); // սպասեք 250 միկրովայրկյան} lcd.clear (); // Մաքրում է LCD էկրանը և կուրսորը տեղադրում վերին ձախ անկյունում: lcd.setCursor (15, 1); // սահմանել կուրսորը 15 -րդ սյունակում, տող 1 -ում (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Ոլորում է ցուցադրման բովանդակությունը մեկ տարածություն դեպի ձախ: lcd.print (զանգված 2 [positionCounter]); // Տպել հաղորդագրություն LCD- ին: ուշացում (ժամանակ); // սպասեք 250 միկրովայրկյան} lcd.clear (); // Մաքրում է LCD էկրանը և կուրսորը տեղադրում վերին ձախ անկյունում: } ///////////////////////////////////////////////// /////////////////////////////////////////////////// ///////////////////////////////////////

/ստուգեք, արդյոք կոճակները սեղմել են if (digitalRead (startbut) == 1) {flag = 1; // նշեք փոփոխականը կոճակի մեկնարկի համար}

if (դրոշակ == 1) {if (digitalRead (reversebut) == HIGH) // reversebut սեղմված միացնելու է servo {reverse (); // reverse variable for reversebutton} else if (digitalRead (forwardbut) == HIGH) // forwardbut pressed will turn a servo {forward (); // forward variable for forwardbutton} else {stop (); // stop փոփոխական ՝ սերվերի շարժումը դադարեցնելու համար, երբ կոճակները չեն սեղմվում}}

}

// Շարժման ռեժիմներ ՝ առաջ, հակառակ և կանգ առնելու համար անվավեր առաջ () {// առաջ հրաման servoLeft.write (0); // ուղղություն, որով սերվոները շրջվում են servoRight.write (180); } void stop () {// stop հրամանը servoLeft.write (90); // կանգնեցնում է երկու սերվերին նույն տեղում, հակառակ դեպքում նրանք տարբեր դիրքերում կլինեին servoRight.write (90); } void reverse () {// reverse command servoLeft.write (180); // servos- ն ակտիվանում է հակառակ ուղղությամբ servoRight.write (0); }

ահա հաջողության կոդը! arduino- ն կարգավորելուց հետո ամեն ինչ պետք է աշխատի: և վայելեք!

եթե դա չի աշխատում, համոզվեք, որ հետ նայեք այս ուսանելիին և ամեն ինչ ստուգեք:

Խորհուրդ ենք տալիս: