Cuprins:

Glisor de fotografie DIY: 4 pași
Glisor de fotografie DIY: 4 pași

Video: Glisor de fotografie DIY: 4 pași

Video: Glisor de fotografie DIY: 4 pași
Video: NU AM ARUNCAT VECHIUL TUL ȘI AM SALVAT BINE BUGETUL FAMILIEI! 4 IDEI SUPER TUL. 2024, Iulie
Anonim
Glisor de fotografie DIY
Glisor de fotografie DIY

Bună ziua tuturor! acesta este proiectul meu pentru un glisor de cameră DIY, am avut o perioadă dificilă cu al meu, dar sunt sigur că dacă acordați mai multă atenție detaliilor, va funcționa!

în teorie, acest lucru ar trebui să funcționeze pe deplin

dacă alegeți să faceți acest lucru, sper să vă placă!

Pasul 1: Adunați-vă materiale

Adunați-vă materiale
Adunați-vă materiale
Adunați-vă materiale
Adunați-vă materiale
Adunați-vă materiale
Adunați-vă materiale

Materiale electronice

  • Arduino
  • două 360 servo
  • tablă de pâine
  • rezistențe
  • butoane (de preferință 3)

Materiale de construcții

  • două bucăți de scândură de spumă
  • bucăți de diblă din lemn (pot fi metalice)
  • piese din lemn de formă ovală (consultați imaginea introductivă a imaginii).

Pasul 2: Configurare

Înființat!
Înființat!

această fotografie este schema circuitului

urmați acest lucru și proiectul dvs. va funcționa!

Pasul 3: Asamblarea Breadboard-ului

Asamblarea Breadboard-ului!
Asamblarea Breadboard-ului!
  • în primul rând conectați pozitiv și masă la panoul de măsurare.
  • în al doilea rând conectați cele două servouri … și aveți două fire care rulează la sol și pozitive, iar altul la pinul pe care l-ați alege. (rețineți că codul va avea pinii pe care i-am ales)..
  • apoi asamblați butoanele … nu uitați să vă conectați la pinii la alegere, dar codul nu va funcționa dacă nu utilizați pinii pe care i-am ales. conectați butoanele și la masă.
  • și utilizați un rezistor de 220.
  • în cele din urmă, dacă doriți să utilizați un monitor LCD, va trebui să conectați 2 pini la intrarea analogică și un fir la terminalul pozitiv.

Pasul 4: Codul Arduino

#include #include #include

LiquidCrystal_I2C lcd (0x27, 16, 2); // setați adresa LCD la 0x27 pentru un afișaj de 16 caractere și 2 linii

Servo servoLeft; // Definirea servo stânga Servo servoRight; // Definiți servo corect

const int startbut = 8; // pin pentru startbut (startbutton) const int forwardbut = 12; // pin pentru forwardbut (forwardbutton) const int reversebut = 13; // pin pentru reversebut (reversebutton) int tim = 500; // valoarea timpului de întârziere int flag = 0; int count = 0;

char array1 = "bun venit"; // șirul de imprimat pe LCD ("welcome") char array2 = "împingeți la stânga = STÂNGA, dreapta = DREAPTA!"; // șirul de imprimat pe ecranul LCD („împingeți la stânga = STÂNGA, dreapta = DREAPTA”)

void setup () {servoLeft.attach (10); // Setați servo stânga la pinul digital 10 servoRight.attach (9); // Setați servo dreapta la pinul digital 9 servoLeft.write (90); // setați servo-urile la 90 de grade servoRight.write (90); întârziere (100);

// transformă pinul în intrări pinMode (startbut, INPUT); // inițializați butonul de pornire (butonul de pornire) ca un pin pinMode (reversebut, INPUT); // inițializați butonul invers (butonul invers) ca un pin pinMode (butonul forward, INPUT); // inițializați butonul forward (butonul forward) ca intrare

}

void loop () {// Buclați prin teste de mișcare // cod pentru monitor LCD dacă (flag == 1 && count == 0) {count = 1; lcd.init (); // inițializați lcd lcd.backlight (); // deschide lumina de fundal

lcd.setCursor (15, 0); // setați cursorul la coloana 15, linia 0 pentru (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Derulează conținutul afișajului un spațiu la stânga. lcd.print (array1 [positionCounter1]); // Imprimați un mesaj pe ecranul LCD. întârziere (tim); // așteptați 250 de microsecunde} lcd.clear (); // Șterge ecranul LCD și poziționează cursorul în colțul din stânga sus. lcd.setCursor (15, 1); // setați cursorul la coloana 15, linia 1 pentru (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Derulează conținutul afișajului un spațiu la stânga. lcd.print (array2 [positionCounter]); // Imprimați un mesaj pe ecranul LCD. întârziere (tim); // așteptați 250 de microsecunde} lcd.clear (); // Șterge ecranul LCD și poziționează cursorul în colțul din stânga sus. } ///////////////////////////////////////////////////// ////////////////////////////////////////////////////// ///////////////////////////////////////

/ verificați dacă butoanele au fost apăsate dacă (digitalRead (startbut) == 1) {flag = 1; // semnal variabilă pentru buton pentru a porni}

if (flag == 1) {if (digitalRead (reversebut) == HIGH) // reversebut apăsat va activa un servo {reverse (); // revers variabilă pentru butonul invers} else if (digitalRead (forwardbut) == HIGH) // forwardbut apăsat va activa un servo {forward (); // variabilă forward pentru butonul forward} else {stop (); // oprire variabilă pentru a opri mișcarea servoarelor când butoanele nu sunt apăsate}}

}

// Rutine de mișcare pentru forward, reverse și stop void forward () {// comandă forward servoLeft.write (0); // direcția în care servourile se transformă servoRight.write (180); } void stop () {// comanda stop servoLeft.write (90); // oprește ambele servouri în același loc, altfel ar fi în poziții diferite servoRight.write (90); } void reverse () {// comanda inversa servoLeft.write (180); // servo-urile se activează în direcția opusă servoRight.write (0); }

iată codul succesului! după ce ați configurat arduino, totul ar trebui să funcționeze! și bucurați-vă!

dacă nu funcționează, asigurați-vă că vă uitați înapoi la acest instructable și verificați totul!

Recomandat: