*
Make3D - 2024



Spider A2 (version 171217)

1. Bornes A et B du moteur 4
2. GND (masse)
3. Bornes A et B du moteur 3
4. Jumper : En place, alimentation moteurs par Arduino.
    Enlevé, alimentation externe des moteurs
5. Bornes d'alimentation externe des moteurs
6. Deux connecteurs pour servos
7. Bornes A et B du moteur 1
8. GND (masse)
9. Bornes A et B du moteur 2

  • Spider-Bot A2 video



    Téléchargez les librairies :
  • IRremote
  • AFMotor




  • /* Spider A2 (version 171217) */

    #include "AFMotor.h"
    #include "IRremote.h"

    AF_DCMotor Mt_A(3, MOTOR12_64KHZ);
    AF_DCMotor Mt_B(4, MOTOR12_64KHZ);

    // Codes HEX selon télécommande utilisée !
    #define FWRD 0xFFE01F
    #define BKWD 0xFFC03F
    #define LEFT 0xFF807F
    #define RGHT 0xFFD827
    #define STOP 0xFF40BF
    #define BRKE 0xFF20DF

    int irPin = A0; // IRcode
    IRrecv reception_ir(irPin);
    decode_results decode_ir;
    unsigned int value;
    void setup(){
    Serial.begin(9600);
    Serial.println("Projet- Spider-A2-171217-01");

    reception_ir.enableIRIn(); // IRcode
    }

    void loop(){
    if(reception_ir.decode(&decode_ir) ) // IRcode

    {Serial.println(decode_ir.value,HEX);

    switch(decode_ir.value){

    case FWRD:
    Serial.println("FWRD");
    fwrd(2000,255,255);
    break;

    case BKWD:
    Serial.println("BKWD");
    bkwd(2000,255,255);
    break;

    case RGHT:
    Serial.println("RGHT");
    rght(2000,255,255);
    break;

    case LEFT:
    Serial.println("LEFT");
    left(2000,255,255);
    break;

    case STOP:
    Serial.println("STOP");
    stall(2000);
    break;
    } // switch

    reception_ir.resume(); // IRcode
    } // if IR
    } // loop


    ////////////////// functions /////////////////

    void fwrd(int del,int spd_A,int spd_B){
    Mt_A.setSpeed(spd_A);
    Mt_B.setSpeed(spd_B);
    Mt_A.run(FORWARD);
    Mt_B.run(FORWARD);
    }

    void bkwd(int del,int spd_A,int spd_B){
    Mt_A.setSpeed(spd_A);
    Mt_B.setSpeed(spd_B);
    Mt_A.run(BACKWARD);
    Mt_B.run(BACKWARD);
    }

    void rght(int del,int spd_A,int spd_B){
    Mt_A.setSpeed(spd_A);
    Mt_B.setSpeed(spd_B);
    Mt_A.run(BACKWARD);
    Mt_B.run(FORWARD);
    }

    void left(int del,int spd_A,int spd_B){
    Mt_A.setSpeed(spd_A);
    Mt_B.setSpeed(spd_B);
    Mt_A.run(FORWARD);
    Mt_B.run(BACKWARD);
    }

    void stall(int del){
    Mt_A.setSpeed(0);
    Mt_B.setSpeed(0);
    Mt_A.run(BRAKE);
    Mt_B.run(BRAKE);
    delay(del);
    Mt_A.run(RELEASE);
    Mt_B.run(RELEASE);
    }