How to make mini CNC plotter 2D using scrap DVD Rom & Arduino

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ธ.ค. 2024

ความคิดเห็น • 17

  • @GADGETPODDAofficial
    @GADGETPODDAofficial  3 ปีที่แล้ว +3

    Arduino Code :
    #include
    #include
    #define LINE_BUFFER_LENGTH 512
    char STEP = MICROSTEP ;
    // Servo position for Up and Down
    const int penZUp = 130;
    const int penZDown = 83;
    // Servo on PWM pin 10
    const int penServoPin =10 ;
    // Should be right for DVD steppers, but is not too important here
    const int stepsPerRevolution = 50;
    // create servo object to control a servo
    Servo penServo;
    // Initialize steppers for X- and Y-axis using this Arduino pins for the L293D H-bridge
    AF_Stepper myStepperY(stepsPerRevolution,1);
    AF_Stepper myStepperX(stepsPerRevolution,2);
    /* Structures, global variables */
    struct point {
    float x;
    float y;
    float z;
    };
    // Current position of plothead
    struct point actuatorPos;
    // Drawing settings, should be OK
    float StepInc = 1;
    int StepDelay = 1;
    int LineDelay =2;
    int penDelay = 50;
    // Motor steps to go 1 millimeter.
    // Use test sketch to go 100 steps. Measure the length of line.
    // Calculate steps per mm. Enter here.
    float StepsPerMillimeterX =64;
    float StepsPerMillimeterY = 100.0;
    // Drawing robot limits, in mm
    // OK to start with. Could go up to 50 mm if calibrated well.
    float Xmin = 0;
    float Xmax = 40;
    float Ymin = 0;
    float Ymax =40;
    float Zmin = 0;
    float Zmax = 1;
    float Xpos = Xmin;
    float Ypos = Ymin;
    float Zpos = Zmax;
    // Set to true to get debug output.
    boolean verbose = false;
    // Needs to interpret
    // G1 for moving
    // G4 P300 (wait 150ms)
    // M300 S30 (pen down)
    // M300 S50 (pen up)
    // Discard anything with a (
    // Discard any other command!
    /********************
    * void setup() - Initialisations
    ***********************/
    void setup() {
    // Setup
    Serial.begin( 9600 );
    penServo.attach(penServoPin);
    penServo.write(penZUp);
    delay(100);
    // Decrease if necessary
    myStepperX.setSpeed(600);
    myStepperY.setSpeed(600);
    // Set & move to initial default position
    // TBD
    // Notifications!!!
    Serial.println("Mini CNC Plotter alive and kicking!");
    Serial.print("X range is from ");
    Serial.print(Xmin);
    Serial.print(" to ");
    Serial.print(Xmax);
    Serial.println(" mm.");
    Serial.print("Y range is from ");
    Serial.print(Ymin);
    Serial.print(" to ");
    Serial.print(Ymax);
    Serial.println(" mm.");
    }
    /********************
    * void loop() - Main loop
    ***********************/
    void loop()
    {
    delay(100);
    char line[ LINE_BUFFER_LENGTH ];
    char c;
    int lineIndex;
    bool lineIsComment, lineSemiColon;
    lineIndex = 0;
    lineSemiColon = false;
    lineIsComment = false;
    while (1) {
    // Serial reception - Mostly from Grbl, added semicolon support
    while ( Serial.available()>0 ) {
    c = Serial.read();
    if (( c == '
    ') || (c == '
    ') ) { // End of line reached
    if ( lineIndex > 0 ) { // Line is complete. Then execute!
    line[ lineIndex ] = '\0'; // Terminate string
    if (verbose) {
    Serial.print( "Received : ");
    Serial.println( line );
    }
    processIncomingLine( line, lineIndex );
    lineIndex = 0;
    }
    else {
    // Empty or comment line. Skip block.
    }
    lineIsComment = false;
    lineSemiColon = false;
    Serial.println("ok");
    }
    else {
    if ( (lineIsComment) || (lineSemiColon) ) { // Throw away all comment characters
    if ( c == ')' ) lineIsComment = false; // End of comment. Resume line.
    }
    else {
    if ( c

  • @supunbharada8031
    @supunbharada8031 3 ปีที่แล้ว

    Supper හෙලියා...👌🖤 ජය වේවා

  • @ayojthiwanka599
    @ayojthiwanka599 3 ปีที่แล้ว

    supiriyak 💙💙💙💙💙

  • @nilashsilva6361
    @nilashsilva6361 3 ปีที่แล้ว

    Gammk heliyoo😍

  • @lakindumandumal9456
    @lakindumandumal9456 3 ปีที่แล้ว

    supiri kollo ✨

  • @ALLINONETeam
    @ALLINONETeam ปีที่แล้ว

    Bro how get quality picture for drowning

  • @ladda8746
    @ladda8746 3 ปีที่แล้ว

    Suuuuuppppprrrr excellent

  • @nethsarani2167
    @nethsarani2167 3 ปีที่แล้ว

    👍😍

  • @ShortVideosSL02
    @ShortVideosSL02 4 หลายเดือนก่อน

    Extension aka wada na bro pc akatamokak hari solution aka denoko

  • @kenzomalli5082
    @kenzomalli5082 3 ปีที่แล้ว

    කතාකර කර කියලා දීපං බං