Hirdetés

Új hozzászólás Aktív témák

  • Sokimm

    senior tag

    válasz Janos250 #3380 üzenetére

    Igen igen, a következő lett az eredmény (csak konzolról nem tudom beolvasni az értéket... A switch case-ig nem jut a beolvasott érték. :\)

    sevensegment.ino
    #include "sevensegment.h"

    sevensegment kijelzo(7, 9, 11, 8, 10, 6, 12, 13);

    void setup()
    {
    Serial.begin(9600);
    Serial.println("csak 1-9 kozotti erteket adj meg!");
    }

    void loop()
    {
    kijelzo.kiir(Serial.read());
    delay(500);
    }

    sevensegment.h
    #ifndef sevensegment_h
    #define sevensegment_h
    #include <Arduino.h>

    class sevensegment
    {
    private:
    byte _f; byte _k; byte _a; byte _bf; byte _ba; byte _jf; byte _ja; byte _p;
    public:
    byte szam;
    sevensegment(byte f, byte k, byte a, byte bf, byte ba, byte jf, byte ja, byte p);
    void kiir(byte szam);

    };
    #endif

    sevensegment.cpp
    #include "Arduino.h"
    #include "sevensegment.h"
    #include "pins_arduino.h"

    sevensegment::sevensegment(byte f, byte k, byte a, byte bf, byte ba, byte jf, byte ja, byte p)
    {
    pinMode(f, OUTPUT);
    _f = f;
    pinMode(k, OUTPUT);
    _k = k;
    pinMode(a, OUTPUT);
    _a = a;
    pinMode(bf, OUTPUT);
    _bf = bf;
    pinMode(ba, OUTPUT);
    _ba = ba;
    pinMode(jf, OUTPUT);
    _jf = jf;
    pinMode(ja, OUTPUT);
    _ja = ja;
    pinMode(p, OUTPUT);
    _p = p;
    }

    void sevensegment::kiir(byte szam)//
    {
    switch (szam) {
    case 0:
    Serial.println("nulla");
    break;
    case 1:
    digitalWrite(_jf, LOW);//1
    digitalWrite(_ja, LOW);
    digitalWrite(_f, HIGH);
    digitalWrite(_bf, HIGH);
    digitalWrite(_k, HIGH);
    digitalWrite(_a, HIGH);
    digitalWrite(_ba, HIGH);
    break;
    case 2:
    digitalWrite(_jf, LOW);//2
    digitalWrite(_ja, HIGH);
    digitalWrite(_f, LOW);
    digitalWrite(_bf, HIGH);
    digitalWrite(_k, LOW);
    digitalWrite(_a, LOW);
    digitalWrite(_ba, LOW);
    break;
    case 3:
    digitalWrite(_jf, LOW);//3
    digitalWrite(_ja, LOW);
    digitalWrite(_f, LOW);
    digitalWrite(_bf, HIGH);
    digitalWrite(_k, LOW);
    digitalWrite(_a, LOW);
    digitalWrite(_ba, HIGH);
    break;
    case 4:
    digitalWrite(_jf, LOW);//4
    digitalWrite(_ja, LOW);
    digitalWrite(_f, HIGH);
    digitalWrite(_bf, LOW);
    digitalWrite(_k, LOW);
    digitalWrite(_a, HIGH);
    digitalWrite(_ba, HIGH);
    break;
    case 5:
    digitalWrite(_jf, HIGH);//5
    digitalWrite(_ja, LOW);
    digitalWrite(_f, LOW);
    digitalWrite(_bf, LOW);
    digitalWrite(_k, LOW);
    digitalWrite(_a, LOW);
    digitalWrite(_ba, HIGH);
    break;
    case 6:
    digitalWrite(_jf, HIGH);// 6
    digitalWrite(_ja, LOW);
    digitalWrite(_f, LOW);
    digitalWrite(_bf, LOW);
    digitalWrite(_k, LOW);
    digitalWrite(_a, LOW);
    digitalWrite(_ba, LOW);
    break;
    case 7:
    digitalWrite(_jf, LOW);//7
    digitalWrite(_ja, LOW);
    digitalWrite(_f, LOW);
    digitalWrite(_bf, HIGH);
    digitalWrite(_k, HIGH);
    digitalWrite(_a, HIGH);
    digitalWrite(_ba, HIGH);
    break;
    case 8:
    digitalWrite(_jf, LOW);//8
    digitalWrite(_ja, LOW);
    digitalWrite(_f, LOW);
    digitalWrite(_bf, LOW);
    digitalWrite(_k, LOW);
    digitalWrite(_a, LOW);
    digitalWrite(_ba, LOW);
    break;
    case 9:
    digitalWrite(_jf, LOW);// 9
    digitalWrite(_ja, LOW);
    digitalWrite(_f, LOW);
    digitalWrite(_bf, LOW);
    digitalWrite(_k, LOW);
    digitalWrite(_a, LOW);
    digitalWrite(_ba, HIGH);
    break;

    default:

    break;
    }
    }

Új hozzászólás Aktív témák