Driva 2x3 7-segmentsdisplayer?
-
- Inlägg: 5972
- Blev medlem: 27 februari 2006, 14:59:36
- Ort: Tranås (Jönköping)
Re: Driva 2x3 7-segmentsdisplayer?
Visst lockar det att bygga om för att använda färre pinnar, det är ju en modernisering/effektivisering liksom.
Kul i sig, men kanske inte nödvändigt med tanke på att en arduino MEGA2560 har 54 I/Os och kan köpas för typ 200kr.
Du kan ju ansluta varje BCD->7seg IC direkt till arduinon och ändå ha 30 I/Os över.
Kul i sig, men kanske inte nödvändigt med tanke på att en arduino MEGA2560 har 54 I/Os och kan köpas för typ 200kr.
Du kan ju ansluta varje BCD->7seg IC direkt till arduinon och ändå ha 30 I/Os över.
- HUGGBÄVERN
- Tidigare soundbrigade
- Inlägg: 31894
- Blev medlem: 23 augusti 2006, 22:44:11
- Ort: Lilla Paris
- Kontakt:
Re: Driva 2x3 7-segmentsdisplayer?
Kul projekt och roligt att du grävde upp det för att starta på nytt.
Jag ville tipsa om två kretsar, och komma med ett erbjudande. Om någon av kretsarna skulle funka (dock är båda varianterna bara 4-siffrors) skulle jag kunna skänka en till plågsamma LED-försök. ICM7111 har jag bara två av medan ICM7217 har jag flera av och kan skänka 2.
FRågan är om det inte fanns displejdrivare för 6 eller fler siffor - ICM7228?? Kretsarna kom ursprungligen från Intersil men tillverkades också av Maxim.
ICM7211, 4 Digit Display Decoder Driver: PDF
ICM7217, 4 Digit Up/Down Counter: PDF
Jag ville tipsa om två kretsar, och komma med ett erbjudande. Om någon av kretsarna skulle funka (dock är båda varianterna bara 4-siffrors) skulle jag kunna skänka en till plågsamma LED-försök. ICM7111 har jag bara två av medan ICM7217 har jag flera av och kan skänka 2.
FRågan är om det inte fanns displejdrivare för 6 eller fler siffor - ICM7228?? Kretsarna kom ursprungligen från Intersil men tillverkades också av Maxim.
ICM7211, 4 Digit Display Decoder Driver: PDF
ICM7217, 4 Digit Up/Down Counter: PDF
Re: Driva 2x3 7-segmentsdisplayer?
Det enda som ändras är vilket logisk värde som används. Att byta om på 1 o 0 i ųCn är knappast ens triviellt.
-
- Tidigare pellebeefmaster
- Inlägg: 381
- Blev medlem: 28 mars 2005, 20:27:58
- Ort: Oskarshamn
- Kontakt:
Re: Driva 2x3 7-segmentsdisplayer?
Jag funderar på att köra med två st UNO.FormerMazda skrev: ↑28 juli 2023, 12:59:27 Visst lockar det att bygga om för att använda färre pinnar, det är ju en modernisering/effektivisering liksom.
Kul i sig, men kanske inte nödvändigt med tanke på att en arduino MEGA2560 har 54 I/Os och kan köpas för typ 200kr.
Du kan ju ansluta varje BCD->7seg IC direkt till arduinon och ändå ha 30 I/Os över.
12st utgångar till varje bara.
-
- Tidigare pellebeefmaster
- Inlägg: 381
- Blev medlem: 28 mars 2005, 20:27:58
- Ort: Oskarshamn
- Kontakt:
Re: Driva 2x3 7-segmentsdisplayer?
Plågsamma LED-försök?HUGGBÄVERN skrev: ↑28 juli 2023, 14:08:07 Kul projekt och roligt att du grävde upp det för att starta på nytt.
Jag ville tipsa om två kretsar, och komma med ett erbjudande. Om någon av kretsarna skulle funka (dock är båda varianterna bara 4-siffrors) skulle jag kunna skänka en till plågsamma LED-försök. ICM7111 har jag bara två av medan ICM7217 har jag flera av och kan skänka 2.
FRågan är om det inte fanns displejdrivare för 6 eller fler siffor - ICM7228?? Kretsarna kom ursprungligen från Intersil men tillverkades också av Maxim.
ICM7211, 4 Digit Display Decoder Driver: PDF
ICM7217, 4 Digit Up/Down Counter: PDF
Tror det är mest plågsamt för smålänningen som försöker få det att funka

