DIY Cable Cam for GoPro | DIY Gadget for shooting movies

Поделиться
HTML-код
  • Опубликовано: 23 авг 2024
  • Cable Cam, also know with others name Wire Cam, Cablecam or Cable-Cam, is a device that we can attach our camera on it and control with remote/smartphone. The CableCam run on a cable (or a pair/three cable in parallel) to help us have a beautiful video shot with movement effect.
    In this video, I show you how to make a Cable Cam at home from old DVD/CD Drive and Arduino Nano. It only cost 5$.
    Components:
    - 2x DVD/CD ROM Drive for PC
    - Arduino Nano
    - Bluetooth Module HC-05
    - L298N Module
    - 2x 3.7v Lipo battery
    App: play.google.co...
    Thank for watching,
    The H Lab.

Комментарии • 11

  • @simon9640
    @simon9640 4 года назад +2

    GENIUS BRO !!!!!

  • @zaidmankar4145
    @zaidmankar4145 Год назад

    HOW MANY TYPE OF MOTOR CAN WE USE TO MAKE IT MORE POWERFULL

  • @zaidmankar126
    @zaidmankar126 Год назад

    where we can get the code

  • @elangene
    @elangene 4 года назад

    excellent

  • @Goehrling
    @Goehrling Год назад

    What is the size of the two resistors?

  • @TheHLab
    @TheHLab  4 года назад

    #include
    #include
    SoftwareSerial BTserial(4, 5); // RX | TX
    #define EN1 2 // PWM control speed motor 1, should be changed to 6 for PWM (also need update for schematic)
    #define EN2 3
    // PWM control speed motor 2
    #define IN1 12
    #define IN2 11
    #define IN3 10
    #define IN4 9
    char command;
    String string;
    String aCmd;
    int speeds = 0;
    int oldSpeeds = 0;
    int gear = 0;
    void carGo(int direct, int speeds){
    //Serial.println(speeds);
    if( direct == 1 ){
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);
    digitalWrite(IN3, HIGH);
    digitalWrite(IN4, LOW);
    } else {
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, LOW);
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, HIGH);
    }
    // slowly increase/decrease speed to avoid camera shake
    int spead = abs(speeds - oldSpeeds);
    int ngt = 1;
    if( oldSpeeds > speeds ) ngt = -1;
    int ispead = 0;
    int iloop = 2;
    while( ispead < spead ){
    ispead += iloop;
    if( ispead > spead ) ispead = spead;
    int vspead = oldSpeeds + ngt * ispead;
    if( vspead < 50 ){
    if( ngt > 0 ){
    continue;// ignore this step if increasing speed
    } else {
    vspead = 0; // set speed to 0 and ...
    ispead = 1000; // force quite loop
    }
    }
    iloop += 2;
    int tempSpeeds = map(vspead, 0, 100, 0, 255);
    analogWrite(EN1, tempSpeeds );
    analogWrite(EN2, tempSpeeds );
    delay(200);
    }

    oldSpeeds = speeds;
    delay(10);
    }
    void setup()
    {
    //Serial.begin( 9600 );//115200
    BTserial.begin( 38400 );
    pinMode(IN1, OUTPUT);
    pinMode(IN2, OUTPUT);
    pinMode(IN3, OUTPUT);
    pinMode(IN4, OUTPUT);
    pinMode(EN1, OUTPUT);
    pinMode(EN2, OUTPUT);
    //Serial.println("Setup done!");
    }
    void loop()
    {
    string = "";
    while(BTserial.available() > 0)
    {
    command = ((byte)BTserial.read());
    if(command == ':')
    {
    break;
    }
    else
    {
    string += command;
    }
    delay(1);
    }

    while( string.length() >= 3 ){
    aCmd = string.substring(0, 3);
    string = string.substring(3);
    //Serial.println(" " + aCmd);
    if ( aCmd.lastIndexOf("S") == 0 ){
    speeds = aCmd.substring(1).toInt();
    if( gear == 3 ){
    // toward
    carGo(1, speeds);
    } else if( gear == 1 ){
    // backward
    carGo(0, speeds);
    }
    } else if ( aCmd.lastIndexOf("G") == 0 ){
    gear = aCmd.substring(1).toInt();
    }
    }
    }

    • @drakulla19
      @drakulla19 3 года назад

      Can we use just ESP12 MINI V2 and L298N?

    • @TheHLab
      @TheHLab  3 года назад

      @@drakulla19 This design and App for Bluetooth module, ESP12 Mini i think only have WiFi

    • @drakulla19
      @drakulla19 3 года назад

      @@TheHLab I will try with raspberrypi zero (wifi+Bluetooth) + l298n :D