Jump to content

Behydro

Medlemmer
  • Content Count

    901
  • Joined

  • Last visited

Community Reputation

4 :)

About Behydro

  • Birthday 04/13/1982

Profile Information

  • Kjønn
    Mann
  1. Kult prosjekt, holder på med noe tilsvarende, skal ha meg ny telefon på kontoret. Skal bruke en telefon av litt eldre type uten nummer skive, men med sveiv. Planen er å sette inn en bluetooth modul og koble den opp mot mobilen, kan ikke bruke telefonen til å slå nummer med, men skal ta den når man løfter opp røret og skal se om jeg får klokkene til å ringe når mobilen ringer Skal bruke en slik modul http://www.dx.com/p/bluetooth-csr-bc57e687c-flash-module-269012#.Vtfkw5wrJjE - Edit: Bommet litt på linken der ja......
  2. Behydro

    Last celle

    Bingo! Der har vi bra utvalg Takker og bukker
  3. Behydro

    Last celle

    Var kanskje litt vag. Fornuftig pris vil jeg mene er rund 500kr stk Temp ned i minus 30 grader Juling, tja.... Sleng den i bakken fra 1 meters høgde, fille riste den og miste den ned i snø Er ikke høy presisjon måleutstyr jeg er ute etter og derfor ønsker relativt billig utstyr nå i første gang til prototype, så Kina produkter å foretrekke. Har kikket rund på DX men ikke funnet noe så langt Begynner å nærme seg med denne http://www.dhgate.com/product/5kg-20kg-s-type-hopper-scale-industrial-weighing/142768267.html#s3-10-1|2488516863
  4. Behydro

    Last celle

    Jeg skal måle trekk kraft i ett prosjekt jeg har gående, måleområde 0 til ca 50kg. Må tåle en del juling og kaldt miljø. Noen som vet om en leverandør som har noe slikt til en fornuftig pris?
  5. Ett kilo stål: en liter, ett kilo isopor: en liter..... Liker ideen din, har selv ett karbon skrog på 2 meter, står to 24V elektromotorer på 350W i den, men er inne på tanken på å sette inn en 5hk påhengsmotor samt bygge om fra flat bunn til V skrog. Er ikke så vanskelig å lage det selv, du kan bygge en form av isopor/ skum/ tre og så kle den med karbon/ glass fiber og epoxy. Så peller du bare vekk formen og får laget en gel coat på yttersiden..... Kjøp for eks en slik båt http://biltema.no/no/Fritid/Lek-og-hobby/Radiostyrt/Modeller/RC-bat-med-elmotor-45741/ og skaler den opp
  6. Ja de fra Clas/ Jula er lovlig, men husk om du skal installere de på bad eller på ute lamper så må du ha topolt brudd i tillegg, bare la den gamle bryteren stå igjen og så koble du den fjernstyrte etter denne. Andre som elsker slikt for ta seg av formaningen om fagfolk og slikt... (Ja, jeg har lov selv)
  7. Tenkte trappe funksjonen min trenger en liten forklaring, den ble litt tungvint men jeg ville forsikre meg at så lenge en av sensorene er aktivert så skal lyset ikke slå seg av. Er litt trist vist man først aktiverer den nede, så holder man på med noe oppe og lyset slår seg av når sensoren nede timer ut. Lys styrken er basert på om det er natt eller dag, trenger ikke så mye lys på kvelden. Tenkte jeg skulle også legge til funksjon som kun setter på lyset 5-10% på gang og bad når huset står i "nattmodus" Som en ekstra piff på trappen så kan jeg velge om lyset skal slå seg av eller dimme til 25% når der ikke er noe bevegelse, jeg foretrekker at der er litt lys borte ved trappen på kvelden. //********************Trapp loft -> Hovedetasje******************** if (strcmp(serialReadString, bevegelseTrappLoftHovedOppeOn) == 0) { bevegelseLoft1 = 1; loftTrapp(); } if (strcmp(serialReadString, bevegelseTrappLoftHovedOppeOff) == 0) { bevegelseLoft1 = 0; loftTrapp(); } if (strcmp(serialReadString, bevegelseTrappLoftHovedNedeOn) == 0) { bevegelseLoft2 = 1; loftTrapp(); } if (strcmp(serialReadString, bevegelseTrappLoftHovedNedeOff) == 0) { bevegelseLoft2 = 0; loftTrapp(); } void loftTrapp () { if (bevegelseLoft1 + bevegelseLoft2 > 0) { if (day == 0) { mySerial.println(swTrappLoftHovedDim50); lcd.setCursor(0, 1); lcd.print("Trapp LH ON 50%"); //Serial.println("Trapp LH ON 50%"); } if (day == 1) { mySerial.println(swTrappLoftHovedDim75); lcd.setCursor(0, 1); lcd.print("Trapp LH ON 75%"); //Serial.println("Trapp LH ON 75%"); } } if (bevegelseLoft1 + bevegelseLoft2 < 1) { if (bryterLoft == 0) { mySerial.println(swTrappLoftHovedOff); lcd.setCursor(0, 1); lcd.print("Trapp LH Off"); //Serial.println("Trapp LH Off"); } if (bryterLoft == 1) { mySerial.println(swTrappLoftHovedDim25); lcd.setCursor(0, 1); lcd.print("Trapp LH ON 25%"); //Serial.println("Trapp LH ON 25%"); } } }
  8. Behydro

    Loddestasjon

    Har denne jeg også, er fornøyd med den til å lodde elektronikk og små ledninger, skal jeg lodde store kabler bruker jeg gorvere loddebolt eller gass....
  9. Noen bilder fra DomoticHome, ikke modifisert utgave. Vanligvis vises ikke menyen under, men fikk ikke til å ta screenshot uten....
  10. MultiTrx kommer med FT232 chip noe som jeg ikke trenger, men for å lett kunne koble den til PC har jeg ikke tatt den vekk, men koblet ledninger på to punkt på kortet slik jeg kommer rett på RX TX til microkontrolleren. Denne er på 3.3V mens Arduinoen min er 5V så litt triksing måtte til for å få kom til å funke. Jeg kjører software serial på Arduinoen. Jeg har også et LCD display som viser telegram som kommer inn, hva funskjoner som har blitt trigget og temp lesningene. Fungerer fint for enkel debugging siden serie porten er opptatt med kommunikasjonen til DomoticHome. Når jeg får Ethernet shield begynner morroa med å tilpasse koden.... På laptopen som er tilkoblet Arduinoen kjører jeg ComFoolery for å bridge Com port og en Ethernet port, fungerer som smurt!
  11. Tenkte det var geit å dele opp litt På "power" siden så har jeg brukt sendere og mottakere fra Nexa og Waveman kjøpt på Clas og Jula. Waveman kjøpte jeg hovedsaklig fordi de skulle selge ut alt på clas med 50% rabatt, ulempen med de er at jeg klarer ikke å dimme de, kun av og på På Nexa siden så bruker jeg http://www.clasohlso...px?id=165894303 http://www.clasohlso...px?id=165060201 http://www.clasohlso...px?id=165064917 http://www.clasohlso...px?id=165065184 http://www.clasohlso...px?id=165065088 http://www.jula.no/f...-pakning-408028 http://www.jula.no/ir-sensor-408027 Temp sensoren er: http://www.clasohlso...px?id=154374067
  12. Har holdt på en stund nå med å lage lys styring i heimen og tenkte at det var vel på tide å legge opp litt her og få litt feedback og tips på kodingen. Morroa begynte med at jeg kjøpt en MultiTrx fra mr. Skagemo http://skagmo.gotdns...trx_productpage https://www.diskusjon.no/index.php?showtopic=1269805&view=findpost&p=16373715 Han har laget egen server og interface men jeg ville gjøre det litt anerledes, nemlig ha en Arduino som tar seg av alle auto funksjoner, routing og interface mot Android. Jeg kan og skrive kode men jeg er ingen programmerer, derfor gjør jeg sikkert ting litt tungvint og ikke på letteste måte, men forum er jo en perfekt måte å få feedback og tips på. Så langt har jeg styring på: spot stue, lampe stue, akvarium, trapp til kjeller, trapp til loft, bad og soverom. Skal snart få fikset kjøkken og utelys. Jeg har ikke funnet opp kruttet på nytt, men hentet ideer og kode fra andre som pusler med det samme og tilpasset det mitt eget bruk. På HW siden så har jeg som sagt en MultiTrx som kommuniserer med div Nexa og Wavemann utstyr, samt en Esic temp transmitter. Dette er koblet til en laptop som bridger com port til ethernet port. Jeg har bestilt ethernet shield slik jeg får vekk helt laptopen og telefonenen kommuniserer direkte med Arduinoen, en Nano som står der nå, kan hende den blir byttet ut med en 2560. På telefonene så kjører jeg DomoticHome, ennå orginal software men jobber på å tilpasse den. http://www.domotichome.net/ Denne siden autogenererer koden til Arduino, flott utgangspunkt å bygge videre på. Har møtt litt veggen nå, koden begynner å opprøre seg litt rart og jeg misstenker at jeg bruker for mye ram. En av de tingene jeg ser er at Serial.print failer ofte, spesiellt i "GET /?out=all" Så langt har jeg kommet meg unna problemet ved å kjøre Serial.print fra EEPROM men for å løse problemet tror jeg må gå vekk i fra å definere telegramene som string og bare sette de rett i koden.... Hvis ikke noen andre har en bedre løsning Er masse rusk i koden og en del test funksjoner men det er no normalt i et prosjekt under utvikling #include &--#60;SoftwareSerial.h&--#62; #include &--#60;LiquidCrystal.h&--#62; //const char hellostr[] PROGMEM = "{\"ip\" : \"192.168.2.248\", \"devices\" : [{ \"type\" : \"light\", \"name\" : \"TV Stue\", \"out\" : \"30\"},{ \"type\" : \"light\", \"name\" : \"Spise stue\", \"out\" : \"31\"},{ \"type\" : \"Plug\", \"name\" : \"Sofalampe\", \"out\" : \"32\"},{ \"type\" : \"Plug\", \"name\" : \"Tusle\", \"out\" : \"33\"},{ \"type\" : \"Plug\", \"name\" : \"Fiskane\", \"out\" : \"34\"},{ \"type\" : \"light\", \"name\" : \"Kjeller\", \"out\" : \"35\"},{ \"type\" : \"gate\", \"name\" : \"Stue25%\", \"out\" : \"40\"},{ \"type\" : \"gate\", \"name\" : \"Stue50%\", \"out\" : \"41\"},{ \"type\" : \"gate\", \"name\" : \"Stue75%\", \"out\" : \"42\"},{ \"type\" : \"gate\", \"name\" : \"Stue100%\", \"out\" : \"43\"},{ \"type\" : \"gate\", \"name\" : \"Godnatt\", \"out\" : \"44\"}]}"; SoftwareSerial mySerial(6, 7); //6 TX fra kontroller til MultiTRX LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //********************Variables******************** int day = 1; int bevegelseLoft1 = 0; int bevegelseLoft2 = 0; int bryterLoft = 0; String readString = String(30); char p_buffer[80]; #define P(str) (strcpy_P(p_buffer, PSTR(str)), p_buffer) //********************Adresses******************** //Test char testOn[] = "$N16349B2021"; char testOff[] = "$N16349B2020"; //Dusk/dawn sensor char fotocelleOn[] = "$N13D60E2091"; //Natt, lys på char fotocelleOff[] = "$N13D60E2090"; //Dag, lys av //PIR utenfor inngansparti char bevegelseInngangspartiOn[] = "0"; char bevegelseInngangspartiff[] = "0"; //Soverom stort Waveman char soveromStortOn[] = "$WB021"; char soveromStortOff[] = "$WB020"; //Bad loft char badLoftOn[] = "$N1670FD2091"; char badLoftOff[] = "$N1670FD2090"; //Trapp loft -&--#62; Hovedetasje software ID char swTrappLoftHovedOn[] = "$N1A536C2091"; char swTrappLoftHovedOff[] = "$N1A536C2090"; char swTrappLoftHovedDim25[] = "$N1A536C20924"; char swTrappLoftHovedDim50[] = "$N1A536C20928"; char swTrappLoftHovedDim75[] = "$N1A536C2092C"; char swTrappLoftHovedDim100[] = "$N1A536C2092F"; //PIR Loft gang char bevegelseTrappLoftHovedOppeOn[] = "$N1B4C2A2091"; char bevegelseTrappLoftHovedOppeOff[] = "$N1B4C2A2090"; //PIR Trapp loft -&--#62; Hovedetasje char bevegelseTrappLoftHovedNedeOn[] = "$N1B536C2091"; char bevegelseTrappLoftHovedNedeOff[] = "$N1B536C2090"; //Tv stue dimmer char tvStueOn[] = "$N1B714220B1"; char tvStueOff[] = "$N1B714220B0"; char tvStueDim25[] = "$N1B714220B24"; char tvStueDim50[] = "$N1B714220B28"; char tvStueDim75[] = "$N1B714220B2C"; char tvStueDim100[] = "$N1B714220B2F"; //Spise stue dimmer char spiseStueOn[] = "$N1B714220A1"; char spiseStueOff[] = "$N1B714220A0"; char spiseStueDim25[] = "$N1B714220A24"; char spiseStueDim50[] = "$N1B714220A28"; char spiseStueDim75[] = "$N1B714220A2C"; char spiseStueDim100[] = "$N1B714220A2F"; //Lampe bak sofa char lampeBakSofaOn[] = "$N157C852001"; char lampeBakSofaOff[] = "$N157C852000"; //Lys Skilpadde akvarium char lysSkilpaddeOn[] = "$N157C852011"; char lysSkilpaddeOff[] = "$N157C852010"; //Lys Fisk Akvarium char lysFiskOn[] = "$N157C852021"; char lysFiskOff[] = "$N157C852020"; //Trapp hovedetasje -&--#62; kjeller char trappHovedKjellerOn[] = "$WB011"; char trappHovedKjellerOff[] = "$WB010"; //********************Transmitters******************** //Esic temp sample //$E1,1,4.4,44,0 //Nexa remote 1 /* 1: OFF $N157C852000 ON $N157C852001 Lampe bak sofa 2: OFF $N157C852010 ON $N157C852011 Skilpadde akvarium 3: OFF $N157C852020 ON $N157C852021 Fiske akvarium */ //Nexa remote 2 /* 1: OFF $N16349B2000 ON $N16349B2001 Lampe bak sofa 2: OFF $N16349B2010 ON $N16349B2011 Skilpadde akvarium 3: OFF $N16349B2020 ON $N16349B2021 Fiske akvarium All off: $N16349B2100 */ boolean n = false; void setup() { digitalWrite(6, LOW); pinMode(13, OUTPUT); Serial.begin(9600); mySerial.begin(9600); lcd.begin(20, 4); lcd.setCursor(0, 0); lcd.print("MultiTRX"); pinMode(10, INPUT); } void loop() // run over and over { serialReader(); androidInterface(); //serialEcho(); //force(); //test(); } void test(){ if (digitalRead(10) == true) { n = true; } else { n = false; } if (n == true) { mySerial.println(lampeBakSofaOn); } else { mySerial.println(lampeBakSofaOff); } delay(5000); } /*void force () { digitalWrite(13, HIGH); mySerial.println("$N16349B2021"); delay(2000); digitalWrite(13, LOW); delay(1000); }*/ /* void serialEcho (){ if (mySerial.available()) Serial.write(mySerial.read()); if (Serial.available()) mySerial.println(Serial.read()); } */ void serialReader(){ int makeSerialStringPosition; int inByte; char serialReadString[50] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; const int terminatingChar = 10; //Terminate lines with CR inByte = mySerial.read(); makeSerialStringPosition=0; if (inByte &--#62; 0 && inByte != terminatingChar) { //If we see data (inByte &--#62; 0) and that data isn't a carriage return delay(100); //Allow serial data time to collect (I think. All I know is it doesn't work without this.) while (inByte != terminatingChar && mySerial.available() &--#62; 0){ // As long as EOL not found and there's more to read, keep reading serialReadString[makeSerialStringPosition] = inByte; // Save the data in a character array makeSerialStringPosition++; //Increment position in array //if (inByte &--#62; 0) Serial.println(inByte); // Debug line that prints the charcodes one per line for everything recieved over serial inByte = mySerial.read(); // Read next byte } //Serial.println(inByte); if (inByte == terminatingChar) //If we terminated properly { serialReadString[makeSerialStringPosition] = 0; //Null terminate the serialReadString (Overwrites last position char (terminating char) with 0 //Serial.println(serialReadString); //lcd.clear(); lcd.setCursor(0, 0); lcd.print(" "); lcd.setCursor(0, 0); lcd.print(serialReadString); //********************Dusk/Dawn flagg******************** if (strcmp(serialReadString, fotocelleOff) == 0) { day = 1; lcd.setCursor(0, 1); lcd.print("Fotocelle Dag"); //Serial.println("Fotocelle Dag"); } if (strcmp(serialReadString, fotocelleOn) == 0) { day = 0; lcd.setCursor(0, 1); lcd.print("Fotocelle Natt"); //Serial.println("Fotocelle Natt"); } //********************Trapp loft -&--#62; Hovedetasje******************** if (strcmp(serialReadString, bevegelseTrappLoftHovedOppeOn) == 0) { bevegelseLoft1 = 1; loftTrapp(); } if (strcmp(serialReadString, bevegelseTrappLoftHovedOppeOff) == 0) { bevegelseLoft1 = 0; loftTrapp(); } if (strcmp(serialReadString, bevegelseTrappLoftHovedNedeOn) == 0) { bevegelseLoft2 = 1; loftTrapp(); } if (strcmp(serialReadString, bevegelseTrappLoftHovedNedeOff) == 0) { bevegelseLoft2 = 0; loftTrapp(); } /* if (bevegelseLoft1 + bevegelseLoft2 &--#62; 0) { if (day == 0) { mySerial.println(swTrappLoftHovedDim50); lcd.setCursor(0, 1); lcd.print("Trapp LH ON 50%"); //Serial.println("Trapp LH ON 50%"); } if (day == 1) { mySerial.println(swTrappLoftHovedDim75); lcd.setCursor(0, 1); lcd.print("Trapp LH ON 75%"); //Serial.println("Trapp LH ON 75%"); } } if (bevegelseLoft1 + bevegelseLoft2 &--#60; 1) { if (bryterLoft == 0) { mySerial.println(swTrappLoftHovedOff); lcd.setCursor(0, 1); lcd.print("Trapp LH Off"); } if (bryterLoft == 1) { mySerial.println(swTrappLoftHovedDim25); lcd.setCursor(0, 1); lcd.print("Trapp LH ON 25%"); } } */ //********************Lesing av ute temp******************** if (strncmp(serialReadString, "$E1,1,4.4,44,0", 5) == 0) { lcd.setCursor(0, 3); lcd.print("Ute temp: "); if (strncmp(serialReadString, "$E1,1,4.4,44,0", 7) == 0) { for(int x = 0; x &--#60; 3; x++) { lcd.print(serialReadString[x + 6]); //Serial.print(serialReadString[x + 6]); } lcd.print("C "); //Serial.print("C "); for(int x = 0; x &--#60; 2; x++) { lcd.print(serialReadString[x + 10]); //Serial.print(serialReadString[x + 10]); } lcd.print("%"); //Serial.println("%"); } else { for(int x = 0; x &--#60; 4; x++) { lcd.print(serialReadString[x + 6]); //Serial.print(serialReadString[x + 6]); } lcd.print("C "); //Serial.print("C "); for(int x = 0; x &--#60; 2; x++) { lcd.print(serialReadString[x + 11]); //Serial.print(serialReadString[x + 11]); } lcd.print("%"); //Serial.println("%"); } } } delay(20); } } void loftTrapp () { if (bevegelseLoft1 + bevegelseLoft2 &--#62; 0) { if (day == 0) { mySerial.println(swTrappLoftHovedDim50); lcd.setCursor(0, 1); lcd.print("Trapp LH ON 50%"); //Serial.println("Trapp LH ON 50%"); } if (day == 1) { mySerial.println(swTrappLoftHovedDim75); lcd.setCursor(0, 1); lcd.print("Trapp LH ON 75%"); //Serial.println("Trapp LH ON 75%"); } } if (bevegelseLoft1 + bevegelseLoft2 &--#60; 1) { if (bryterLoft == 0) { mySerial.println(swTrappLoftHovedOff); lcd.setCursor(0, 1); lcd.print("Trapp LH Off"); //Serial.println("Trapp LH Off"); } if (bryterLoft == 1) { mySerial.println(swTrappLoftHovedDim25); lcd.setCursor(0, 1); lcd.print("Trapp LH ON 25%"); //Serial.println("Trapp LH ON 25%"); } } } //********************Android Interface******************** void androidInterface() { if (Serial.available()) { char c = Serial.read(); if (readString.length() &--#60; 30) { readString = readString + c; } if (c == '\n') { Serial.println(P("HTTP/1.1 200 OK")); Serial.println((P"Content-Type: text/html")); Serial.println(); if(readString.startsWith("GET /?out=30&status=1")) { mySerial.println(tvStueOn); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"30\"}")); } if(readString.startsWith("GET /?out=30&status=0")) { mySerial.println(tvStueOff); Serial.print(P("{\"status\" : \"0\" , \"out\" : \"30\"}")); } if(readString.startsWith("GET /?out=31&status=1")) { mySerial.println(spiseStueOn); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"31\"}")); } if(readString.startsWith("GET /?out=31&status=0")) { mySerial.println(spiseStueOff); Serial.print(P("{\"status\" : \"0\" , \"out\" : \"31\"}")); } if(readString.startsWith("GET /?out=32&status=1")) { mySerial.println(lampeBakSofaOn); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"32\"}")); } if(readString.startsWith("GET /?out=32&status=0")) { mySerial.println(lampeBakSofaOff); Serial.print(P("{\"status\" : \"0\" , \"out\" : \"32\"}")); } if(readString.startsWith("GET /?out=33&status=1")) { mySerial.println(lysSkilpaddeOn); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"33\"}")); } if(readString.startsWith("GET /?out=33&status=0")) { mySerial.println(lysSkilpaddeOff); Serial.print(P("{\"status\" : \"0\" , \"out\" : \"33\"}")); } if(readString.startsWith("GET /?out=34&status=1")) { mySerial.println(lysFiskOn); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"34\"}")); } if(readString.startsWith("GET /?out=34&status=0")) { mySerial.println(lysFiskOff); Serial.print(P("{\"status\" : \"0\" , \"out\" : \"34\"}")); } if(readString.startsWith("GET /?out=35&status=1")) { mySerial.println(trappHovedKjellerOn); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"35\"}")); } if(readString.startsWith("GET /?out=35&status=0")) { mySerial.println(trappHovedKjellerOff); Serial.print(P("{\"status\" : \"0\" , \"out\" : \"35\"}")); } if(readString.startsWith("GET /?out=36&status=1")) { mySerial.println(soveromStortOn); Serial.print(P("{\"status\" : \"0\" , \"out\" : \"36\"}")); } if(readString.startsWith("GET /?out=36&status=0")) { mySerial.println(soveromStortOff); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"36\"}")); } if(readString.startsWith("GET /?out=37&status=1")) { mySerial.println(badLoftOn); Serial.print(P("{\"status\" : \"0\" , \"out\" : \"37\"}")); } if(readString.startsWith("GET /?out=37&status=0")) { mySerial.println(badLoftOff); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"37\"}")); } if(readString.startsWith("GET /?out=38&status=1")) { bryterLoft = 1; Serial.print(P("{\"status\" : \"1\" , \"out\" : \"38\"}")); } if(readString.startsWith("GET /?out=38&status=0")) { bryterLoft = 0; Serial.print(P("{\"status\" : \"0\" , \"out\" : \"38\"}")); } if(readString.startsWith("GET /?out=40&status=1")) { mySerial.println(tvStueDim25); mySerial.println(spiseStueDim25); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"40\"}")); } if(readString.startsWith("GET /?out=41&status=1")) { mySerial.println(tvStueDim50); mySerial.println(spiseStueDim50); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"41\"}")); } if(readString.startsWith("GET /?out=42&status=1")) { mySerial.println(tvStueDim75); mySerial.println(spiseStueDim75); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"42\"}")); } if(readString.startsWith("GET /?out=43&status=1")) { mySerial.println(tvStueDim100); mySerial.println(spiseStueDim100); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"43\"}")); } if(readString.startsWith("GET /?out=44&status=1")) { //mySerial.println(soveromStortOff); mySerial.println(swTrappLoftHovedOff); mySerial.println(tvStueOff); mySerial.println(spiseStueOff); mySerial.println(lampeBakSofaOff); mySerial.println(lysSkilpaddeOff); mySerial.println(lysFiskOff); mySerial.println(trappHovedKjellerOff); Serial.print(P("{\"status\" : \"1\" , \"out\" : \"44\"}")); } if(readString.startsWith("GET /?out=all")) { Serial.print(P("{\"ip\" : \"192.168.2.248\", ")); Serial.print(P("\"devices\" : ")); Serial.print(P("[{ \"type\" : \"light\", \"name\" : \"TV-Stue\", \"out\" : \"30\"}")); Serial.print(P(",{ \"type\" : \"light\", \"name\" : \"Spisestue\", \"out\" : \"31\"}")); Serial.print(P(",{ \"type\" : \"Plug\", \"name\" : \"Sofalampe\", \"out\" : \"32\"}")); Serial.print(P(",{ \"type\" : \"Plug\", \"name\" : \"Tusle\", \"out\" : \"33\"}")); Serial.print(P(",{ \"type\" : \"Plug\", \"name\" : \"Fiskane\", \"out\" : \"34\"}")); Serial.print(P(",{ \"type\" : \"light\", \"name\" : \"Kjeller\", \"out\" : \"35\"}")); Serial.print(P(",{ \"type\" : \"light\", \"name\" : \"Soverom\", \"out\" : \"36\"}")); Serial.print(P(",{ \"type\" : \"light\", \"name\" : \"Bad\", \"out\" : \"37\"}")); Serial.print(P(",{ \"type\" : \"light\", \"name\" : \"Loft\", \"out\" : \"38\"}")); Serial.print(P(",{ \"type\" : \"gate\", \"name\" : \"Stue25%\", \"out\" : \"40\"}")); Serial.print(P(",{ \"type\" : \"gate\", \"name\" : \"Stue50%\", \"out\" : \"41\"}")); Serial.print(P(",{ \"type\" : \"gate\", \"name\" : \"Stue75%\", \"out\" : \"42\"}")); Serial.print(P(",{ \"type\" : \"gate\", \"name\" : \"Stue100%\", \"out\" : \"43\"}")); Serial.print(P(",{ \"type\" : \"gate\", \"name\" : \"Godnatt\", \"out\" : \"44\"}")); Serial.print(P("]}")); } readString=""; } } }
  13. Se på der ja.... Har du tatt en benchmark på den? http://tronixstuff.wordpress.com/2012/01/29/review-digilent-chipkit-uno32/
  14. Går for det dyreste kortet jeg, ikke det at det er største forskjellen.... Neste blir vel en UNO32 og få se hvor bra en PIC gjør seg i Arduino miljø
  15. Jeg ser på DX at de har to versjoner av ATmega2560 kortene, den ene har 16AU i tillegg, noen som aner hva forskjellen er? http://www.dealextre...-118047?item=13 http://www.dealextre...d-123632?item=9
×
×
  • Create New...