Kreuzschaltung mit 4 Schalter. KV-Diagram in Code umgesetzt.

Dependencies:   mbed DigitalIn

Cross connection with 4 switches

Boolean operation table and Karnaugh-Veitch-Symmetrie-Diagramm

https://os.mbed.com/media/uploads/Berndii__/boolean_operation_table.png

Output =(A۸B۸¬C۸D)۷(¬A۸B۸C۸D)۷(A۸B۸C۸¬D)۷(¬A۸B۸¬C۸¬D)۷(A۸¬B۸¬C۸¬D)۷(¬A۸¬B۸C۸¬D)۷ (A۸¬B۸C۸D)۷(¬A۸¬B۸¬C۸D)

Wiring

I know it's an Arduino but for illustration enouth :P

https://os.mbed.com/media/uploads/Berndii__/arduino_kreuzschaltung_2.png

main.cpp

Committer:
Berndii__
Date:
2019-12-02
Revision:
1:51299916db3e
Parent:
0:1b90d953ef92
Child:
2:48abf540cb20

File content as of revision 1:51299916db3e:

#include "mbed.h"

#define Button1 p12
#define Button3 p14
#define Button2 p15



BusOut myleds(LED4, LED3, LED2, LED1);

DigitalIn up(Button1);
DigitalIn down(Button2);
DigitalIn center(Button3);

int main()
{
    while(1) {



        if(up.read()==1) {
            if(myleds<=14) {
                wait_ms(50);
                myleds=myleds<<1;
                myleds=1|myleds;

            }

            if(myleds>=14) {

                wait_ms(50);
                myleds=myleds<<1;
                myleds=myleds|0;

            }
                

            


        }
        if(center.read()==1) {
            wait_ms(100);
            for(int i=0; i<4; i++) {
                wait_ms(100);
                myleds=myleds<<1;
                myleds=myleds|0;
            }
        }
        
        
        if(down.read()==1) {
            if(myleds<=15) {
                wait_ms(50);
                myleds=myleds>>1;
                myleds=0|myleds;

            }

            if(myleds>=15) {

                wait_ms(50);
                myleds=myleds>>1;
                myleds=myleds|0;

            } 
        


    }
}
}