Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Poslední návštěva: čtv zář 19, 2019 9:19 am


Arduino - bastlení

Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
Předchozí

Re: Arduino - bastlení

Příspěvekod Marcus81 » ned zář 08, 2019 10:26 pm

Uz som skusal niekolko krat, chvilu som sa trochu do toho dostal, ale ked na dlhu dobu prestanes, vypadne ti to z hlavy pokial to nepozivas kazdy den. A ked mam znova absolvovat vyucbu "blikanie LED" tak ma ide rozhodit. Programovanie nie je moja salka kavy a zrejme to asi nikdy nepochopim, preto hladam projekty na nete aby som to nejako pozliepal a aby to fungovalo. Viem ze nie je to ono a spravne, ale to zrejme inak "nedam" :-(
Hybrid, 4 x 260Wp Amerisolar, 2 x 260Wp Aleo, 2 x Victron Energy Multiplus 48/5000, 1 x Victron Energy Multiplus 48/3000, 270 Ah AGM 48V, 360 Ah NiCd 48V, 1 x MPPT SmartSolar solárny regulátor Victron Energy 150/100-Tr,
zatial vsetko vo výstavbe...
Marcus81
 
Příspěvky: 181
Registrován: pát dub 28, 2017 7:05 pm
Bydliště: Blízko Senec, SVK

Re: Arduino - bastlení

Příspěvekod youda » ned zář 08, 2019 10:55 pm

Z toho si nic nedělej, lepení je celkem běžný postup.

Pouhá znalost syntaxe je v programování to nejmenší. Každá HW platforma má svoje specifika, možnosti, přerušení, časovače, vstupy a výstupy, AD převodníky.... To samé každá periferie, kterou připojíš, nebo protokol kterým budeš chtít komunikovat. Syntaxi umí kde-kdo, ale vyrobit na konkrétní HW platformě něco opravdu užitečného, to chce o dost víc. Pak je ještě další level - optimalizovat kód tak, aby byl rychlý, krátký, snadno čitelný.

Takže já to dělám taky tak, že splácám dokopy vše co najdu. Většinou ;)

Máš funkční sketche na ty dva senzory, které chceš číst?
Jde už jen o to ze dvou funkčních programů vyrobit jeden?

Pokud ano, tak toto je většinou celkem snadné. Nejčastějsí špeky bývají:
- stejné názvy proměnných
- stejné IO piny
- časová závislost přesnosti měření, kdy delší kód do toho zanese nepřesnosti

Většinou stačí vybrat jeden z těch dvou programů, typicky ten na složitější čidlo, a jen do něj přidat 5 řádek na to druhé čidlo.

V případě tebou uvedených čidel BH1750 (luxmetr) a DHT11 (vlhkoměr a teploměr) jsou příslušné sketche tak krátké, že to bude malina.
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 2079
Registrován: úte dub 26, 2016 11:12 pm

Re: Arduino - bastlení

Příspěvekod kodl69 » ned zář 08, 2019 11:12 pm

To marcus81: tak to se na to vykašli dokud je čas, protože pokud tě to pohltí, tak to má podobnej průběh jako solaritída, a to nechceš... Mě to stálo cca rok života, než jsem pochopil, že něco dokážu splácat podobnejma metodama jako youda, ale jestli je problém už bikání ledky, tak doporučuju napřít svoje úsilí jinam a pořídit si nějakej systém domácí automatizace, kde se dají připojovat periferie "uživatelským způsobem". Prostě nemůžou všichni umět všechno...
ostrov 4600Wp neustále ve stádiu zrodu: 6x noark CHSM6610P250, 6x250Wp z I4wifi, 6xTratek 275Wp, 4x auria 120Wp, midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Powerjack 8kW (reálně 6kW po úpravě). 48V DC rozvody a spotřebiče.
kodl69
 
Příspěvky: 3858
Registrován: sob črc 19, 2014 7:56 pm

Re: Arduino - bastlení

Příspěvekod rottenkiwi » pon zář 09, 2019 12:32 am

Dělej vše, jak nejlépe dovedeš. Ale ne lépe. 4. dohoda.
Si anode Spectrum BMS SEI formation Float Ochrana High SOC deg. MPPT Post Bud Bindi 1993
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2795
Registrován: pát úno 13, 2015 2:24 pm
Bydliště: SO, SK

Re: Arduino - bastlení

Příspěvekod Marcus81 » pon zář 09, 2019 5:58 am

Co sa tyka zapojenia a prvotneho ozivenia jednotlivých modulov aby nieco merali, to si viem spravit, ale niektore veci mi proste do hlavy nejdu, sketche mam funkcne, ale tak ako pise youda, potrebujem z dvoch funknych spravit jeden funcny a tak, aby napr. ked ho spustim v monitore seriovohe portu, zobrazovali sa mi obidve hodnoty. A to nehovorim o prepojeni s raspberry na ktorom bezi domoticz, to som skusal cely vikend a ten domoticz skratka ardiuno nevidi :wall:
Hybrid, 4 x 260Wp Amerisolar, 2 x 260Wp Aleo, 2 x Victron Energy Multiplus 48/5000, 1 x Victron Energy Multiplus 48/3000, 270 Ah AGM 48V, 360 Ah NiCd 48V, 1 x MPPT SmartSolar solárny regulátor Victron Energy 150/100-Tr,
zatial vsetko vo výstavbe...
Marcus81
 
Příspěvky: 181
Registrován: pát dub 28, 2017 7:05 pm
Bydliště: Blízko Senec, SVK

Re: Arduino - bastlení

Příspěvekod NOPARasito » pon zář 09, 2019 5:59 am


Na co anglictinu? Chrome prohlížeč ti to přeloží rovnou ;-).
Uživatelský avatar
NOPARasito
 
Příspěvky: 1313
Registrován: stř črc 18, 2018 11:14 pm
Bydliště: Vidím na Pálavu a komíny Dukovan

Re: Arduino - bastlení

Příspěvekod Marcus81 » pon zář 09, 2019 6:40 am

To je pravda, google prelozi vsetko :lol:
Hybrid, 4 x 260Wp Amerisolar, 2 x 260Wp Aleo, 2 x Victron Energy Multiplus 48/5000, 1 x Victron Energy Multiplus 48/3000, 270 Ah AGM 48V, 360 Ah NiCd 48V, 1 x MPPT SmartSolar solárny regulátor Victron Energy 150/100-Tr,
zatial vsetko vo výstavbe...
Marcus81
 
Příspěvky: 181
Registrován: pát dub 28, 2017 7:05 pm
Bydliště: Blízko Senec, SVK

Re: Arduino - bastlení

Příspěvekod rottenkiwi » pon zář 09, 2019 12:07 pm

Čo to znamená, že Arduino nevidí ?
Na Arduine musí bežať server, ktorý mu natvrdo priradí MAC adresu
potom cez DHCP dostane nejakú adresu v tvare 192.168.x.y
a server bude odpovedať na požiadavky GET POST.
To všetko však treba naprogramovať napr.


HTML:
request.open("GET", "ajax_inputs" + nocache, true);

request.send(null);

setTimeout('GetArduinoInputs()', 1100);

Arduino Mega:
Kód: Vybrat vše
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {   // client data available to read
        char c = client.read();
          //read char by char HTTP request
          // buffer first part of HTTP request in HTTP_req array (string)
          // leave last element in array as 0 to null terminate string (REQ_BUF_SZ - 1)
          if (req_index < (REQ_BUF_SZ - 1)) {
              HTTP_req[req_index] = c;          // save HTTP request character
              req_index++;
          }
          // last line of client request is blank and ends with \n
          // respond to client only after last line received
           
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Access-Control-Allow-Origin: *");
          // remainder of header follows below, depending on if
          // web page or XML page is requested
          // Ajax request - send XML file
             
                   if (StrContains(HTTP_req, "GET")
                                 && StrContains(HTTP_req, "ajax_inputs")) {
                        // send rest of HTTP header
                        client.println("Content-Type: text/xml");
                        client.println("Connection: keep-alive");
                        client.println();
                        //SetLEDs ();
                        // send XML file containing input states
                        XML_response(client);
                    }
                    else
                    if (StrContains(HTTP_req, "POST")
                                 && StrContains(HTTP_req, "ajax_inputs=1")) {
                        // send rest of HTTP header
                        client.println("Content-Type: text/xml");
                        client.println("Connection: keep-alive");
                        client.println();
                        //SetLEDs ();
                        // send XML file containing input states
                        XML_response(client);
                    }
                    else if (StrContains(HTTP_req, "ajax_logs")) {
                        // send rest of HTTP header
                        client.println("Content-Type: text/xml");
                        client.println("Connection: keep-alive");
                        client.println();
                        SetDays ();
                        SetWeeks ();
                        SetMonths ();
                        // send XML file containing input states
                        XML_response_2(client);
                    }
                   
                    else {  // web page request
                        // send rest of HTTP header
                        client.println("Content-Type: text/html");
                        client.println("Connection: close");
                        client.println();
                        if (StrContains(HTTP_req, "GET / ")
                                 || StrContains(HTTP_req, "GET /index.htm")) {
                              webFile = SD.open("index.htm");        // open web page file
                        }
                        else if (StrContains(HTTP_req, "GET /logtr.htm")) {
                              webFile = SD.open("logtr.htm");        // open web page file
                        }
                        else if (StrContains(HTTP_req, "GET /page0.htm")) {
                              webFile = SD.open("page0.htm");        // open web page file
                        }   
                        else if (StrContains(HTTP_req, "GET /page1.htm")) {
                              webFile = SD.open("page1.htm");        // open web page file
                        }
                        else if (StrContains(HTTP_req, "GET /datalogp.txt")) {
                              webFile = SD.open("lifelog.txt");        // open web page file
                        }     
                        else if (StrContains(HTTP_req, "GET /page2.htm")) {
                              webFile = SD.open("page2beg.htm");        // open web page file
                                if (webFile) {
                                  while(webFile.available()) {
                                    client.write(webFile.read()); // send web page to client
                                  }
                                  webFile.close();
                              };
                              for ( int i = 0 ; i < Max_G_buff ; i++ )
                              {
                                 client.print ("['");
                                 client.print (i / 3);
                                 client.print ("',");
                                 client.print ((float)U1_buff [(U1_index+i) % Max_G_buff]*5.0/1023*U_1_call);
                                 client.print (",");
                                 client.print ((float)U2_buff [(U2_index+i) % Max_G_buff]*5.0/1023*U_2_call);
                                 client.print (",");
                                 client.print ((float)( ( (A2_buff [(A2_index+i) % Max_G_buff]- A_offset ) / A_call)+
                                 ((A3_buff [(A3_index+i) % Max_G_buff]- A_3_offset ) / A_call) ) );
                                 client.print (",");
                                 client.print (((A0_buff [(A0_index+i) % Max_G_buff]- A_0_offset ) / A_call)+
                                               ((A4_buff [(A4_index+i) % Max_G_buff]- A_4_offset ) / A_call)+
                                               ((A1_buff [(A1_index+i) % Max_G_buff]- A_1_offset ) / A_call)    );
                                 client.print ("],");
                                 client.println();
                               };
                             webFile = SD.open("page2end.htm");        // open web page file
                        }     
                        else if (StrContains(HTTP_req, "GET /page3.htm")) {
                              webFile = SD.open("page3beg.htm");        // open web page file
                                if (webFile) {
                                  while(webFile.available()) {
                                    client.write(webFile.read()); // send web page to client
                                  }
                                  webFile.close();
                              };
                              webFile = SD.open("d.d");        // open web page file
                                if (webFile) {
                                  while(webFile.available()) {
                                    client.write(webFile.read()); // send web page to client
                                  }
                                  webFile.close();
                              };
                             
                           
                             webFile = SD.open("page3end.htm");        // open web page file
                        }     
                        else if (StrContains(HTTP_req, "GET /page4.htm")) {
                              webFile = SD.open("page4beg.htm");        // open web page file
                                if (webFile) {
                                  while(webFile.available()) {
                                    client.write(webFile.read()); // send web page to client
                                  }
                                  webFile.close();
                              };
                              webFile = SD.open("e.e");        // open web page file
                                if (webFile) {
                                  while(webFile.available()) {
                                    client.write(webFile.read()); // send web page to client
                                  }
                                  webFile.close();
                              };
                             
                           
                             webFile = SD.open("page4end.htm");        // open web page file
                        }
                        else if (StrContains(HTTP_req, "GET /elog.htm")) {
                              webFile = SD.open("page4beg.htm");        // open web page file
                                if (webFile) {
                                  while(webFile.available()) {
                                    client.write(webFile.read()); // send web page to client
                                  }
                                  webFile.close();
                              };
                             
                              for ( int i = 0; i <=6; i++ )
                              {
                                int day_x;
                                day_x = i+1;
                                if ( D_state [i] )
                                {
                                  if (W_state [1])
                                  {
                                    day_x = i + 8;
                                  }
                                  else if (W_state [2])
                                  {
                                    day_x = i + 15;
                                  }
                                  else if (W_state [3])
                                  {
                                    day_x = i + 22;
                                  } 
                                  else if (W_state [4])
                                  {
                                    day_x = i + 29;
                                  }
                                 
                                  char x = (day_x / 10) + 48;
                                  char y = (day_x % 10 )  + 48;
                                  strLogName = "/pv/elog/";
                                  strLogName += x;
                                  strLogName += y;
                                  strLogName += strLogNameSuffix;
                                                               
                                  webFile = SD.open(strLogName);        // open web page file
                                  if (webFile) {
                                      while(webFile.available()) {
                                        client.write(webFile.read()); // send web page to client
                                      }
                                      webFile.close();
                                  }
                                  else
                                  {
                                    webFile = SD.open("e.e");        // open web page file
                                    if (webFile) {
                                      while(webFile.available()) {
                                        client.write(webFile.read()); // send web page to client
                                      }
                                    webFile.close();
                                    }
                                  }
                                }
                            }
                            webFile = SD.open("page4end.htm");        // open web page file
                        }

                       
                       
                        // send web page
                        // webFile = SD.open("index.htm");        // open web page file
                        if (webFile) {
                            while(webFile.available()) {
                                client.write(webFile.read()); // send web page to client
                            }
                            webFile.close();
                        }
                    }
                    // display received HTTP request on serial port
                    Serial.print(HTTP_req);
                    // reset buffer index and all buffer elements to 0
                    req_index = 0;
                    StrClear(HTTP_req, REQ_BUF_SZ);
                    break;
         
/*         
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          int analogChannel = Amp_1_pin;
          client.print("<p style=""color:blue"">");
         
          int sensorReadingA = analogRead(analogChannel);
          sensorReadingA = analogRead(analogChannel);
           
            client.print("A: ");
            //client.println("<br />");
            //client.print(analogChannel);
            //client.print(" = ");
            //client.print( ( Amp_min - A_offset ) / A_call );
            //client.print(", ");     
            //client.print( ( Amp_max - A_offset ) / A_call );
            //client.print(", ");
            //client.print( ( Amp_avg - A_offset ) / A_call );
            //client.print(", ");
            client.print( ( Amp_med - A_offset ) / A_call );
            client.print(", ");
            client.print( ( sensorReadingA - A_offset ) / A_call );
            //client.println("<br />");
          //client.print("</p>"); 
         
          analogChannel = U_1_pin;
          int sensorReadingU = analogRead(analogChannel);
          sensorReadingU = analogRead(analogChannel);
         
          client.print("<p style=""color:red"">");
          client.print(" V: ");
          //client.println("<br />");
         
          //client.print(analogChannel);
          //client.print(" = ");
          //client.print( U_min*5.0/1023*U_call );
          //client.print(", ");           
          //client.print( U_max*5.0/1023*U_call );
          //client.print(", ");
          //client.print( U_avg*5.0/1023*U_call );
          //client.print(", ");
          client.print( U_med*5.0/1023*U_call );
          client.print(", ");
          client.print( sensorReadingU*5.0/1023*U_call );
          //client.println("<br />");
         
          /*
          for ( analogChannel = 6; analogChannel < 8; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
           
            client.print("Voltage ");
            client.print(analogChannel);
            client.print(" = ");
            client.print(sensorReading*5.0/1023*U_call);
            client.println("<br />");
          }
          */
          //client.print("</p>");
/*         
          client.print("<p style=""color:black"">");
                   
          client.print("W: ");
          //client.println("<br />");
          //client.print(analogChannel);
          //client.print(" = ");
          //client.print( ( ( Amp_min - A_offset ) / A_call ) * ( U_min*5.0/1023*U_call ) );
          //client.print(", ");           
          //client.print( ( ( Amp_max - A_offset ) / A_call ) * ( U_max*5.0/1023*U_call ) );
          //client.print(", ");
          //client.print( ( ( Amp_avg - A_offset ) / A_call ) * ( U_avg*5.0/1023*U_call ) );
          //client.print(", ");
          client.print( ( ( Amp_med - A_offset ) / A_call ) * ( U_med*5.0/1023*U_call ) );
          client.print(", ");
          client.print( ( ( sensorReadingA - A_offset ) / A_call ) * ( sensorReadingU*5.0/1023*U_call ) );
          //client.println("<br />");
          //client.print("</p>"); 
         
          client.print(" Wh: ");
          //client.print(analogChannel);
          //client.print(" = ");
          client.print( P_day );
          //client.println("<br />");
          //client.print("</p>");
         
          client.print("<p style=""color:red"">");
          client.print(" DC Wh: ");
          //client.print(analogChannel);
          //client.print(" = ");
          client.print( P_Dc );
          //client.println("<br />");
          //client.print("</p>");
         
         
       
          client.print("<p style=""color:green"">");
          client.print("C: ");
          client.print(celsius);
          //client.print(" Celsius, ");
          client.println("<br />");
         
            client.println("<a href=\"/?r2on\"\">+L2</a>");
            client.println("<a href=\"/?r2off\"\">-L2</a><br />");
            client.println("<br>");

            client.println("<a href=\"/?r3on\"\">+L3</a>");
            client.println("<a href=\"/?r3off\"\">-L3</a><br />");
            client.println("<br>");

            client.println("<a href=\"/?r5on\"\">+L5</a>");
            client.println("<a href=\"/?r5off\"\">-L5</a><br />");
            client.println("<br>");

            client.println("<a href=\"/?r6on\"\">+L6</a>");
            client.println("<a href=\"/?r6off\"\">-L6</a><br />");
            client.println("<br>");

            client.println("<a href=\"/?r7on\"\">+L7</a>");
            client.println("<a href=\"/?r7off\"\">-L7</a><br />");
            client.println("<br>");

            client.println("<a href=\"/?r8on\"\">+L8</a>");
            client.println("<a href=\"/?r8off\"\">-L8</a><br />");
            client.println("<br>");
           
          client.println("</html>");         
          break;
*/         
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
/*   
    if(readString.indexOf("?r2on") > 0)//checks for on
    {
      digitalWrite(2, HIGH);    // set pin 2 high
      Serial.println("Led On");
      client.println("L2 On");
      client.println("<br>");
    }

    if(readString.indexOf("?r2off") >0)//checks for off
    {
      digitalWrite(2, LOW);    // set pin 2 low
      Serial.println("Led Off");
      client.println("L2 Off");
      client.println("<br>");
    }

    if(readString.indexOf("?r3on") >0)//checks for on
    {
      digitalWrite(3, HIGH);    // set pin 4 high
      Serial.println("Led On");
      client.println("L3 On");
      client.println("<br>");
    }
   
    if(readString.indexOf("?r3off") >0)//checks for off
    {
      digitalWrite(3, LOW);    // set pin 4 low
      Serial.println("Led Off");
      client.println("L3 Off");
      client.println("<br>");
    }
   
    if(readString.indexOf("?r5on") >0)//checks for on
    {
      digitalWrite(5, HIGH);    // set pin 6 high
      Serial.println("Led On");
      client.println("L5 On");
      client.println("<br>");
    }
   
    if(readString.indexOf("?r5off") >0)//checks for off
    {
      digitalWrite(5, LOW);    // set pin 6 low
      Serial.println("Led Off");
      client.println("L5 Off");
      client.println("<br>");
    }
   
    if(readString.indexOf("?r6on") >0)//checks for on
    {
      digitalWrite(6, HIGH);    // set pin 7 high
      Serial.println("Led On");
      client.println("L6 On");
      client.println("<br>");
    }

    if(readString.indexOf("?r6off") >0)//checks for off
    {
      digitalWrite(6, LOW);    // set pin 7 low
      Serial.println("Led Off");
      client.println("L6 Off");
      client.println("<br>");
    }

    if(readString.indexOf("?r7on") >0)//checks for on
    {
      digitalWrite(7, HIGH);    // set pin 8 high
      Serial.println("Led On");
      client.println("L7 On");
      client.println("<br>");
    }

    if(readString.indexOf("?r7off") >0)//checks for off
    {
      digitalWrite(7, LOW);    // set pin 8 low
      Serial.println("Led Off");
      client.println("L7 Off");
      client.println("<br>");
    }

    if(readString.indexOf("?r8on") >0)//checks for on
    {
      digitalWrite(8, HIGH);    // set pin 9 high
      Serial.println("Led On");
      client.println("L8 On");
      client.println("<br>");
    }

    if(readString.indexOf("?r8off") >0)//checks for off
    {
      digitalWrite(8, LOW);    // set pin 9 low
      Serial.println("Led Off");
      client.println("L8 Off");
      client.println("<br>");
    }

   //clearing string for next read
   readString="";
*/   
    Serial.println("client disconnected");
  }
}
Dělej vše, jak nejlépe dovedeš. Ale ne lépe. 4. dohoda.
Si anode Spectrum BMS SEI formation Float Ochrana High SOC deg. MPPT Post Bud Bindi 1993
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2795
Registrován: pát úno 13, 2015 2:24 pm
Bydliště: SO, SK

Re: Arduino - bastlení

Příspěvekod Dusan61 » pon zář 09, 2019 12:38 pm

Marcus81 píše:Ahojte vsetci, hlavne ty co ovladaju arduino, chcem sa opytat mozno pre vas jednoducha vec, chcel by som si nieco vyskladat ohladom merania nejakych velicin a nie som vobec borec v progamovani, preto si projekty hladam na nete, popridade trochu upravim, no neviem ako mam nahrat do arduina aby mi sledoval,zobrazoval viacej meranych velicin ako napr. DHT11 a BH1750, ako to docielim?!
Dakujem za kazdu odpoved

Skús si niečo prečítať tu:
https://tinycontrol.pl/en/lan-controller-v3/
https://tinycontrol.pl/en/lan-controller-v3-3/

Toto nie je arduino, ale na jednoduché meranie, monitoring a ovládanie cez mobilnú aplikáciu stačí.
Pri tomto nemusíš vedieť vôbec programovať a je to celkom lacné.
Panel 270 Wp ZV
Panel KIOTO KPV PE NEC 270Wp, Regulátor SRNE-ML2430, Menič Victron Energy Phoenix VE.Direct 375VA 12V, Olovená batéria 12V/175Ah
LK3_monitoring
https://mqtt.ats.pl/viewpanel/public/graph/1466/ https://mqtt.ats.pl/viewpanel/public/graph/1806/ https://mqtt.ats.pl/viewpanel/public/graph/2161/
DC/DC menič
Uživatelský avatar
Dusan61
 
