Obsah:

DIY Fotografický posuvník: 4 kroky
DIY Fotografický posuvník: 4 kroky

Video: DIY Fotografický posuvník: 4 kroky

Video: DIY Fotografický posuvník: 4 kroky
Video: DIY PhotoBooth Tutorial with Raspberry Pi 4 2024, Listopad
Anonim
DIY Fotografický posuvník
DIY Fotografický posuvník

Ahoj všichni! toto je můj projekt pro posuvník kamery pro vlastní potřebu, měl jsem s tím těžký čas, ale jsem si jistý, že když budete věnovat větší pozornost detailům, bude to fungovat!

teoreticky by to mělo plně fungovat

pokud se tak rozhodnete, doufám, že se vám bude líbit!

Krok 1: Shromážděte materiály

Shromážděte si materiály
Shromážděte si materiály
Shromážděte si materiály
Shromážděte si materiály
Shromážděte si materiály
Shromážděte si materiály

Elektronické materiály

  • Arduino
  • dvě 360 serv
  • chlebová deska
  • odpory
  • tlačítka (nejlépe 3)

Stavební materiál

  • dva kusy pěnové desky
  • dřevěné kusy hmoždinky (mohou být kovové)
  • dřevěné oválné kusy (viz úvodní obrázek).

Krok 2: Nastavení

Založit!
Založit!

tato fotografie je schéma zapojení

dodržujte toto a váš projekt bude fungovat!

Krok 3: Montáž prkénka

Montáž prkénka!
Montáž prkénka!
  • v první řadě připojte kladný a uzemňovací vodič na prkénko.
  • za druhé připojte dvě serva … a nechte dva vodiče vést k zemi a kladně a další ke kolíku, který byste vybrali. (kód bude obsahovat piny, které jsem vybral)..
  • pak sestavte tlačítka … nezapomeňte se připojit k pinům podle vašeho výběru, ale kód nebude fungovat, pokud nepoužijete piny, které jsem vybral. připojte také tlačítka k zemi.
  • a použijte odpor 220.
  • konečně, pokud byste chtěli použít LCD monitor, budete muset připojit 2 piny k analogovému vstupu a jeden vodič ke kladnému pólu.

Krok 4: Arduino kód

#include #include #include

LiquidCrystal_I2C lcd (0x27, 16, 2); // pro 16 znaků a 2 řádky nastavte adresu LCD na 0x27

Servo servoVlevo; // Definujte levé servo Servo servoRight; // Definujte pravé servo

const int startbut = 8; // pin pro startbut (startbutton) const int forwardbut = 12; // pin pro forwardbut (forwardbutton) const int reverseebut = 13; // pin pro reverzní tlačítko (reverzní tlačítko) int tim = 500; // hodnota doby zpoždění int flag = 0; int count = 0;

char array1 = "vítejte"; // řetězec pro tisk na LCD ("uvítání") char array2 = "push left = LEFT, right = RIGHT!"; // řetězec pro tisk na LCD ("push left = LEFT, right = RIGHT")

neplatné nastavení () {servoLeft.attach (10); // Nastavit levé servo na digitální pin 10 servoRight.attach (9); // Nastavit pravé servo na digitální pin 9 servoLeft.write (90); // nastavení serv na 90 stupňů servoRight.write (90); zpoždění (100);

// otočí pin na vstupy pinMode (startbut, INPUT); // inicializace startbutu (startbutton) jako vstupního pinMode (reverseebut, INPUT); // inicializace reverzního tlačítka (reverzního tlačítka) jako vstupního pinMode (forwardbut, INPUT); // inicializujte forwardbut (forwardbutton) jako vstup

}

void loop () {// Procházení pohybovými testy // kód pro LCD monitor if (flag == 1 && count == 0) {count = 1; lcd.init (); // inicializace lcd lcd.backlight (); // otevřete podsvícení

lcd.setCursor (15, 0); // nastavte kurzor na sloupec 15, řádek 0 pro (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Posouvá obsah displeje o jedno místo doleva. lcd.print (array1 [positionCounter1]); // Vytiskne zprávu na LCD. zpoždění (tim); // počkejte 250 mikrosekund} lcd.clear (); // Vymaže obrazovku LCD a umístí kurzor do levého horního rohu. lcd.setCursor (15, 1); // nastavte kurzor na sloupec 15, řádek 1 pro (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Posouvá obsah displeje o jedno místo doleva. lcd.print (array2 [positionCounter]); // Vytiskne zprávu na LCD. zpoždění (tim); // počkejte 250 mikrosekund} lcd.clear (); // Vymaže obrazovku LCD a umístí kurzor do levého horního rohu. } ///////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// ///////////////////////////////////////////

/zkontrolujte, zda jsou stisknuta tlačítka if (digitalRead (startbut) == 1) {flag = 1; // proměnná příznaku pro spuštění tlačítka}

if (flag == 1) {if (digitalRead (reverseebut) == HIGH) // reversebutPress will turn on a servo {reverse (); // proměnná zpětného chodu pro reverzní tlačítko} else if (digitalRead (forwardbut) == HIGH) // dopředu stisknuté zapne servo {forward (); // proměnná vpřed pro tlačítko vpřed} else {stop (); // zastavení proměnné pro zastavení pohybu serva, když nejsou stisknuta tlačítka}}

}

// Pohybové rutiny vpřed, vzad a zastavení neplatné vpřed () {// příkaz vpřed servoLeft.write (0); // směr, ve kterém se serva otáčejí servoRight.write (180); } void stop () {// zastavení příkazu servoLeft.write (90); // zastaví obě serva na stejném místě, jinak by byly v různých polohách servoRight.write (90); } void reverse () {// reverzní příkaz servoLeft.write (180); // serva se aktivují v opačném směru servoRight.write (0); }

zde je kód úspěchu! po nastavení arduina by mělo vše fungovat! a užívej si!

pokud to nefunguje, podívejte se zpět na tento návod a zkontrolujte vše!

Doporučuje: