Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Poslední návštěva: ned zář 15, 2019 7:10 pm


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: 3847
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 Climate Change
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2784
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: 1302
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 Climate Change
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2784
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 Climate Change
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2784
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: Žádní registrovaní uživatelé a 1 návštěvník

Reputation System ©'