Příspěvky: 79
Registrován: úte kvě 22, 2018 5:38 am
Bydliště: ZV

Re: Arduino - bastlení

Příspěvekod Marcus81 » pon zář 09, 2019 12:43 pm

ja ho mam prepojeny cez USB porty a domoticz ho nevidi aj ked mu raspberry prideli napr.port USB0. V MySensors v domoticz aj ked mu nastavim port na aky je pripojeny, jeducho ho nevidi aj napriek tomu ze na arduine nahrate napr. sketch DHT11
Hybrid, 4 x 260Wp Amerisolar, 2 x 260Wp Aleo, 2 x Victron Energy Multiplus 48/5000, 1 x Victron Energy Multiplus 48/3000, 270 Ah AGM 48V, 360 Ah NiCd 48V, 1 x MPPT SmartSolar solárny regulátor Victron Energy 150/100-Tr,
zatial vsetko vo výstavbe...
Marcus81
 
Příspěvky: 181
Registrován: pát dub 28, 2017 7:05 pm
Bydliště: Blízko Senec, SVK

Re: Arduino - bastlení

Příspěvekod rottenkiwi » pon zář 09, 2019 1:09 pm

Tak toto poriešil nejaký chlapík tu.
Je tu kód aj knižnice.
https://www.youtube.com/watch?v=lWqYYBQ6_AQ
Dělej vše, jak nejlépe dovedeš. Ale ne lépe. 4. dohoda.
Si anode Spectrum BMS SEI formation Float Ochrana High SOC deg. MPPT Post Bud Bindi 1993
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2795
Registrován: pát úno 13, 2015 2:24 pm
Bydliště: SO, SK

Re: Arduino - bastlení

Příspěvekod Marcus81 » pon zář 09, 2019 9:05 pm

Skusim este hladat, hadam sa mi to podari nejako sklbit aby to fungovalo...
Hybrid, 4 x 260Wp Amerisolar, 2 x 260Wp Aleo, 2 x Victron Energy Multiplus 48/5000, 1 x Victron Energy Multiplus 48/3000, 270 Ah AGM 48V, 360 Ah NiCd 48V, 1 x MPPT SmartSolar solárny regulátor Victron Energy 150/100-Tr,
zatial vsetko vo výstavbe...
Marcus81
 
Příspěvky: 181
Registrován: pát dub 28, 2017 7:05 pm
Bydliště: Blízko Senec, SVK

Re: Arduino - bastlení

Příspěvekod antoni_sk » stř zář 11, 2019 7:48 am

Inak ten TinyControl vyzerá zujímavo.
Pripadá mi že sa v ňom dajú použiť snímače, čidlá, senzory také isté ako pri Arduine - mám ich doma kopec :-)
Ktovie či by si TinyControl nezaslúžilo aj samostatnú tému - mohli by tam svoje skúsenosti a projety písať členovia ktorí s ním majú už skúsenosti
3x Suntech STP280-20/Wfw (840Wp), EPSOLAR LS3024B (30A), CarSpa P600-24 24V/230V 600W (špičk.1200W), 4x bat. Fiamm 12V 160Ah zapojené na 24V
antoni_sk
 
Příspěvky: 55
Registrován: pát lis 17, 2017 3:14 pm

Re: Arduino - bastlení

Příspěvekod Dusan61 » stř zář 11, 2019 12:48 pm

Áno, v TinyControl sa dajú použiť snímače, čidlá, senzory také isté ako pri Arduine.
Ja som túto tému nazval LK3, lebo pod týmto názvom som toto zariadenie kúpil.
V LK3 sa dajú použiť len tie snímače, čidlá a senzory ktoré sú v programe, ale s konštruktérmi TinyControl sa dá dohodnúť a program priebežne upravujú.
Panel 270 Wp ZV
Panel KIOTO KPV PE NEC 270Wp, Regulátor SRNE-ML2430, Menič Victron Energy Phoenix VE.Direct 375VA 12V, Olovená batéria 12V/175Ah
LK3_monitoring
https://mqtt.ats.pl/viewpanel/public/graph/1466/ https://mqtt.ats.pl/viewpanel/public/graph/1806/ https://mqtt.ats.pl/viewpanel/public/graph/2161/
DC/DC menič
Uživatelský avatar
Dusan61
 
Příspěvky: 79
Registrován: úte kvě 22, 2018 5:38 am
Bydliště: ZV

Předchozí

Zpět na Arduino

Kdo je online

Uživatelé procházející toto fórum: AwarioRss [Bot] a 0 návštevníků

Reputation System ©'