Fagges LED termometer

Berätta om dina pågående projekt.
Användarvisningsbild
Fagge
Inlägg: 3930
Blev medlem: 27 maj 2003, 13:59:51
Ort: Blekinge

Re: Fagges LED termometer

Inlägg av Fagge »

LaRda, Gahh, din glädje dödare.
Den där LED-tejpen såg ju intressant ut för ändamålet. :oops:
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4698
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Fagges LED termometer

Inlägg av Swech »

Klas Kenny,
Om man har viahål i paddar så suger de åt sig tennet om
man dispenserar och kör i lödugn. Resultatet kan bli en dålig lödning
eftersom det blir för lite tenn kvar till komponenten

Swech
Användarvisningsbild
tecno
Inlägg: 27050
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Fagges LED termometer

Inlägg av tecno »

Helt rätt Swech, men i detta specifika fallet där 99% kommer att handjaga dit komponenterna spelar det ingen som helst roll.
Användarvisningsbild
Klas-Kenny
Inlägg: 11365
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Fagges LED termometer

Inlägg av Klas-Kenny »

Ja det förstås. :)

Tänkte att det syftades på att mönsterkortstillverkaren inte skulle gilla det av någon anledning.
ToPNoTCH
Inlägg: 4901
Blev medlem: 21 december 2009, 17:59:48

Re: Fagges LED termometer

Inlägg av ToPNoTCH »

Knåpade ihop en samlingspunkt för tempmätning nu i helgen.

Kanske vore intressant att kombinera med din termometer Fagge.
Namnlös.jpg
Kortet placeras "piggyback" på en sån här modul

Tempratur och luftfuktighet pollas via 2.4GHz radio med sådan här radio modul.

Billiga grejor men verkar funka bra.

Har förberett så man kan polla fler sensorer med olika ID, som mäter olika saker (vad man nu vill).

Data presenteras via WEB-gränssnitt som sedan samlas in via ett curl script i en Linux som kör Cacti.
Namnlös1.jpg
Den roliga dippen är när jag flyttade ut sensorn utomhus från att ha varit inomhus under testandet.

Har pinnat ut I2C om man vill köra alfanumeriskdisplay eller hänga på inomhussensor eller något kul.
Lagt Arduino bootloadr på MCU och kör Arduino kod på det.

Om vi kommer överens om ett protokoll, så kan den ju vara ett intressant komplement.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Fagge
Inlägg: 3930
Blev medlem: 27 maj 2003, 13:59:51
Ort: Blekinge

Re: Fagges LED termometer

Inlägg av Fagge »

Jösses vad billiga radiomoduler, tack för tipset.
Ni som har provat dessa, hur är det med räckvidden?.
Användarvisningsbild
lond
Inlägg: 3509
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Fagges LED termometer

Inlägg av lond »

Swech skrev:Klas Kenny,
Om man har viahål i paddar så suger de åt sig tennet om
man dispenserar och kör i lödugn. Resultatet kan bli en dålig lödning
eftersom det blir för lite tenn kvar till komponenten

Swech
Man får ställa in grönmasken så att den täcker viahålet på baksidan, så att lodet inte kan "rymma". Så gör vi på jobbet med tex QFN-kapslar.

/// Marcus
Användarvisningsbild
Fagge
Inlägg: 3930
Blev medlem: 27 maj 2003, 13:59:51
Ort: Blekinge

Re: Fagges LED termometer

Inlägg av Fagge »

Nu har jag putsat lite till & bland annat expanderat SPI/ISPkontakten med 3 portpinnar till, för dom som senare vill kunna löda dit ett expansionskort för t.e.x dom där radiomodulerna som ToPNoTCH tipsade om.
Längst ner i botten av kortet drog jag även fram ett par paddar för att kunna tappa ur den råa spänningen ifrån DC-Jacket. Kan ju vara bra å ha i fall den interna spänningsregulatorn skulle bli otillräcklig till framtida expansions byggen.

Samköps Info
Om vi utgår ifrån att intresset svalnat & vi bara blir 3st.
Då blir OSH billigast med sina 200kr/st, (förutsatt att tullen inte blandar sig i)
Korten får en mörklila lödmask & guldpläterade paddar.

Så hur många räcker upp handen för 200kr per mönsterkort?.
Skulle vi bli betydligt fler så kommer ju priset såklart att sjunka., men det är detta vi utgår från nu.
Frakten inom Sverige lär väll inte hamna på mer än en 50lapp skulle jag tro.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
ensten
EF Sponsor
Inlägg: 3759
Blev medlem: 19 oktober 2004, 15:55:20
Ort: Hudiksvall

Re: Fagges LED termometer

Inlägg av ensten »

Jag är på.
Användarvisningsbild
tecno
Inlägg: 27050
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Fagges LED termometer

Inlägg av tecno »

När i tid pratar vi om? Just nu ebb i kassan pga storservice på bilen med kamremsbyte etc....

Intresse finns för 2-3st men priset måste ner.

ps. tänk på att detta är ultimata jul klappen
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: Fagges LED termometer

Inlägg av victor_passe »

Påtal om ws2812, jag har drivit sådana (Klarar flera hundra leds) med uart på en PIC, funkar jättebra.
Har färdig kod om någon vill ha.
Kräver en pic med FOSC på 32MHz för 8bitarna eller 16MHz för 16/32bitar.
Uarten måste kunna köras på 4MBaud.

