Translate


Coppan



Kontakt

Status

    25:e Juni 2018

Kalender

« Juni 2018 »
M T O T F L S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

Dagens Namn

Senaste Cachar

2018-05-30 #812
Ödevata FTF
Av : Oscarsundas

2018-05-16 #811
Kattrumpan
Av : Helensfamily

2018-04-18 #810
Träna mera!
Av : Valkyria09

2018-04-13 #809
Svartbäcksmål...
Av : Saibotb

2018-04-13 #808
Dammen
Av : Saibotb

2018-04-13 #807
Avkopplingsplat...
Av : Ripan

2017-12-27 #806
Lunes TB-hotell
Av : Kulting62

2017-11-04 #805
Kyrkan på Häl...
Av : Joppen13

2017-11-04 #804
Bingorundan
Av : Joppen13

2017-11-04 #803
Gullaskruvs Fol...
Av : Joppen13

Idag 2011

2011-06-25 #241
Wellkom too Als...
Av : Delfinen

2011-06-25 #242
Järnvägsbron
Av : Delfinen

2011-06-25 #243
Kingdom of Crys...
Av : Anders o Inger

2008-06

2008-06-01 #4
Iåsavägen 2
Av : Ulfheim

2008-06-21 #1
Mor annas
Av : Ulfheim

2008-06-27 #2
Alsterbro Möbl...
Av : Ulfheim

2008-06-27 #3
Varggropen i Lu...
Av : Ulfheim

2009-06

2009-06-20 #82
Kvarnkullen
Av : Ripan

2009-06-27 #83
Mysinge hög
Av : Olandstoken

2009-06-27 #84
Landborgen
Av : Olandstoken

2009-06-27 #85
Glasrondellen
Av : Ripan

2010-06

2010-06-02 #146
Linneuniversite...
Av : Himmelskimmer

2010-06-04 #147
Flerohopps bruk...
Av : Ulfheim

2010-06-06 #148
Därtill nödd ...
Av : Himmelskimmer

2010-06-17 #149
Ängö Kvarters...
Av : akej

2010-06-23 #150
K-macken
Av : izzor

2011-06

2011-06-04 #231
Stadsparken
Av : Tigerstrand

2011-06-04 #232
Krusenstiernska...
Av : Tigerstrand

2011-06-05 #233
Varggropen
Av : Ripan

2011-06-05 #234
Domarring
Av : Ripan

2011-06-12 #235
Fröseke
Av : Ripan

2011-06-12 #236
Fikaplats
Av : Ripan

2011-06-12 #237
Flakeskeppet
Av : Ripan

2011-06-12 #238
Bro och breja
Av : Ripan

2011-06-12 #239
Glas i centrum
Av : Ripan

2011-06-12 #240
Väktare
Av : Ripan

2011-06-25 #241
Wellkom too Als...
Av : Delfinen

2011-06-25 #242
Järnvägsbron
Av : Delfinen

2011-06-25 #243
Kingdom of Crys...
Av : Anders o Inger

2012-06

2012-06-02 #462
Återvinningsst...
Av : Idadavid

2012-06-02 #463
Red
Av : Granlund

2012-06-16 #464
Strandnära
Av : Idadavid

2012-06-17 #465
SÖJ #1 segerst...
Av : Kina72

2012-06-19 #466
Kölby Kvarn
Av : Piloten62

2012-06-19 #467
Mur i skogen
Av : Siegrid und hans

2012-06-21 #468
LGC
Av : Granlund

2012-06-24 #469
Hagby kyrka
Av : Ripan

2012-06-24 #470
Spökvägen
Av : Kaplanen

2012-06-24 #471
Fridas grill
Av : Kaplanen

2012-06-28 #472
Klätterstenar
Av : Ripan

2013-06

2013-06-01 #596
Alvedsjöbodar
Av : Strannabjäringarna

2013-06-01 #597
Kristinelunds k...
Av : Strannabjäringarna

2013-06-01 #598
Eskilslunds kva...
Av : Strannabjäringarna

2013-06-01 #599
Vanborga Rastpl...
Av : Malaren

2013-06-01 #600
Dalby
Av : Team vojvoj

2013-06-06 #602
Vildsvinsfritt
Av : Ripan

2013-06-08 #603
Berghem Glasbru...
Av : Ripan

2013-06-09 #604
Grindslanten
Av : Ripan

2013-06-09 #605
Derasjö
Av : Joppen13

2013-06-23 #601
Hällkistan
Av : Hookway

2013-06-23 #606
Skitvägen
Av : Joppen13

2015-06

2015-06-29 #691
Trafikplats Kal...
Av : Piijjo

2016-06

2016-06-03 #765
Prästgårdsän...
Av : Piloten62

2016-06-03 #766
Camponotus herc...
Av : Eckeforsarna

2016-06-09 #767
å - syn
Av : Crilltit

2017-06

2017-06-07 #781
TB Cafe
Av : Canonym

Administratör

Bookmark and Share
Den 22:e Januari - 2017

Har haft ett par 433mhz sändare/mottagare liggandes sen länge men aldrig använt dom.
Tänkte jag skulle testa och se hur dom fungerar.

Hittade en lämplig antenn som jag lödde dit på sändarmodulen.



Mottagaren:



Modifierade koden till Arduinon som läser av alla tempmätare (7 stycken).
Just nu skickar jag bara ute tempen från givare 1 till en början.





Ser ut som om det fungerar.. Är en 1 grad ute just nu. Frågan är vad som händer när det är minus ute.
Fortsättning följer.

Tack till "Markus Ulfberg" som fick mig att fatta hur jag skulle tolka indatat.

Koden till mottagaren:
#include <VirtualWire.h>
#define RX_PIN 4

int times = 0;
long lasttime = 0;

void setup()
{
Serial.begin(9600);

vw_set_rx_pin(RX_PIN);
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_rx_start();
}

void loop()
{
unsigned long currenttime = millis();

uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;

if (vw_get_message(buf, &buflen))
{
char Sensor1CharMsg[4] = "";
long totaltime = (currenttime - lasttime) / 1000;
int i = 0, Sensor1Data = 0;

lasttime = millis();

for (i = 0; i < buflen; i++) Sensor1CharMsg[i] = char(buf[i]);

Sensor1CharMsg[buflen] = '\0';
Sensor1Data = atoi(Sensor1CharMsg);

Serial.print("Temp : ");
Serial.print(Sensor1Data);
Serial.println(" C");

if(times)
{
Serial.print(totaltime);
Serial.println(" seconds since last update.");
}

times++;
}
}
Arduinon postar värden varje minut, så jag verkar missa en del.



Den 22:e Januari - 2017

Gjorde en funktion och postar alla temp. givare.
Transmit_Data((int) round(TempC_1), 1);
Transmit_Data((int) round(TempC_2), 2);
Transmit_Data((int) round(TempC_3), 3);
Transmit_Data((int) round(TempC_4), 4);
Transmit_Data((int) round(TempC_5), 5);


Vilket ger följande:



Sensor 6 är utblåset i luftvärmepumpen, och 7 är tempen brevid pumpen. 1:an är utegivaren.

Värdena verkar trilla in väldigt sporadiskt, men förr eller senare så har jag fångat alla givarna.
Ska fixa koden så att tiden för uppdateringen motsvarar respektive givare.

Den 23:e Januari - 2017

Att få ut något vettigt från sändarn var inte det enklaste. Ändrade fördröjningen för varje givare
till 2 sekunder så mottagaren skulle hinna med.

I stället för:
sprintf(Send_Temp, "%d-%d", sender_id, send_data);
Som kunde ge "1-20". Så var det enklare att skicka allt som ett enda heltal.
sprintf(Send_Temp, "%d%d", sender_id, send_data);
Vilket ger "120" som är enklare att omvandla. Lär ju aldrig ha mer än 9 givare totalt.

Mottagar koden som den ser ut just nu. Fick omvandla datat tre gånger innan jag fick ut ett heltal.
#include <VirtualWire.h>
#define RX_PIN 4

long lasttime = 0;

void setup()
{
Serial.begin(9600);

vw_set_rx_pin(RX_PIN);
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_rx_start();
}

void loop()
{
unsigned long currenttime = millis();

uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;

if (vw_get_message(buf, &buflen))
{
char Sensor1CharMsg[5] = "", Value[5] = "", Sensor[5] = "", Temp[5] = "";
int Real_Temp = 0, Real_Sensor = 0, i = 0, Sensor1Data = 0;
long totaltime = (currenttime - lasttime) / 1000;

lasttime = millis();

for (i = 0; i < buflen; i++) Sensor1CharMsg[i] = char(buf[i]);

Sensor1CharMsg[buflen] = '\0';
Sensor1Data = atoi(Sensor1CharMsg); // Gör ett heltal av all mottaget data.
itoa(Sensor1Data,Value,10); // Gör en sträng av mottaget data.

sprintf(Sensor, "%c\0", Value[0]); // Filtrera ut vilken givare som skickat data.
sprintf(Temp, "%c%c\0", Value[1], Value[2]); // Filtrera ut tempen.

Real_Temp = atoi(Temp); // Gör om Tempen till ett heltal.
Real_Sensor = atoi(Sensor); // Gör om givare till ett heltal.

Serial.print("Sensor : ");
Serial.println(Real_Sensor);
Serial.print("Temp : ");
Serial.print(Real_Temp);
Serial.println(" C");
Serial.print(totaltime);
Serial.println(" seconds since last update.");
Serial.println("");
}
}
Kommentera gärna.

