Kazalo:

Drsnik za fotografiranje sam: 4 koraki
Drsnik za fotografiranje sam: 4 koraki

Video: Drsnik za fotografiranje sam: 4 koraki

Video: Drsnik za fotografiranje sam: 4 koraki
Video: Как заработать 5000 долларов, копируя и вставляя изображ... 2024, Julij
Anonim
Drsnik za fotografije DIY
Drsnik za fotografije DIY

Pozdravljeni vsi skupaj! to je moj projekt za drsnik za fotoaparat DIY, imel sem težko obdobje z mojim, vendar sem prepričan, da če boste več pozornosti namenili podrobnostim, bo delovalo!

teoretično bi to moralo v celoti delovati

če se odločite za to, upam, da vam bo všeč!

Korak: Zberite materiale

Zberite materiale
Zberite materiale
Zberite materiale
Zberite materiale
Zberite materiale
Zberite materiale

Elektronski materiali

  • Arduino
  • dva 360 servomotorja
  • deska za kruh
  • upori
  • gumbi (po možnosti 3)

Gradbeni materiali

  • dva kosa penaste plošče
  • leseni kosi moznika (lahko kovinski)
  • leseni kosi ovalne oblike (glejte uvodno sliko slike).

2. korak: Nastavitev

Nastaviti!
Nastaviti!

ta fotografija je shema vezja

sledite temu in vaš projekt bo deloval!

Korak 3: Montaža deske

Montaža Breadboard!
Montaža Breadboard!
  • najprej priključite pozitivni in ozemljitveni nosilec.
  • drugič, povežite dva servomotorja … in imejte dve žici, ki tečeta na ozemljitev in pozitivno, in drugo na pin, ki bi ga izbrali. (upoštevajte, da bo koda imela izbrane zatiče)..
  • nato sestavite gumbe … ne pozabite se povezati z zatiči po vaši izbiri, vendar koda ne bo delovala, če ne uporabite izbranih zatičev. Gumbe priključite tudi na ozemljitev.
  • in uporabite upor 220.
  • nazadnje, če želite uporabiti LCD monitor, boste morali priključiti 2 zatiča na analogni vhod in eno žico na pozitivni priključek.

4. korak: Koda Arduino

#include #include #include

LiquidCrystal_I2C LCD (0x27, 16, 2); // nastavite naslov LCD na 0x27 za 16 -mestni in 2 -vrstni prikaz

Servo servolevo; // Definiraj levi servo Servo servoRight; // Določite 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; // vrednost zakasnitvenega časa int flag = 0; int count = 0;

char array1 = "dobrodošli"; // niz za tiskanje na LCD ("dobrodošli") char array2 = "potisnite levo = LEVO, desno = DESNO!"; // niz za tiskanje na LCD -zaslonu ("potisnite levo = LEVO, desno = DESNO")

void setup () {servoLeft.attach (10); // levi servo nastavite na digitalni pin 10 servoRight.attach (9); // desni servo nastavite na digitalni zatič 9 servoLeft.write (90); // nastavite servomotorje na 90 stopinj servoRight.write (90); zamuda (100);

// obrne pin na vhode pinMode (startbut, INPUT); // inicializiramo startbut (startbutton) kot vhodni pinMode (reversebut, INPUT); // inicializiramo reversebut (reversebutton) kot vhodni pinMode (forwardbut, INPUT); // inicializiramo forwardbut (forwardbutton) kot vhod

}

void loop () {// Preizkusi gibanja // koda za LCD monitor if (flag == 1 && count == 0) {count = 1; lcd.init (); // inicializiramo lcd lcd.backlight (); // odpremo osvetlitev ozadja

lcd.setCursor (15, 0); // nastavimo kazalec na stolpec 15, vrstica 0 za (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Pomakne vsebino zaslona za en prostor v levo. lcd.print (matrika1 [števec pozicij1]); // Natisnite sporočilo na LCD. zamuda (tim); // počakajte 250 mikrosekund} lcd.clear (); // Počisti LCD zaslon in postavi kazalec v zgornji levi kot. lcd.setCursor (15, 1); // nastavimo kazalec na stolpec 15, vrstica 1 za (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Pomakne vsebino zaslona za en prostor v levo. lcd.print (niz2 [števec pozicij]); // Natisnite sporočilo na LCD. zamuda (tim); // počakajte 250 mikrosekund} lcd.clear (); // Počisti LCD zaslon in postavi kazalec v zgornji levi kot. } /////////////////////////////////////////////////////// //////////////////////////////////////////////////////// /////////////////////////////////////////

/preverite, če so gumbi pritisnjeni if (digitalRead (startbut) == 1) {flag = 1; // označi spremenljivko gumba za zagon}

if (flag == 1) {if (digitalRead (reversebut) == HIGH) // pritisnjen reversebut vklopi servo {reverse (); // obratna spremenljivka za reversebutton} else if (digitalRead (forwardbut) == HIGH) // pritisnjeno forwardbut bo vklopilo servo {forward (); // posredovana spremenljivka za forwardbutton} else {stop (); // ustavitev spremenljivke za ustavitev gibanja servomotorjev, ko gumbi niso pritisnjeni}}

}

// Programi gibanja za naprej, nazaj in stop void forward () {// ukaz za naprej servoLeft.write (0); // smer, v kateri servomotorji obračajo servoRight.write (180); } void stop () {// ukaz za ustavitev servoLeft.write (90); // zaustavi oba servomotorja na istem mestu, sicer bi bila v različnih položajih servoRight.write (90); } void reverse () {// ukaz za obrat servoLeft.write (180); // servomotorji se aktivirajo v nasprotni smeri servoRight.write (0); }

tukaj je koda za uspeh! po nastavitvi arduina bi moralo vse delovati! in uživaj!

če ne deluje, se prepričajte, da si oglejte ta navodila in vse preverite!

Priporočena: