kostenloser Webspace werbefrei: lima-city


Python Raspberry Pi 7 Segment Bildschirm

lima-cityForumProgrammiersprachenPython

  1. Autor dieses Themas

    aculhd

    aculhd hat kostenlosen Webspace.

    Hallo liebe Community,:wave:

    Ich wollte mit meinen Raspberry Pi ein 7 Segment Display mit 4 Ziffer ansteueren ...
    ... leider habe ich trotz googlen nicht derartiges gefunden.
    Weiß eine Zufällig ein Code Beispiel in Pyhton oder einen Link der weiter helfen könnte ?

    Danke im voraus!
    Gruß
    Acul
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo,
    Eine Siebensegementanzeige sind ja eigentlich nur 7 leds .
    Das heißt du kannst einfach jedes Tut über led Steuerung mit Pythen benuzen.
    Zum Beilpiel dieses http://www.thirdeyevis.com/pi-page-2.php hier.
    Es ist genauso als würdest du 28 einzelne Leds ansteuern.
  4. Autor dieses Themas

    aculhd

    aculhd hat kostenlosen Webspace.

    Ja w3J ...
    Aber wie soll ich das jetzt um wandeln wenn ich z.B. eine "8" schreiben will ... Müsste ich dann 7 Segment LED anschalten ! Aber wie schreibe ich die Rotiene ... ;/
    Trotzdem Danke! :)
  5. Du machst einfach eine Funktion, der du dann z.B eine 8 und die Nummer des Segements übergiebst und dann eine if Abfrage durchfürst.
    (Ich kann leider kein Python mehr, desshalb pythonähnlicher pseudocode (hoffe ich))
    Beilspielsweise:
    funktion nummer_anzeigen(num,seg):
        if num=0:
            ledseg_an(1,seg)
            ledseg_an(2,seg)
            ...
            ledseg_aus(4,seg)
            ...
        if num=1:
            ledseg_an(1,seg)
            ...
        ...
    funktion ledseg_an(segp,segn):
        gipo(1,segp*segn+1)
    ...


    Bei diesem Schnipsel muss das 1. Segement an den gipos 1-7 liegen das 2. an 8-14 ...

    dann kanst du einfach
    nummer_anzeigen(nummer,segement)
    aufrufen und fertig
    w3j
  6. Autor dieses Themas

    aculhd

    aculhd hat kostenlosen Webspace.

    Schon mal Danke :)

    Ich hab nämlich auch keine Ahnung von Python ...
    ... Des wegen habe ich es jetzt in C(++) zsm gestöbselt ...

    #include <wiringPi.h>
    #include <stdio.h>
    
    #define   Bit0    8
    #define   Bit1    9
    #define   Bit2   10
    #define   Bit3   11
    
    unsigned char const SegCode[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
    
    unsigned char DatBuf[4] = {0,0,0,0};
    
    int cnt = 0;
    
    void sysInit(void)
    {
    	int i;
    
    	for(i=0;i<12;i++){
    		pinMode(i, OUTPUT);
    		digitalWrite(i, HIGH);
    	}	
    }
    
    void do_cnt(void)
    {
    	DatBuf[0] = SegCode[cnt % 10];
    	DatBuf[1] = SegCode[cnt % 100 / 10];
    	DatBuf[2] = SegCode[cnt % 1000 / 100];
    	DatBuf[3] = SegCode[cnt / 1000];
    }
    
    void display(void)
    {
    	int i;
    
    	for(i=0;i<100;i++){
    		digitalWrite(Bit0, 0);
    		digitalWrite(Bit1, 1);
    		digitalWrite(Bit2, 1);
    		digitalWrite(Bit3, 1);
    		digitalWriteByte(DatBuf[0]);
    
    		delay(1);
    
    		digitalWrite(Bit0, 1);
    		digitalWrite(Bit1, 0);
    		digitalWrite(Bit2, 1);
    		digitalWrite(Bit3, 1);
    		digitalWriteByte(DatBuf[1]);
    
    		delay(1);
    
    		digitalWrite(Bit0, 1);
    		digitalWrite(Bit1, 1);
    		digitalWrite(Bit2, 0);
    		digitalWrite(Bit3, 1);
    		digitalWriteByte(DatBuf[2]);
    
    		delay(1);
    
    		digitalWrite(Bit0, 1);
    		digitalWrite(Bit1, 1);
    		digitalWrite(Bit2, 1);
    		digitalWrite(Bit3, 0);
    		digitalWriteByte(DatBuf[3]);
    
    		delay(1);
    	}
    	cnt++;
    	if(cnt == 10000){
    		cnt = 0;
    	}
    }
    
    int main(void)
    {
    	if(wiringPiSetup() == -1){
    		printf("setup wiringPi failed !");
    		return 1; 
    	}
    
    	sysInit();
    
    	while(1){
    		do_cnt();
    		display();
    	}
    
    	return 0;
    }


    Dann muss ich es halt auf die Art wie zuvor machen in c(++) programmieren ...

    Nochmal Vielen Dank für die bemühungen!
    Gruß
    Luca
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!