Den 23:e Januari - 2017

Lyxade till det lite och namngav givarna.
char* Sensor_Name[] = {"Hell", "Outside 1", "Outside 2", "Cellar", "Hallway",
"Attic", "Pump Out", "Pump In"};
---
Serial.print(Sensor_Name[Real_Sensor]);



Men varför ramlar värdena in så sporadiskt? Mätte tiden det tar för mottagaren att processa
ett värde.. 1-2 millisekunder.. Arduinon i källarn skickar max ett värde varannan sekund.

Sensor : 6 (Pump Out) Temp : 47 C
41 seconds since last update. This took 1.00 milliseconds to execute.
Men efter 77 sekunder så hade alla givarna rapporterat in. Så det är väl ok antar jag.
1
1
1
1
0
1
1

Total run time 75 seconds.

1
1
1
1
1
1
1

Total run time 77 seconds
Nästa försök gick inte lika bra.

1
1
1
1
1
1
1

Total run time 814 seconds.
Inte nästa heller.. Fast jag ökat sänd intervallen till 4 sekunder.
1
1
1
1
1
1
1

Total run time 317 seconds.



Den 24:e Januari - 2017

Måste få ut sändarn lite från väggen.



Lödde på 2 meter telefonkabel plus en lysdiod så man ser när den arbetar.
Verkade inte påverka räckvidden någonting.

Just nu så kör bara Arduinon en loop som checkar mottagaren.
Knappast användbar till något annat just nu.. Hittade en intressant funktion som kollar i fall någonting kommit in. Har det det gjort det så kör vi nått annat tills det trillar in nåt.





Ett avbrott i koden på 65 millisekunder (0.065 sekunder).

Men då trixade o fixade jag ju med en massa annat också. Strippar man koden och plockar bort all debug info så lär tiden sjunka till hälften.



Den 24:e Januari - 2017

Allt funkar stabilt som tusan. Dacks att börja göra nåt med kul det.





Min "friendly clock" ide' fick nya höjder.

Sätta alarmet på klockan efter tempen ute? Varna om luftvärmepumpen stannar? Visa aktuell strömförbrukning?

Tänkte bygga något som samlar ihop all data om Temperaturer, Luftfuktighet, lufttryck, Vindhastighet
som jag samlar och visar det på ett snyggt sätt.

Den 25:e Januari - 2017

En sändare till fixad plus klockmodulen med alarm sirenen.



Version 2:



Den 26:e Januari - 2017

Givetvis så sket det sig vid minus grader. Var det under 0:an så blev det alltid 0 grader.
Sensor : 1 (Outside 1) Temp : 0 C
74 seconds since last update. This took 3.00 milliseconds to execute.
Tillbaks till ritbordet.
Fick Ändra lite på sändarkoden. La till ett värde.. "0" = Minus och "1" = Plus.

if(TempC_5 < 0) Transmit_Data((int) round(TempC_5), 5, 0);
else Transmit_Data((int) round(TempC_5), 5, 1);
Och konvertera värdet att alltid vara ett positivt.
void Transmit_Data(int send_data, int sender_id, int negpos)
{
sprintf(Send_Temp, "%d%d%d", sender_id, negpos, abs(send_data));

vw_send((uint8_t *)Send_Temp, strlen(Send_Temp));
vw_wait_tx();
}
Enklaste sättet att konvertera till minusvärde måste vara:
if(Real_NegPos == 0) Real_Temp = Real_Temp - Real_Temp - Real_Temp;
Så nu visas korrekt plus/minus.
Sensor : 1 (Outside 1) Temp : -4 C
74 seconds since last update. This took 3.00 milliseconds to execute.
En liten bieffekt blev att jag kan både få "+0" och "-0". Laugh



All data skickas nu två ggr. Så nu uppdateras alla givare inom 10 minuter.
Har ~30 sek. kvar i cyclen innan data måste postas till webservern, så jag skulle kunna skicka det
3 ggr. Men det duger så länge.

Den 27:e Januari - 2017

Alias ärke och jag tog en runda till biltema efter jobbet i dag.



Letade efter en låda för min "Friendly Clock 2.0".. Trodde inte displayen skulle få plats i denna. Men
det visade sig att det kommer bli kloppeti.

Det som är kvar är att få till barometern som visar lufttrycket, och kanske en temp. givare + luftfuktighetsmätare där den står.

Har ju en DHT21:a liggandes.. Så efter lite pulande..
int DHT_get_moist(void)
{
int moist = round(dht.readHumidity());
return(moist);
}

int DHT_get_temp(void)
{
int temp = round(dht.readTemperature());
return(temp);
}


sprintf(string, "- Luftfuktighet %d - Temp %d C - ", DHT_get_moist(), DHT_get_temp());


Den 28:e Januari - 2017

Kompletterade med en barometer för att kunna läsa av lufttrycket.



Och vindmätarn så klart..



Kan inte komma på fler saker som jag vill mäta eller visa.

Den 30:e Januari - 2017

Bakslag.. La hela kvällen på att försöka fixa till en Nano i stället för en Mega.
Nanon kostar typ 10:-. Megan 60:- kanske.





Visade sig att Nanons minne inte räckte till.. Bla musiken och alla bibliotek för givarna sög musten ur den.
Och jag vill kunna presentera mer data eller häkta på fler givare än jag har nu.
En bortkastad kväll..



Tillbaks till ruta 1 igen.
Sitter o funderar på om jag ska skita i radion och bara använda ett nätverkskort. Med Megan så
har jag hur många portar som helst att leka med.
Och då kan jag plocka precis vilken data jag vill.. I realtid dessutom..

Den 3:e Februari - 2017

Rätt coolt med gamla analoga mätare. Eftersom jag satte en sändare i källaren så kan jag
snappa upp signalen i hela huset.

Slängde ihop ännu en mottagare.



Visar tempen i hallen (vänster) och vad luftpumpen ligger på i effekt för tillfället (höger) .

Den 4:e Februari - 2017

Dax att börja med lådan.


Fasen att min "dremel" vände vitbuk.. Hade varit så mycket enklare med den.



Färdigt hål.




Den 5:e Februari - 2017

Färdig.. Friendly Clock 2.0.. > 700 rader kod senare.


Visar temperaturer/luftfuktighet utomhus, källarn, uppe, och på vinden + antal dagar till lön.
Eller citat från skogstok om dagarna till lön är < 7.

Varnar om pumpen inte ger tillräcklig effekt, om barometern visar på oväder, eller om vindhastigheten
är hög.

Blinkar blått om det är minusgrader ute varje sekund.

Spelar en truddelutt från "Mario Bros." varje hel och halvtimme.
Undrar vad nästa projekt blir..

Den 6:e Februari - 2017

OK.. Så nu har jag en pryl på väggen som kan visa precis vad jag vill..

Enkel påminnelse för sophämtning kanske?

Skapa en tvådimensions array på månader * dagar.
int Calendar[12][31] = {};
Fyll dagarna som ksrr kommer med 1:er.
Calendar[1][7] = 1;
Calendar[1][21] = 1;
Calendar[2][7] = 1;
Calendar[2][21] = 1;
Calendar[3][7] = 1;
Calendar[3][21] = 1;
Calendar[4][4] = 1;
Calendar[4][18] = 1;
Calendar[5][2] = 1;
Calendar[5][16] = 1;
Calendar[5][30] = 1;
Calendar[6][13] = 1;
Calendar[6][27] = 1;
Calendar[7][11] = 1;
Calendar[7][25] = 1;
Calendar[8][8] = 1;
Calendar[8][22] = 1;
Calendar[9][5] = 1;
Calendar[9][19] = 1;
Calendar[10][3] = 1;
Calendar[10][17] = 1;
Calendar[10][31] = 1;
Calendar[11][14] = 1;
Calendar[11][28] = 1;
Calendar[12][12] = 1;
Calendar[12][26] = 1;
Kolla dagens datum +1 och skriv ut på ledremsan.
if (Calendar[month()][day()+1] == 1)
{
sprintf(string,"%sSophamtning i morrn!%s", Fill, Fill);
printStringWithShift(string, very_high_speed);
}
Finns säkert smidigare sätt, men detta var nog det enklaste.

Sen kan man väl lyxa till det lite och göra en kalender som funkar på allt.
int Calendar[12][31] = {};
char* Calendar_Desc[12][31] = {};

Calendar[9][19] = 1;
Calendar_Desc[9][19] = "I morrn fyller Kattfaen ar";

if (Calendar[month()][day()+1] == 1)
{
sprintf(string,"%s%s%s", Fill, Calendar_Desc[month()][day()+1], Fill);
printStringWithShift(string, very_high_speed);
}
Eller bara sätta beskrivningen och kolla om värdet är satt borde också funka.
Calendar_Desc[9][19] = "Kattfaen fyller ar.";

if (Calendar_Desc[month()][day()+1])
{
sprintf(string,"%sI morgon: %s%s", Fill, Calendar_Desc[month()][day()+1], Fill);
printStringWithShift_NO(string, very_high_speed);
}
else if (Calendar_Desc[month()][day()])
{
sprintf(string,"%sI dag: %s%s", Fill, Calendar_Desc[month()][day()], Fill);
printStringWithShift_NO(string, very_high_speed);
}
Får bli det sista...



Den 6:e Februari - 2017

Med kalender och påminnelser.





Den 13:e Februari - 2017

Över 1200 rader kod senare...
Projekt "Friendly clock" ser sitt slut. Kan inte komma på mer info jag vill samla eller visa.

Varnar vid hög vindhastighet.
Varnar om barometertrycket faller >= 6 mb inom en timme.
Varnar om barometern visar regn eller snö.
Varnar om luftpumpen inte ger tillräcklig effekt/stannat.
Varnar om internet ligger nere.
Varnar om utetempen sjunker >= 5 C inom en timme.

Visar högtider och viktiga dagar som sophämtning, födelsedagar tex.
Visar Temperaturer ute, i källarn, uppe, och på vinden.
Visar luftfuktighet i källarn, uppe och på vinden.
Visar barometertryck nu och förra timmens.
Visar alla senaste värden och alla föregående så man kan se om dom höjs eller sjunker.
Visar max/min värden på ute/inne tempen per månad.
Visar luftpumpens uteffekt i procent + In/ut temp till pumpen och diffen mellan de båda.
Visar max/min barometer tryck per månad.
Visar slumpade citat från skogstok :-)
Visar dagar kvar till lön, om dagar < 5 :-)

Displayen dimmas och högtalaren/sirenen stängs av på natten så den inte stör.
Blinkar grönt eller blått varje sekund för +/- grader ute, eller rött vad larm.
Sparar alla data till minnet så den tål en omstart.
Varje hel/halv timme så spelar den en truddelutt från mario bros.
Month 2
Coldest month out 1-
Warmest month out 0+
Coldest month In 18
Warmest month In 22
Airpump 100 %
Last Barometer 1038
Barometer Now 1038

Tomorrow: Alla hjartans dag

Sensor 1 = -1
Sensor 2 = +0
Sensor 3 = +9
Sensor 4 = +23
Sensor 5 = +5
Sensor 6 = +48
Sensor 7 = +24
Sensor 8 = +70
Sensor 9 = +52



Den 28:e Februari - 2017

Tillbaks på file' bänken.



För nostalgikänslan och imponansvärdet.



Visar ute tempen till vänster och till höger antingen luftpumpens effekt (om vinter) eller luftfuktigheten i källarn (om sommar).

Gjorde väl 10-20 andra ändringar och justeringar också, så nu känner jag mig snart nöjd med den.
Got fake transmit! (172)

21:38 - Sensor : 9 (Attic HUM) Value : 51
63 seconds since last update. 000000001
Får mycket skräp tillbaks.. Men det Har nog mest att göra med avståndet och störningar.


Den 1:e Mars - 2017

Fixade lite konstigheter och bytte mätarn. Det gröna matchar pumpens ut temp. Och skalar passar
rätt bra för att visa luftfuktigheten i källarn.



Kärlek.. cool Saknas bara nån snygg inramning. Ekorrehjulet har snurrat ett 305:e dels varv till.

Den 5:e April - 2018

Vindvarnararen till min "Friendly-Clock" fick nya vingar.
Kina plast och sol verkar inte trivas ihop.





Bonusbild.. Granlund von der heest (Alias Ärke) in action.



Comments powered by Disqus
A CkWare Production. Copyright 1996 - 2018. NightMode - Where Do You Wanne Sleep Tonight?
Sidan tog 0,67 sekunder att skapa.