помогите создать библиотеку на ардуино

Тема в разделе "Arduino & Shields", создана пользователем артём5, 30 дек 2015.

  1. артём5

    артём5 Нуб

    Начал создавать свою библиотеку для управления семисегментным индикатором.
    Когда начал её запускать программа не прошла компиляцию и Arduino IDE выдало кучу ошибок.
     
  2. артём5

    артём5 Нуб

    вот файлы
     
  3. артём5

    артём5 Нуб

    cpp

    #include "WProgram.h"
    #include "Indicator.h"
    Indicator::Indicator(int l)
    {
    _l=l;
    _A=A;
    _B=B;
    _C=C;
    _D=D;
    _E=E;
    _F=F;
    _G=G;
    _DP=DP;
    _a=a;
    _b=b;
    _c=c;
    _d=d;
    _e=e;
    _f=f;
    _g=g;
    _dp=dp;
    _v=v;
    _m=m;
    }
    void Indicator::dig()
    {
    if(_l < 0)
    {
    _v();
    _m(0,0,_A,_B,_C,_D,_E,_F,0,0,0,0,0,0,0,0); //0
    }
    else if(_l < 1)
    {
    _v();
    _m(0,0,_B,_C,0,0,0,0,0,0,0,0,0,0,0,0); //1
    }
    else if(_l < 2)
    {
    _v();
    _m(_A,_B,0,_D,_E,0,_G,0,0,0,0,0,0,0,0,0); //2
    }
    else if(_l < 3)
    {
    _v();
    _m(_A,_B,_C,_D,0,0,_G,0,0,0,0,0,0,0,0,0); //3
    }
    else if(_l < 4)
    {
    _v();
    _m(0,_B,_C,0,0,_F,_G,0,0,0,0,0,0,0,0,0); //4
    }
    else if(_l < 5)
    {
    _v();
    _m(_A,0,_C,_D,0,_F,G,0,0,0,0,0,0,0,0,0); //5
    }
    else if(_l < 6)
    {
    _v();
    _m(_A,0,_C,_D,_E,_F,_G,0,0,0,0,0,0,0,0,0); //6
    }
    else if(_l < 7)
    {
    _v();
    _m(_A,_B,_C,0,0,0,0,0,0,0,0,0,0,0,0,0); //7
    }
    else if(_l < 8)
    {
    _v();
    _m(_A,_B,_C,_D,_E,_F,_G,0,0,0,0,0,0,0,0,0); //8
    }
    else if(_l < 9)
    {
    _v();
    _m(_A,_B,_C,_D,0,_F,_G,0,0,0,0,0,0,0,0,0); //9
    }
    else if(_l < 10)
    {
    _v();
    _m(_b,_c,_A,_B,_C,_D,_E,_F,0,0,0,0,0,0,0,0); //10
    }
    else if(_l < 11)
    {
    _v();
    _m(_b,_c,_C,_B,0,0,0,0,0,0,0,0,0,0,0,0); //11
    }
    else if(_l < 12)
    {
    _v();
    _m(_b,_c,0,0,_A,_B,_E,_G,_D,0,0,0,0,0,0,0); //12
    }
    else if(_l < 13)
    {
    _v();
    _m(_b,_c,0,0,_A,_B,_C,_G,_D,0,0,0,0,0,0,0); //13
    }
    else if(_l < 14)
    {
    _v();
    _m(_c,_b,0,0,0,_B,_C,_G,0,_F,0,0,0,0,0,0); //14
    }
    else if(_l < 15)
    {
    _v();
    _m(_c,_b,0,0,_A,_F,_G,_C,_D,0,0,0,0,0,0,0); //15
    }
    else if(_l < 16)
    {
    _v();
    _m(_c,_b,0,0,_A,_F,_G,_C,_D,_E,0,0,0,0,0,0); //16
    }
    else if(_l < 17)
    {
    _v();
    _m(_c,_b,0,0,_A,_B,_C,0,0,0,0,0,0,0,0,0); //17
    }
    else if(_l < 18)
    {
    _v();
    _m(_c,_b,0,0,_A,_B,_C,_G,_D,_E,_F,0,0,0,0,0); //18
    }
    else if(_l < 19)
    {
    _v();
    _m(_b,_c,0,0,_A,_B,_C,_G,_D,_F,0,0,0,0,0,0); //19
    }
    else if(_l < 20)
    {
    _v();
    _m(_a,_b,_g,_e,_d,_A,_B,_C,_D,_E,_F,0,0,0,0,0); //20
    }
    else if(_l < 21)
    {
    _v();
    _m(_a,_b,_g,_e,_d,0,_B,_C,0,0,0,0,0,0,0,0); //21
    }
    else if(_l < 22)
    {
    _v();
    _m(_a,_b,_g,_e,_d,_A,_B,_G,_E,_D,0,0,0,0,0,0); //22
    }
    else if(_l < 23)
    {
    _v();
    _m(_a,_b,_g,_e,_d,_A,_B,_C,_D,_G,0,0,0,0,0,0); //23
    }
    else if(_l < 24)
    {
    _v();
    _m(_a,_b,_g,_e,_d,0,_B,_C,_G,_F,0,0,0,0,0,0); //24
    }
    else if(_l < 25)
    {
    _v();
    _m(_a,_b,_g,_e,_d,_A,_F,_G,_C,_D,0,0,0,0,0,0); //25
    }
    else if(_l < 26)
    {
    _v();
    _m(_a,_b,_g,_e,_d,_A,_F,_G,_C,_D,_E,0,0,0,0,0); //26
    }
    else if(_l < 27)
    {
    _v();
    _m(_a,_b,_g,_e,_d,_A,0,0,_C,_B,0,0,0,0,0,0); //27
    }
    else if(_l < 28)
    {
    _v();
    _m(_a,_b,_g,_e,_d,_A,_F,_G,_C,_D,_B,_E,0,0,0,0); //28
    }
    else if(_l < 29)
    {
    _v();
    _m(_a,_b,_g,_e,_d,_A,_F,_G,_C,_D,_B,0,0,0,0,0); //29
    }
    else if(_l < 30)
    {
    _v();
    _m(_a,_b,_g,_c,_d,_A,_F,0,_C,_D,_B,_E,0,0,0,0); //30
    }
    }
    void _m(int q,int w,int r,int t,int y,int u,int o,int p, int Q,int W,int R,int T,int Y,int U,int O,int P)
    {
    digitalWrite(q, LOW);
    digitalWrite(w, LOW);
    digitalWrite(r, LOW);
    digitalWrite(t, LOW);
    digitalWrite(y, LOW);
    digitalWrite(u, LOW);
    digitalWrite(o, LOW);
    digitalWrite(p, LOW);
    digitalWrite(Q, LOW);
    digitalWrite(W, LOW);
    digitalWrite(R, LOW);
    digitalWrite(T, LOW);
    digitalWrite(Y, LOW);
    digitalWrite(U, LOW);
    digitalWrite(O, LOW);
    digitalWrite(P, LOW);
    delay(2000);
    }
    void _v()
    {
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, HIGH);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    digitalWrite(dp,HIGH);
    digitalWrite(A, HIGH);
    digitalWrite(B, HIGH);
    digitalWrite(C, HIGH);
    digitalWrite(D, HIGH);
    digitalWrite(E, HIGH);
    digitalWrite(F, HIGH);
    digitalWrite(G, HIGH);
    digitalWrite(DP,HIGH);
    delay(1);
    }
     
  4. артём5

    артём5 Нуб

    h
    #ifndef Indicator_h
    #define Indicator_h

    #include "WProgram.h"

    class Indicator
    {
    public:
    Indicator(int l);
    void dig();
    private:
    int _l;
    int _A;
    int _B;
    int _C;
    int _D;
    int _E;
    int _F;
    int _G;
    int _DP;
    int _a;
    int _b;
    int _c;
    int _d;
    int _e;
    int _f;
    int _g;
    int _dp;
    void _v;
    void _m;
    };
    #endif
     
  5. Rabil'

    Rabil' Нерд

    Нужна библеотка для Ethernet ENC28J60 но чтобы это библиотека работала с arduino pro mini micro
     
  6. артём5

    артём5 Нуб

    у меня ардуино уно
     
  7. Rabil'

    Rabil' Нерд

    Это что???
     
  8. артём5

    артём5 Нуб

    первую h нечаянно вставил
    А стольное в интернете вычиталю
     
  9. Rabil'

    Rabil' Нерд

    Это готовая библиотека??? или что это?? скетч???
    Помошь нужна капец на форуме зайди тема shield и там есть моя тема arduino micro + ENC28J60 прочитай может поможешь чем))
     
  10. артём5

    артём5 Нуб

    библиотеку пробовал писать сам по примеру
    так что это библиотека
     
  11. артём5

    артём5 Нуб

    первое это файл cpp.
    второй h.
     
  12. Rabil'

    Rabil' Нерд

    ЭТО ДЛЯ МОЕЙ АРДУИНЫ?? И ETHERNET?
     
  13. артём5

    артём5 Нуб

    нет я тебе в той теме написал написал. в твоей
     
  14. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    а что эта библиотека должна делать?
     
  15. артём5

    артём5 Нуб

    в функции пишешь аргумент и на индикаторе должно выводить это число
    числа от 0 до 30
     
  16. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    почему до 30, если я правильно понял идикатора два?
     
  17. артём5

    артём5 Нуб

    да их 2. дальше мне было лень писать хотел просто попробовать
     
  18. артём5

    артём5 Нуб

    и можете подсказать как можно сделать это по короче
     
  19. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    добавьте Коментарии, а то ничего не понятно. и код в [.code=cpp][/code] (без точки)
     
  20. артём5

    артём5 Нуб

    сам скетч прилагается
     

    Вложения: