Sida 1 av 2
Skapa fler "bitar" av dom jag har?
Postat: 17 maj 2015, 04:30:40
av Basher52
Tjo, första posten, så... be gentle
Om ni tänker tillbaka då det fanns displayer med 8x4 eller något mera punkter så var det inte så
speciellt svårt att addresera dessa men med dagens högupplösning så kan man ju knappast addressera
varje punkt på samma sätt.
Jag undrar nu hur man på en ENKELT sätt kan få 8 bitar att blir 16 bitar eller mer via nåt enkelt sätt.
Dagens högupplösta skärmar addresserar ju knappast varje pixel via en typ x/y bit-adress.
Vad göra?
//B52
Re: Skapa fler "bitar" av dom jag har?
Postat: 17 maj 2015, 10:41:46
av PaNiC
Om jag tolkar dig rätt vill du ha något som i princip fördubblar storleken av ditt displayinnehåll?
Jag gjorde såhär:
Kod: Markera allt
for(j=0; j<5; j++){
for(i=7; i>=0; i--){
big_data[j] <<=2;
if(small_data[j] & 1<<i) big_data[j] |=3;
}
}
Detta fördubblar storleken på det 5*7-typsnitt som finns i small_data.
Re: Skapa fler "bitar" av dom jag har?
Postat: 17 maj 2015, 11:13:44
av sodjan
> kan få 8 bitar att blir 16 bitar
Ska varje bit av de 8 motsvara 2 bitar av de 16?
Du har ju bara 8 värden/bitar att använda...
> Dagens högupplösta skärmar addresserar ju knappast varje pixel via en typ x/y bit-adress.
Varför inte? Någonstans gör man ju det, självklart. Själva *skärmen* har dock sannolikt
något annat seriellt gränssnitt. Och förrutom x/y har du ljusstyrka och färg också...
Re: Skapa fler "bitar" av dom jag har?
Postat: 17 maj 2015, 11:38:18
av TomasL
Jo, man adresserar varje pixel för sig, grafikkortet överför, för en 1600x1200 skärm, 1 920 000 x 32 bitar, dvs runt 7,5 MB till skärmen för varje ny skärmbild.
Re: Skapa fler "bitar" av dom jag har?
Postat: 17 maj 2015, 22:53:34
av Basher52
Som har har fått för mej så används en "svep"-frekvens för att flytta "pekaren" till nästa
och det finns ju inget chip som har 1 920 000 x 32 pinnar på sej, typ
Med hjälp av denna teknik (om jag nu inte fattat det helt fel) så slipper man skapa
ett sådant och på så sätt ända kunna adressera alla pixlar, om ni fattar hur jag tänker.
Med likande teknik vill jag alltså kunna får t ex 8 bitar att kunna bli fler med att man
bygger ett liknande tillägg, behöver dock inte vara nåt med frekvenser bara det fungerar.
Jag tänkte ev skaffa en Arduino One men de antal in/out som den har räcker inte på långa
vägar till det jag tänkt använde den till.
Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 05:38:32
av PHermansson
Kolla upp matriser så ser du hur man kan göra.
För att utöka antalet Gpio på en Arduino används ofta shiftregister.
Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 07:40:42
av TomasL
1 920 000 x 32 pinnar på sej
Nej det behövs inte, du har fattat det fel.
Om vi istället tar 24 bitars färgdjup, i stället för 32 så är det enklare att räkna.
Varje pixel på en skärm är egentligen 3 olika pixlar, en röd, en grön och en blå.
De 24 bitar (i vårt förenklade räknesätt), motsvarar varje byte (8 bitar) en färg, dvs 3x8 bitar blir ju 24 bitar.
Det innebär att varje "Sub-pixel" kan anta 256 olika värden eller snarare ljusstyrka.
En skärm med 1600x1200 pixlar består alltså egentligen av 4800x3600 pixlar.
För att addressera hela skärmen krävs alltså tre uppsättningar drivkretsar som kan adresssera 1600x1200 pixlar.
Naturligtvis så tillverkar man inte en krets med 1600 resp 1200 drivers inbyggd, utan man delar upp det i ett antal kretsar.
Till exempel så kan man tillverka en drivkrets som kan driva 200 kolumner, då behöver man naturligtvis 8 stycken sådana för varje färg.
Samma gäller raderna, om man tillverkar en krets som kan driva 200 rader så behövs 6 stycken för varje färg.
Sedan har man lämplig logik som avkodar dataströmmen så att rätt drivkrets får rätt information, vilket i sig inte är så svårt.
Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 10:36:22
av sodjan
> ...räcker inte på långa vägar till det jag tänkt använde den till.
Och det är, vadå?
Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 10:50:59
av Nerre
Skiftregister, multiplexad data eller matrisadressering låter det som att du är ute efter.
Om vi tar exemplet med en bildskärm så är det ju inte så att du adresserar pixel 766354 utan du adresserar rad 638 pixel 754. Man lägger alltså först ut rad-adress och sen kolumn-adress.
Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 14:38:43
av Basher52
Får kolla upp det där med skiftegister och kolla hur det skulle fungera.
tackar alla

Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 14:52:53
av sodjan
Om du inte talar om vad du tänker göra så är det i stort meningslöst at fråga.
> Jag undrar nu hur man på en ENKELT sätt kan få 8 bitar att blir 16 bitar eller mer via nåt enkelt sätt.
Det kan du självklart inte!
Men däremot är det väldigt enkelt att få 2x8 bitar att bli 16 bitar.
Eller 3x8 bitar att bli 24 bitar o.s.v...
Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 16:47:05
av Basher52
Oavsett vad jag ska göra så behövs flera bitar men i detta fall så tänkte jag styra en mindre robot
som i dagsläget har ung 20 sensorer vilket gör att det finns inte tillräkligt många kvar för att styra den.
Evetuellt får det bli en mindre PC med styrprogram istället men det vore kull att få den att funka med denna.
Frågan var egentligen en mera generell variant där man ska utöka det antal man har som sedan skulle kunna
användas i olika sammanhang
Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 18:15:24
av TomasL
Tja, det beror ju helt och hållet på vilken typ av IO man behöver, i ditt fall till exempel, beror det ju på vilken typ av sensorer du vill läsa av och hur fort du behöver läsa dem, mm.
Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 18:23:50
av Nerre
Ja, I2C är eller nån annan form av seriell buss är ju t.ex. bra sätt att kommunicera med många sensorer på få pinnar.
Men är det sensorer så handlar det väl om ingångar, de flesta kommentarer har handlat om utgångar. Det är ju lite skillnad på hur man hanterar det.
Re: Skapa fler "bitar" av dom jag har?
Postat: 18 maj 2015, 19:32:53
av Basher52
Många sensorer är typ fotocellsbrytare, detta eftersom det som nu styr den går på trycklyft och dom har ljusbrytare inbyggt på sig.
Andra är proximity-sensorer som känner av om vissa saker närma sig vissa positioner.
Eventuellt skulle allt bytas ut till helt elektriskt så man slipper tryckluften men det blir alldeles för dyrt att byta ut allting.
Det är hjärnan som skulle bytas ut, visserligen fungerar nu men ingen kan den kod som den styrs av så skulle den lägga av
så är det illa.