Båda de där kretsarna är ju för att driva segmenten direkt, jag är mer inne på att använda den binära avkodaren som redan finns nu istället.
Re: Driva 2x3 7-segmentsdisplayer?
Du har alltså 6st BCD-kodade ingångar som du behöver lägga kod på.
Jag hade tagit en UNO och tre shiftregister så är det löst!
Enkelt och billigt! https://www.electrokit.com/produkt/74hc ... t-latches/
Okej, det behövs lite kod också, men det brukar inte vara nåt problem i arduino-världen!
Cool display och med häftig proveniens!

Edit;
Ett annat sätt att göra det på att koppla om lite i befintliga kretsar.
Jag gissar lite hur det är kopplat här grundat på din beskrivning.
Men förslagsvis;
Ta bort inverterkretsarna.
Frikoppla LE från jord på varje enskild BCD-till-7segment-omvandlare.
Parallellkoppla alla BCD-ledningar till en gemensam 4-bitars buss.
Koppla denna buss och alla 6st LE-ingångar till UNOs utgångar. Totalt 10st.
Lägg ut BCD-kod på 4-bit bussen och latcha(dra LE låg) in det du vill visa en och rätt siffra taget.
Latchen i MC14511 fungerar som minne så länge LE är hög(1).
Jag hade tagit en UNO och tre shiftregister så är det löst!

Enkelt och billigt! https://www.electrokit.com/produkt/74hc ... t-latches/
Okej, det behövs lite kod också, men det brukar inte vara nåt problem i arduino-världen!
Cool display och med häftig proveniens!


Edit;
Ett annat sätt att göra det på att koppla om lite i befintliga kretsar.
Jag gissar lite hur det är kopplat här grundat på din beskrivning.
Men förslagsvis;
Ta bort inverterkretsarna.
Frikoppla LE från jord på varje enskild BCD-till-7segment-omvandlare.
Parallellkoppla alla BCD-ledningar till en gemensam 4-bitars buss.
Koppla denna buss och alla 6st LE-ingångar till UNOs utgångar. Totalt 10st.
Lägg ut BCD-kod på 4-bit bussen och latcha(dra LE låg) in det du vill visa en och rätt siffra taget.
Latchen i MC14511 fungerar som minne så länge LE är hög(1).
-
- Tidigare pellebeefmaster
- Inlägg: 381
- Blev medlem: 28 mars 2005, 20:27:58
- Ort: Oskarshamn
- Kontakt:
Re: Driva 2x3 7-segmentsdisplayer?
Du menar att köra två siffror på varje skiftregister så att siffra tre i grupp 1 och siffra 1 i grupp två hamnar under samma?
Fördelen med detta är ju att jag kan använda befintliga skruvplintar.
Andra varianten att ta bort inverterarna ställer ju till det lite eftersom att de sitter på själva anslutningskortet som skruvplintarna sitter på men är nog fullt görbart.
Hade ju varit enklare om det hade varit kontakter istället för kortplatsanslutning. Fast hur blir det med att koppla alla siffrorna till samma buss?
Blir det inte väldigt flimmrigt eller lyser svagt då när varje siffra är tänd 1/6 del av tiden?
Fördelen med detta är ju att jag kan använda befintliga skruvplintar.
Andra varianten att ta bort inverterarna ställer ju till det lite eftersom att de sitter på själva anslutningskortet som skruvplintarna sitter på men är nog fullt görbart.
Hade ju varit enklare om det hade varit kontakter istället för kortplatsanslutning. Fast hur blir det med att koppla alla siffrorna till samma buss?
Blir det inte väldigt flimmrigt eller lyser svagt då när varje siffra är tänd 1/6 del av tiden?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Driva 2x3 7-segmentsdisplayer?
"Du menar att köra två siffror på varje skiftregister så att siffra tre i grupp 1 och siffra 1 i grupp två hamnar under samma?"
Fördelen med detta är ju att jag kan använda befintliga skruvplintar."
Ja, precis!
Sök på skiftregister 74HC595 och arduino på google och du lär hitta hur mycket lektioner och exempel som helst.
Dessa går att seriekoppla så att man med endast tre pinnar på UNOn kan styra allihopa.
Man matar ut sifferdatan seriellt och klockar in det en bit i taget, när hela koden är ute så latchar man den dvs låser den i skiftregistret och då uppdateras LED-siffrorna med det nya värdet.
De här kretsarna går att leka med manuellt ganska enkelt dvs du kan prova principen utan någon mikrokontroller för att förstå hur det funkar.
Tex på ett litet breadboard. Dessa kretsar kostar typ en femma styck, så billigt att leka med.
Och därmed även verifiera att det fungerar i real life innan man sätter igång och kodar, vilket är en stor fördel!
Om man vill koppla om befintliga kretsar;
Det funkar med inverterarna också, det är bara att invertera koden ... eller fysiskt koppla förbi dem på kretskorten.
Det var bara en tankemässig förenkling från min sida.
Tanken är att få de separata BCD-till-7-segment omvandlarkretsarna att bara läsa av bussen en i taget när du drar LE låg.
När du drar LE hög igen så lagras det värdet och bussen är fri för nästa siffra du vill ändra.
Du behöver bara skriva till den siffra du vill ändra.
Inget behov av konstant(refresh) skrivande eftersom varje MC14511 innehåller redan en latch(LE).
När värdet väl är lagrat i kretsen så lyser den siffran hela tiden till en ny siffra latchas in, dvs du drar LE låg .. och hög igen efter en viss liten tid(exakt tid står i databladet).
LE är troligtvis bunden konstant till jord just nu och läser bussen hela tiden, men genom att frikoppla den och styra den separat för varje siffra så fungerar den alltså som minne och håller varje siffra tills du vill ändra den.
Och då fungerar det bra med att ha alla siffror kopplade på samma 4-bitars buss.
4 bitar för bussen + 6st för LE = 10 utgångar på UNOn
Med reservation att jag kan ha missat eller missuppfattat något.
Fortfarande lite av en gissningslek pga av bristande bildmaterial.
Det är inte fel att rita upp ett kretsschema på hur det är kopplat, speciellt på det man inte ser på bild.
Fördelen med detta är ju att jag kan använda befintliga skruvplintar."
Ja, precis!
Sök på skiftregister 74HC595 och arduino på google och du lär hitta hur mycket lektioner och exempel som helst.
Dessa går att seriekoppla så att man med endast tre pinnar på UNOn kan styra allihopa.
Man matar ut sifferdatan seriellt och klockar in det en bit i taget, när hela koden är ute så latchar man den dvs låser den i skiftregistret och då uppdateras LED-siffrorna med det nya värdet.
De här kretsarna går att leka med manuellt ganska enkelt dvs du kan prova principen utan någon mikrokontroller för att förstå hur det funkar.
Tex på ett litet breadboard. Dessa kretsar kostar typ en femma styck, så billigt att leka med.
Och därmed även verifiera att det fungerar i real life innan man sätter igång och kodar, vilket är en stor fördel!

