Paso a paso

Dependencies:   mbed

main.cpp

Committer:
franni
Date:
2017-11-08
Revision:
0:c2aa9ba9a990
Child:
1:d1b359ae4723

File content as of revision 0:c2aa9ba9a990:

#include "mbed.h"

Serial rs232(USBTX, USBRX); //enable serial port which links to USB

int num_pasos,grados,i,g,k,step;
BusOut step_secuence(PTD4,PTA12,PTA4,PTA5);

void forward(int cont_pasos) // Avance motor
{
    k=0;
    for (i = 0; i<=cont_pasos; ++i) {
        switch (k) {
            case 0:
                step_secuence=0x0A;
                break;
            case 1:
                step_secuence=0x09;
                break;
            case 2:
                step_secuence=0x05;
                break;
            case 3:
                step_secuence=0x06;
                break;
            default:
                break;
        }
        ++k;
        if (k>=4) {
            k=0;
        }
        wait(0.2);
    }
    g=g+8;
    grados=(g/num_pasos)*15;
    if(grados>360) {
        g=0;
        grados=0;
    }
        rs232.printf("%d\r\n",grados); //Visualiza avance cada 15°
}

int main()
{
    rs232.baud(9600);
    g=0;
    num_pasos=8; // 1.8° por paso son 8.3333 pasos para avanzar 15°, se aproxima a 8
    grados=0;

    while(1) {
        forward(num_pasos);
        wait(0.5);
    }
}