Så man kan köra på en PIC12f1840 (8 pinnars PIC), den klarar 100leds i 16bitars färg och 68 leds(1m slinga) i 24bitars färg.
thepirateboy
EF Sponsor
Inlägg: 2108
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: Fagges LED termometer

Inlägg av thepirateboy »

200kr ar ok for mig.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Fagges LED termometer

Inlägg av Micke_s »

victor_passe: hur driver du ws2812 med uart:en?
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: Fagges LED termometer

Inlägg av victor_passe »

skickar 2 bitar med 1 byte.

Dumpar lite kod

Kod: Markera allt

#include "ws2812.h"
#include "htc.h"

#ifdef RGB888
unsigned char pixels[NUMBER_OF_LEDS * 3];
#endif
#ifdef RGB565
unsigned char pixels[NUMBER_OF_LEDS * 2];
#endif

unsigned char reverse(unsigned char in) {
    in = ((in & 0xF0) >> 4) | ((in & 0x0F) << 4);
    in = ((in & 0xCC) >> 2) | ((in & 0x33) << 2);
    return ((in & 0xAA) >> 1) | ((in & 0x55) << 1);
}

#ifdef RGB888

RGB_TYPE getLed(unsigned char led) {
    RGB_TYPE rgb;
    rgb.G = pixels[led * 3 + 0];
    rgb.R = pixels[led * 3 + 1];
    rgb.B = pixels[led * 3 + 2];

    rgb.R = reverse(rgb.R);
    rgb.G = reverse(rgb.G);
    rgb.B = reverse(rgb.B);


    return rgb;
}

void setLed(unsigned char led, RGB_TYPE rgb) {
    rgb.R = reverse(rgb.R);
    rgb.G = reverse(rgb.G);
    rgb.B = reverse(rgb.B);

    pixels[led * 3 + 0] = rgb.G;
    pixels[led * 3 + 1] = rgb.R;
    pixels[led * 3 + 2] = rgb.B;
}

void setLeds() {
    unsigned char bitTable[4] = {0xEF, 0x0F, 0xE8, 0x08}, color;
    unsigned char gieState, leds = NUMBER_OF_LEDS;
    unsigned char *data = pixels;
    gieState = GIE;
    GIE = 0;
    while (leds--) {
        color = *data++;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color >>= 2;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color >>= 2;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color >>= 2;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color = *data++;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color >>= 2;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color >>= 2;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color >>= 2;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color = *data++;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color >>= 2;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color >>= 2;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
        color >>= 2;
        while (!TXIF);
        TXREG = bitTable[color & 0x03];
    }
    //Just delay
    for (color = 0; color < 150; color++);
    GIE = gieState;
}
#endif

#ifdef RGB565

RGB_TYPE getLed(unsigned char led) {
    RGB_TYPE rgb;
    unsigned short rgb565;
    rgb565 = pixels[led * 2 + 0];
    rgb565 |= pixels[led * 2 + 1] << 8;

    rgb565 = ((rgb.B & 0b00011111) << 11) | ((rgb.R & 0b00011111) << 6) | ((rgb.G & 0b00111111));

    rgb.G = rgb565 & 0b00111111;
    rgb.R = (rgb565 >> 6) & 0b00011111;
    rgb.B = (rgb565 >> 11) & 0b00011111;

    rgb.R = reverse(rgb.R);
    rgb.G = reverse(rgb.G);
    rgb.B = reverse(rgb.B);


    return rgb;
}

void setLeds() {
    const unsigned char bitTable[4] = {0xEF, 0xE8, 0x0F, 0x08};
    unsigned char gieState, leds = NUMBER_OF_LEDS;
    unsigned short rgb565;
    unsigned short *data = (unsigned short*) pixels;
    gieState = GIE;
    GIE = 0;
    while (leds--) {
        rgb565 = *data++;
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x03];
        rgb565 >>= 2;
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x03];
        rgb565 >>= 2;
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x03];
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x03];
        rgb565 >>= 2;
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x03];
        rgb565 >>= 2;
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x03];
        rgb565 >>= 2;
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x01];
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x01];
        rgb565 >>= 1;
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x03];
        rgb565 >>= 2;
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x03];
        rgb565 >>= 2;
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x01];
        while (!TXIF);
        TXREG = bitTable[rgb565 & 0x01];
    }
    //Just delay
    for (rgb565 = 0; rgb565 < 150; rgb565++);
    GIE = gieState;
}

void setLed(unsigned char led, RGB_TYPE rgb) {
    unsigned short rgb565;

    rgb.R = reverse(rgb.R);
    rgb.G = reverse(rgb.G);
    rgb.B = reverse(rgb.B);

    rgb565 = ((rgb.B & 0b00011111) << 11) | ((rgb.R & 0b00011111) << 6) | ((rgb.G & 0b00111111));

    pixels[led * 2 + 0] = ((rgb565)&0xFF);
    pixels[led * 2 + 1] = ((rgb565 >> 8)&0xFF);
}
#endif
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Fagges LED termometer

Inlägg av Micke_s »

victor_passe: Aha, så löser du start och stopbiten.
Skriv svar