Om man vill koppla om befintliga kretsar;
Det funkar med inverterarna också, det är bara att invertera koden ... eller fysiskt koppla förbi dem på kretskorten.
Det var bara en tankemässig förenkling från min sida.
Tanken är att få de separata BCD-till-7-segment omvandlarkretsarna att bara läsa av bussen en i taget när du drar LE låg.
När du drar LE hög igen så lagras det värdet och bussen är fri för nästa siffra du vill ändra.
Du behöver bara skriva till den siffra du vill ändra.
Inget behov av konstant(refresh) skrivande eftersom varje MC14511 innehåller redan en latch(LE).
När värdet väl är lagrat i kretsen så lyser den siffran hela tiden till en ny siffra latchas in, dvs du drar LE låg .. och hög igen efter en viss liten tid(exakt tid står i databladet).
LE är troligtvis bunden konstant till jord just nu och läser bussen hela tiden, men genom att frikoppla den och styra den separat för varje siffra så fungerar den alltså som minne och håller varje siffra tills du vill ändra den.
Och då fungerar det bra med att ha alla siffror kopplade på samma 4-bitars buss.
4 bitar för bussen + 6st för LE = 10 utgångar på UNOn
Med reservation att jag kan ha missat eller missuppfattat något.
Fortfarande lite av en gissningslek pga av bristande bildmaterial.
Det är inte fel att rita upp ett kretsschema på hur det är kopplat, speciellt på det man inte ser på bild.
-
- Tidigare pellebeefmaster
- Inlägg: 381
- Blev medlem: 28 mars 2005, 20:27:58
- Ort: Oskarshamn
- Kontakt:
Re: Driva 2x3 7-segmentsdisplayer?
Jag har kollat hur kretskortet är konstruerat nu och det är precis tvärt om, alltså att "LE" är gemensam medans BCD är separata.
För att få det att funka så måste jag med andra ord skrapa av några kopparbanor på anslutningskorten så jag får 3 separata "LE" på var och ett av de två anslutningskorten.
Och det verkar funka också för när jag startar så visar den "000", jordar jag "LE" så står det fortfarande "000".
Om jag skickar signal så det står t.ex "180" så funkar det om man inte jordar "LE" men inte om "LE" är jordad.
Om man skickar på signal så det står "180" och därefter jordar "LE" och sedan som nr 3 tar bort styrsignalen men fortfarande jordar "LE" så står det fortfarande kvar "180".
Så det verkar funka ganska mycket som du beskriver.
För att få det att funka så måste jag med andra ord skrapa av några kopparbanor på anslutningskorten så jag får 3 separata "LE" på var och ett av de två anslutningskorten.
Och det verkar funka också för när jag startar så visar den "000", jordar jag "LE" så står det fortfarande "000".
Om jag skickar signal så det står t.ex "180" så funkar det om man inte jordar "LE" men inte om "LE" är jordad.
Om man skickar på signal så det står "180" och därefter jordar "LE" och sedan som nr 3 tar bort styrsignalen men fortfarande jordar "LE" så står det fortfarande kvar "180".
Så det verkar funka ganska mycket som du beskriver.
-
- Tidigare pellebeefmaster
- Inlägg: 381
- Blev medlem: 28 mars 2005, 20:27:58
- Ort: Oskarshamn
- Kontakt:
Re: Driva 2x3 7-segmentsdisplayer?
Jag har testat lite nu, verkar funka dåligt.
Kan det vara så att jag måste ändra resistansen på pullup-motstånden?
Nu är det ju i praktiken 6st parallellkopplade pullupmotstånd eftersom att alla 6 BCD-kanalerna är ihopkopplade.
Eller sätta in dioder? (totalt 24st).
Kan det vara så att jag måste ändra resistansen på pullup-motstånden?
Nu är det ju i praktiken 6st parallellkopplade pullupmotstånd eftersom att alla 6 BCD-kanalerna är ihopkopplade.
Eller sätta in dioder? (totalt 24st).
Re: Driva 2x3 7-segmentsdisplayer?
Du behöver bara ett pullup-motstånd(4st) när det är kopplat på samma buss.
-
- Tidigare pellebeefmaster
- Inlägg: 381
- Blev medlem: 28 mars 2005, 20:27:58
- Ort: Oskarshamn
- Kontakt:
Re: Driva 2x3 7-segmentsdisplayer?
Får inte till de där riktigt snygga lödningarna, får nog skaffa mig lite flussmedel på flaska men såhär blev slutresultatet iaf. och det verkar funka exakt som jag har tänkt mig

Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
-
- Tidigare pellebeefmaster
- Inlägg: 381
- Blev medlem: 28 mars 2005, 20:27:58
- Ort: Oskarshamn
- Kontakt:
Re: Driva 2x3 7-segmentsdisplayer?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.