Sida 25 av 26

Re: µPhone, min mobiltelefon

Postat: 16 februari 2012, 12:38:45
av Bosen
Det blir ju helt klart lite svårt att "skriva" mail på den ;)

Re: µPhone, min mobiltelefon

Postat: 16 februari 2012, 13:12:53
av Electricguy
Nu börjar det ju nästan att glida in på smartphone hållet här.. FY på er! :D

Re: µPhone, min mobiltelefon

Postat: 27 mars 2012, 00:20:16
av victor_passe
Liten update:
Jag har programmerat lite mer, att bli uppringd funkar nu även i sleep och att vakna från sleep är mer stabilt nu.
Har även gjort en testframsida i alu och ett test glas i polykarbonat.
Men polykarbonaten är lite för klen. Och nöden har ingen lag:
DSC_0654.jpg
DSC_0656.jpg

Det blev dock en halvdag på att lära sig hur man kan få glas att spricka. Inte skruva fast glaset, det går inte bra.
068.JPG
069.JPG
070.JPG
071.JPG

Re: µPhone, min mobiltelefon

Postat: 27 mars 2012, 06:48:54
av lgrfbs
Snyggt, hur ligger den i handen vid samtal?

Re: µPhone, min mobiltelefon

Postat: 27 mars 2012, 09:31:01
av gOry
i handen?? de är väl bara stoppa den i örat eller?

Vad har den för dimensioner?

Re: µPhone, min mobiltelefon

Postat: 27 mars 2012, 10:33:03
av victor_passe
Har inte testat att ringa med chassit.
Måtten är 38x68mx20mm, om man skippar chassi och har ett mindre batteri så blir det 30x60x8
Och väger 20g. Med chassi/stort batteri vet jag inte vikt.
Så utan chassie är det världens minsta telefon.

Re: µPhone, min mobiltelefon

Postat: 27 mars 2012, 10:47:41
av gOry
Gjut in ett kort i epoxy, sen är de bara slipa och polera fram en schyst yta!
Saker som behöver röra på sig eller ha en "väg ut" kan man skydda med wax som går att pilla/smälta bort sen.
http://www.sweclockers.com/galleri/5857-glasminnen-20

Re: µPhone, min mobiltelefon

Postat: 27 mars 2012, 11:11:30
av victor_passe
Och då kommer man på, juste, R3 ska vara 3k3....

Re: µPhone, min mobiltelefon

Postat: 27 mars 2012, 11:57:34
av gOry
Får väl vara när du har en färdig version!

Re: µPhone, min mobiltelefon

Postat: 27 mars 2012, 18:18:20
av blueint
Bisfenol A är för gott för att kolsyra.. ;)

Re: µPhone, min mobiltelefon

Postat: 27 mars 2012, 20:00:16
av Henry
Kittlar dödskönt i kistan.. med betoning på dödskönt. :roll:


Personiligen hade jag nog gjort den delbar på något vis för att gjuta in det helt känns lite vanskligt oavsett, kan ju hända att en komponent går sönder som gör mobilen död och då är den i princip bara att slänga då det inte går att byta komponenten vilket kanske inte är så vidare kul.

Gjut två tunnare plattor i valfri färg eller eller använd färdiga hårda dylikt material och fräs ut lämplig design eller kolfiber kanske? Med tanke på kretskortets tjocklek så borde du kunnat göra hela mobilen bara någon mm tjockare än batteriet som väl är det som är det tjockaste och hyfsat stabil med rätt material. Man får dock förstås tänka på så att man gör tex en ficka eller öppning där antennsignalerna kan komma ut ifrån beroende på material som tex kolfiber men snyggt hade det nog kunnat bli.

Re: µPhone, min mobiltelefon

Postat: 8 april 2012, 14:03:01
av victor_passe
Nu har jag fått tummen ur och letat upp varför oleden måste ha 10µS väntetid mellan pixlarna, jag hade läst databladet fel och sätter CE=0,1 för varje byte, man ska bara göra det för varje transaktion, alltså, CE=0, sänd bild, CE=1
Så nu kan den rita upp bilder snabbt. Så jag började skriva en rutin som kan visa en bild som är skalad i Xled och som skalas ner i Yled efter Xaxeln.
Det var lite trixigt eftersom jag inte vill hoppa på sd-kortet eller på skärmen, så jag adresserar aldrig om någon av dem.
Det kan ni ju fundera på hur jag löste.
Alltså, bilden läses rad för rad utan att hoppa tillbaka eller fram, jag skriver till oleden, rad för rad utan att hoppa fram eller bak, och jag buffrar bara 1 rad i RAM, behöver inte buffra mer än 1 pixel, men det är effektivare att läsa större klumpar från kortet.

Jag använde denna bilden som mål:
http://www.kawa.net/works/js/animation/cube-e.html
Tryck på start.
Såhär blev det:

(inte uppladdat klart i skrivande stund)


Koden kommer nedan(Allt i fixed point):

Kod: Markera allt


//widthScaled is the width of the image on screen
//heightScaled is the height on the smallest side.
// |<wScale>|
// .-----,___    __
// |            |     ^ heightScaled
// |       ___|   __V
// '-----´
//

void putImageTransform(unsigned char xPos, unsigned char yPos, unsigned int widthScaled, unsigned int heightScaled, char *path, unsigned char direction) {
    FIL imageFile;
    unsigned char width, height, start, padding = 0, y, x;
    unsigned short pixel_buff[98];
    unsigned int tmp;
    unsigned char pixelCntr = 0;
    unsigned int scaleFactor = 0, scaleFactorX = 0, scaleFactorPixelIndex = 0, xReal, xRealStep;

    if (!widthScaled)
        return;

    if (f_open(&imageFile, path, FA_READ))
        return;
    f_lseek(&imageFile, 0x12);
    f_read(&imageFile, &width, 1, &tmp);
    f_lseek(&imageFile, 0x16);
    f_read(&imageFile, &height, 1, &tmp);
    f_lseek(&imageFile, 0x0A);
    f_read(&imageFile, &start, 1, &tmp);
    f_lseek(&imageFile, start);



    oledCommand(0xA0);
    oledCommand(0x62);
    oledCommand(0x15);
    oledCommand(xPos);
    oledCommand(xPos + widthScaled - 1);
    oledCommand(0x75);
    oledCommand(yPos);
    oledCommand(yPos + height - 1);

    oledCommand(0xA0);
    oledCommand(0x63);

    if (width & 1)
        padding = 1;

    OLED_CE = 0;


    xReal = 0;
    xRealStep = (widthScaled * 128) / (width);
    scaleFactor = (128 - ((heightScaled * 128) / height)) / 2;
    for (x = 0; x < width; x++) {
        f_read(&imageFile, pixel_buff, (width + padding) * 2, &tmp);
        xReal += xRealStep;
        if (xReal >= 128) {
            xReal -= 128;

            if (direction)
                scaleFactorX = scaleFactor * (width - x);
            else
                scaleFactorX = scaleFactor * x;

            pixelCntr = 0;
            scaleFactorPixelIndex = (width * 16384L) / (height * 128L - (scaleFactorX * 2));
            for (y = 0; y < height; y++) {
                if ((y * 128) < scaleFactorX)
                    oledData(0);
                else if ((y * 128) < (height * 128 - scaleFactorX))
                    oledData(pixel_buff[(unsigned char) ((pixelCntr++ * scaleFactorPixelIndex) >> 7)]);

                else
                    oledData(0);
            }


        }

    }
    OLED_CE = 1;

    f_close(&imageFile);
    oledCommand(0xA0);
    oledCommand(0x62);

}


Och för att skapa en "kub":

Kod: Markera allt

      
     for (i = 0; i < 25; i++) {
            oledLine(47, 0, 47, 48, 0);
            putImageTransform(0, 0, (i * 2), (i * 2), "icons/pbook.bmp", 1);
            putImageTransform((i * 2), 0, 48 - (i * 2), 48 - (i * 2), "icons/pbook.bmp", 0);
        }
oledLine är bara för att sudda ut på högersidan pga avrundsningsfel.

Re: µPhone, min mobiltelefon

Postat: 10 april 2012, 19:06:47
av AntiZ
Alltid trevligt när man hittar sådana där missar i datablad som gör att saker börjar lira som de ska.

Grymt imponerad. Ett tunt kolfiberskal vore riktigt läckert.

Kör igenom den i en lamineringsmaskin :)

Re: µPhone, min mobiltelefon

Postat: 10 april 2012, 19:30:01
av victor_passe
Har suttit uppe och jobbat igår också, resultat:


Så det mesta funkar.
Man kan även ställa klockan nu.
Datum ska in också. Även på home skärmen.
En jobbig grejj med kolfiber är att det blockar rf.
Annars hade jag kört med kolfiber eller kevlar+kolfiber.

Re: µPhone, min mobiltelefon

Postat: 10 april 2012, 21:50:40
av Folxam
Kevlar är väl RF-transparent?