Sadržaj:

Klizač za fotografije "uradi sam": 4 koraka
Klizač za fotografije "uradi sam": 4 koraka

Video: Klizač za fotografije "uradi sam": 4 koraka

Video: Klizač za fotografije
Video: Kako napraviti ormar s kliznim vratima / Ključ 13 2024, Juli
Anonim
Klizač za fotografije "uradi sam"
Klizač za fotografije "uradi sam"

zdravo svima! ovo je moj projekt za DIY fotoaparat klizač, bilo mi je teško s mojim, ali siguran sam da ako obratite više pažnje na detalje, to će uspjeti!

u teoriji, ovo bi trebalo u potpunosti funkcionirati

ako se odlučite za ovo, nadam se da ćete uživati!

Korak 1: Prikupite materijale

Prikupite materijale
Prikupite materijale
Prikupite materijale
Prikupite materijale
Prikupite materijale
Prikupite materijale

Elektronski materijali

  • Arduino
  • dva 360 serva
  • daska za hleb
  • otpornici
  • dugmad (po mogućnosti 3)

Građevinski materijal

  • dva komada pjenaste ploče
  • drveni komadi tiple (mogu biti metalni)
  • drveni ovalni oblici (pogledajte uvodnu sliku sa slike).

Korak 2: Postavljanje

Postaviti!
Postaviti!

ova fotografija je dijagram kola

slijedite ovo i vaš će projekt uspjeti!

Korak 3: Montaža Breadboard -a

Montaža Breadboard -a!
Montaža Breadboard -a!
  • prije svega povežite pozitivnu masu i masu na matičnu ploču.
  • drugo povežite dva servo servera … i vodite dvije žice na masu i pozitivu, a drugu na pin koji biste odabrali. (imajte na umu da će kod imati pinove koje sam odabrao)..
  • zatim sastavite gumbe … ne zaboravite se spojiti na pinove po vašem izboru, ali kôd neće raditi ako ne koristite pinove koje sam odabrao. takođe povežite dugmad sa masom.
  • i upotrijebite otpornik 220.
  • na kraju, ako želite koristiti LCD monitor, morat ćete spojiti 2 pina na analogni ulaz i jednu žicu na pozitivni terminal.

Korak 4: Arduino kod

#include #include #include

LiquidCrystal_I2C LCD (0x27, 16, 2); // postavite LCD adresu na 0x27 za prikaz od 16 znakova i 2 reda

Servo servoLeft; // Definiraj lijevi servo Servo servoRight; // Definirajte desni servo

const int startbut = 8; // pin za startbut (startbutton) const int forwardbut = 12; // pin za forwardbut (forwardbutton) const int reversebut = 13; // pin za reversebut (reversebutton) int tim = 500; // vrijednost vremena kašnjenja int flag = 0; int broj = 0;

char array1 = "dobrodošli"; // niz za štampanje na LCD -u ("dobrodošli") char array2 = "pritisnite lijevo = LIJEVO, desno = DESNO!"; // niz za štampanje na LCD -u ("pritisnite lijevo = LIJEVO, desno = DESNO")

void setup () {servoLeft.attach (10); // Postavite lijevi servo na digitalni pin 10 servoRight.attach (9); // Desni servo postavite na digitalni pin 9 servoLeft.write (90); // postavite servo na 90 stupnjeva servoRight.write (90); kašnjenje (100);

// okreće pin na ulaze pinMode (startbut, INPUT); // inicijalizira startbut (startbutton) kao ulazni pinMode (reversebut, INPUT); // inicijalizira reversebut (reversebutton) kao ulazni pinMode (forwardbut, INPUT); // inicijalizira forwardbut (forwardbutton) kao ulaz

}

void loop () {// Prolaz kroz testove kretanja // kôd za LCD monitor if (flag == 1 && count == 0) {count = 1; lcd.init (); // inicijalizira lcd lcd.backlight (); // otvaranje pozadinskog osvjetljenja

lcd.setCursor (15, 0); // postavljamo kursor na stupac 15, red 0 za (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Pomicanje sadržaja ekrana za jedan prostor ulijevo. lcd.print (niz1 [pozicijaCounter1]); // Odštampajte poruku na LCD ekranu. kašnjenje (tim); // čekamo 250 mikrosekundi} lcd.clear (); // Briše LCD ekran i postavlja kursor u gornji lijevi kut. lcd.setCursor (15, 1); // postavljamo kursor na stupac 15, red 1 za (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Pomicanje sadržaja ekrana za jedan prostor ulijevo. lcd.print (niz2 [Brojač pozicija]); // Odštampajte poruku na LCD ekranu. kašnjenje (tim); // čekamo 250 mikrosekundi} lcd.clear (); // Briše LCD ekran i postavlja kursor u gornji lijevi kut. } /////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// //////////////////////////////////////////

/proverite da li su tasteri pritisnuti if (digitalRead (startbut) == 1) {flag = 1; // označava varijablu za dugme za početak}

if (flag == 1) {if (digitalRead (reversebut) == HIGH) // pritisnut reversebut će uključiti servo {reverse (); // obrnuta varijabla za reversebutton} else if (digitalRead (forwardbut) == HIGH) // pritisnuto forwardbut će uključiti servo {forward (); // prosljeđena varijabla za forwardbutton} else {stop (); // zaustavljanje varijable za zaustavljanje kretanja servo -a kada tasteri nisu pritisnuti}}

}

// Rutine kretanja za naprijed, natrag i stop void forward () {// naredba za naprijed servoLeft.write (0); // smjer u kojem servo okreću servoRight.write (180); } void stop () {// naredba za zaustavljanje servoLeft.write (90); // zaustavlja oba serva na istom mjestu, inače bi bili u različitim pozicijama servoRight.write (90); } void reverse () {// naredba za obrnuti servoLeft.write (180); // servo pogoni se aktiviraju u suprotnom smjeru servoRight.write (0); }

evo koda za uspjeh! nakon što postavite vaš arduino sve bi trebalo funkcionirati! i uživajte!

ako ne uspije, svakako pogledajte ovo uputstvo i provjerite sve!

Preporučuje se: