Taula de continguts:

Lliscador de fotografia de bricolatge: 4 passos
Lliscador de fotografia de bricolatge: 4 passos

Vídeo: Lliscador de fotografia de bricolatge: 4 passos

Vídeo: Lliscador de fotografia de bricolatge: 4 passos
Vídeo: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Juliol
Anonim
Lliscador de fotografia de bricolatge
Lliscador de fotografia de bricolatge

Hola a tothom! aquest és el meu projecte per a un control lliscant de càmera de bricolatge, he tingut dificultats amb el meu, però estic segur que si pareu més atenció als detalls funcionarà.

en teoria, això hauria de funcionar plenament

si decidiu fer això, espero que us agradi!

Pas 1: reuniu-vos materials

Reuniu-vos materials
Reuniu-vos materials
Reuniu-vos materials
Reuniu-vos materials
Reuniu-vos materials
Reuniu-vos materials

Materials electrònics

  • Arduino
  • dos servos de 360
  • taula de pa
  • resistències
  • botons (preferiblement 3)

Materials de construcció

  • dos trossos de tauler d'escuma
  • trossos de fusta (pot ser de metall)
  • peces de fusta amb forma ovalada (consulteu la imatge introductòria de la imatge).

Pas 2: configureu

Configuració
Configuració

aquesta foto és el diagrama del circuit

segueix això i el teu projecte funcionarà.

Pas 3: Muntatge de taulers de pa

Muntatge de taulers de pa!
Muntatge de taulers de pa!
  • primer de tot connectar positiu i terra a la taula de treball.
  • segon, connecteu els dos servos … i tingueu dos cables a terra i positius, i un altre al pin que escolliu. (tingueu en compte que el codi tindrà els pins que he triat)..
  • després muntar els botons … recordeu-vos de connectar-vos als pins que trieu, però el codi no funcionarà si no feu servir els pins que he triat. connecteu els botons a terra també.
  • i utilitzeu una resistència de 220.
  • finalment, si voleu utilitzar un monitor LCD, haureu de connectar 2 pins a l'entrada analògica i un cable al terminal positiu.

Pas 4: el codi Arduino

#include #include #include

LiquidCrystal_I2C lcd (0x27, 16, 2); // configureu l'adreça LCD a 0x27 per a una pantalla de 16 caràcters i 2 línies

Servo servoEsquerra; // Definir servo esquerra Servo servoRight; // Definiu el servo correcte

const int startbut = 8; // pin for startbut (startbutton) const int forwardbut = 12; // pin for forwardbut (forwardbutton) const int reversebut = 13; // pin for reversebut (reversebutton) int tim = 500; // el valor del temps de retard int flag = 0; int count = 0;

char array1 = "benvingut"; // la cadena per imprimir a la pantalla LCD ("welcome") char array2 = "empenta a l'esquerra = ESQUERRA, dreta = DRETA!"; // la cadena per imprimir a la pantalla LCD ("premeu a l'esquerra = ESQUERRA, dreta = DRETA")

void setup () {servoLeft.attach (10); // Estableix el servo esquerre al pin digital 10 servoRight.attach (9); // Estableix el servo dret al pin digital 9 servoLeft.write (90); // estableix els servos a 90 graus servoRight.write (90); retard (100);

// converteix el pin en entrades pinMode (startbut, INPUT); // inicialitzeu el botó d'inici (botó d'inici) com a pinMode d'entrada (reversebut, INPUT); // inicialitzeu el reversbutton (reversebutton) com a pinMode d’entrada (forwardbut, INPUT); // inicialitzeu el forwardbut (forwardbutton) com a entrada

}

void loop () {// Bucle mitjançant proves de moviment // codi per al monitor LCD if (flag == 1 && count == 0) {count = 1; lcd.init (); // inicialitzar el lcd lcd.backlight (); // obriu la llum de fons

lcd.setCursor (15, 0); // configureu el cursor a la columna 15, línia 0 per a (int positionCounter1 = 0; positionCounter1 <26; positionCounter1 ++) {lcd.scrollDisplayLeft (); // Desplaça el contingut de la pantalla un espai cap a l'esquerra. lcd.print (array1 [positionCounter1]); // Imprimiu un missatge a la pantalla LCD. retard (tim); // espera 250 microsegons} lcd.clear (); // Esborra la pantalla LCD i col·loca el cursor a l'extrem superior esquerre. lcd.setCursor (15, 1); // configureu el cursor a la columna 15, línia 1 per a (int positionCounter = 0; positionCounter <26; positionCounter ++) {lcd.scrollDisplayLeft (); // Desplaça el contingut de la pantalla un espai cap a l'esquerra. lcd.print (array2 [posicióCounter]); // Imprimiu un missatge a la pantalla LCD. retard (tim); // espera 250 microsegons} lcd.clear (); // Esborra la pantalla LCD i col·loca el cursor a l'extrem superior esquerre. } ///////////////////////////////////////////////////// ////////////////////////////////////////////////////// ///////////////////////////////////////

/ comproveu si es premen els botons si (digitalRead (startbut) == 1) {flag = 1; // variable de marca per iniciar el botó}

if (flag == 1) {if (digitalRead (reversebut) == HIGH) // reversebut premut activarà un servo {reverse (); // variable inversa per al botó invers} else if (digitalRead (forwardbut) == HIGH) // forwardbut pressionat activarà un servo {forward (); // reenvia la variable per al botó endavant} else {stop (); // variable d'aturada per aturar el moviment dels servos quan no es premen els botons}}

}

// Rutines de moviment per endavant, revers i stop void forward () {// ordre forward servoLeft.write (0); // direcció en què giren els servos servoRight.write (180); } void stop () {// ordre stop servoLeft.write (90); // atura els dos servos al mateix lloc, en cas contrari estarien en diferents posicions servoRight.write (90); } void reverse () {// ordre inversa servoLeft.write (180); // servos s'activen en direcció oposada servoRight.write (0); }

aquí teniu el codi de l'èxit! després d'haver configurat el vostre arduino, tot hauria de funcionar. i a gaudir!

si no funciona, assegureu-vos de mirar enrere en aquest instructiu i comprovar-ho tot.

Recomanat: