помогите дописать, требуется эти значения мониторить по лан . есть W5100

ccc
Offline
Зарегистрирован: 12.12.2014
#include <LiquidCrystal.h>

LiquidCrystal lcd(50, 52, 48,46,44,42);

float opn=4.99;     //опорное напряжение вольты
float volt;         // переменная в которой храним конечное значение вольт              
float var0;         // храним промежуточное значение вольт, данные с аналового входа №0              

int amper ;          //переменная в которой храним конечное значение миллиампер.используем целочисленные значения,и посему интовая переменная
float var1  ;        // храним промежуточное значение вольт, данные с аналового входа №1

float T1;            // переменная в которой храним конечное значение температуры первого термодатчик (LM35) измеряем температуру выходного тразистора
float var2;

float P;            // мощность - призведение ампер на вольт
void setup()
{
  lcd.begin(16, 2); //инициализация LCD 1602
}

void loop ()                   
{

  var0 = analogRead(0);             
  volt =(opn*var0/1024.0);
  float U1;         //  вводим дополнительную переменную чтоб просчитать напряжение после делителя
  U1=volt*((2010.0+294.0)/294.0)-(opn*var1/1024.0);//(2010.0+294.0)/294.0 просчитываем падение напряжения на делителе R1 2010ом R2 294ома 
                   //(opn*var1/1024.0)вычитаем падение напряжения на шунте амперметра

  var1 = analogRead(1);             
  amper =((opn*var1/1.0240)/.50); //измеряем напряжение в милливольтах и делим на .50 -сопротивление шунта,конечное значение переменной в миллиамперах

  var2 = analogRead(2);
  T1=(opn*var2/10.24);// в качестве термодатчика используем аналоговый Lm35 с зависимостью 10мв/град С

  var2 = analogRead(3);
  T1=(opn*var2/10.24);// в качестве термодатчика используем аналоговый Lm35 с зависимостью 10мв/град С

   
  //P=amper*U1/1000; //делим на 1000 тк.к значение тока в миллиамперах

  lcd.setCursor(0,1) ;
  lcd.print(U1);
  lcd.print(" ");
  lcd.setCursor(6,1) ;
  lcd.print("V");
  //lcd.print(var0);вывод кода АЦП,так на всякий случай

  lcd.setCursor(0,0) ;
  lcd.print(amper);
  lcd.print(" ");
  lcd.setCursor(4,0);
  lcd.print("mA1");
  //lcd.print (var1);//вывод кода АЦП,так на всякий случай

  lcd.setCursor(8,0) ;
  lcd.print(amper);
  lcd.print(" ");
  lcd.setCursor(12,0);
  lcd.print("mA2");
  //lcd.print (var1);//вывод кода АЦП,так на всякий случай

  lcd.setCursor(8,1) ;
  //lcd.print(P);
  lcd.print(" NORMAL ");///

  delay(1000);//задержка-обновление экрана 

}

 

ccc
Offline
Зарегистрирован: 12.12.2014

#include <LiquidCrystal.h>

LiquidCrystal lcd(50, 52, 48,46,44,42);

float vout = 0.0;
float V1 = 0.0;
float R1 = 100000.0;
float R2 = 10000.0;
int value = 0;


void setup()
{
  lcd.begin(16, 2); //инициализация LCD 1602
}

void loop () 
{

float L1 = 0;
for(int i = 0; i < 1; i++) {
L1 = L1 + (.0264 * analogRead(A0) -13.51);

float L2 = 0;
for(int i = 0; i < 1; i++) {
L2 = L2 + (.0264 * analogRead(A1) -13.51);

value = analogRead(A2);
  vout = (value * 5.0) / 1024.0;
  V1 = vout / (R2/(R1+R2));
  if (V1<0.09) {
  V1=0.0;

delay(1);
}
{


  lcd.setCursor(0,1);
  lcd.print(V1);
  lcd.print(" ");
  lcd.setCursor(5,1) ;
  lcd.print("V");

  lcd.setCursor(11,0) ;
  lcd.print(L1);
  lcd.print(" ");
  lcd.setCursor(8,0);
  lcd.print("L1");
 
  lcd.setCursor(11,1) ;
  lcd.print(L2);
  lcd.print(" ");
  lcd.setCursor(8,1);
  lcd.print("L2");
 
  delay(900);//задержка-обновление экрана
}
}
}
}
 

 

maksim
Offline
Зарегистрирован: 12.02.2012

Или сюда или сюда.

ccc
Offline
Зарегистрирован: 12.12.2014
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <TimerOne.h>
#include <SPI.h>
#include <Ethernet.h>
// pin 22 - Serial clock out (SCLK)
// pin 24 - Serial data out (DIN)
// pin 26 - Data/Command select (D/C)
// pin 28 - LCD chip select (CS)
// pin 30 - LCD reset (RST)
Adafruit_PCD8544 display = Adafruit_PCD8544(22,24,26,28,30);

int PressureOut, PressureSet;
int PressureSet_Pin = 0;
int PressureRead_Pin = 1;
int analogRead_Pin = (12,13,14,15);



int led1 = 2;             // Порт 2, оптопара на линию 1
int led2 = 3;             // Порт 3, оптопара на линию 2
int led3 = 48;              //сухие контакты нет сети 220в 
int led4 = 50;                 //сухие контакты 48в 
int led5 = 52;                 //сухие контакты ток в линии1 
int led6 = 53;                //сухие контакты ток в линии2


byte mac[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xF1 };
byte ip[] = { 192, 168, 1, 2 };    
EthernetServer server(80);
byte my_addr[8]={0x28,0x2A,0x78,0x65,5,0,0,0x10};


void setup()  
 {
      display.begin();
      display.setContrast(60);  
  
      pinMode(led1, OUTPUT);  // Порт 2, оптопара на линию 1
      pinMode(led2, OUTPUT);  // Порт 3, оптопара на линию 2
      pinMode(led3, OUTPUT); //сухие контакты нет сети 220в
      pinMode(led4, OUTPUT); //сухие контакты 48в
      pinMode(led5, OUTPUT); //сухие контакты ток в линии1
      pinMode(led6, OUTPUT); //сухие контакты ток в линии2
      Ethernet.begin(mac, ip);          
      server.begin();
}


void loop() {


 {
 digitalWrite(led1, HIGH);
 digitalWrite(led2, HIGH);
 }
  
   int U1; 
   U1 = analogRead(12);   
    if (U1<100)
   {                  
   digitalWrite(led4,HIGH);
   delay(100);
   digitalWrite(led1,LOW);
   digitalWrite(led2,LOW);
   delay(1000);
   digitalWrite(led1,HIGH);
   digitalWrite(led2,HIGH);
   delay(1000); 
   }
   else if(U1>100)
  digitalWrite(led4,LOW);        


                   
   int U2;        
   U2 = analogRead(13);   
    if (U2<100)
   {                  
   digitalWrite(led5,HIGH);
   delay(100);
   }
   else if(U2>100)
   digitalWrite(led5,LOW);  
   digitalWrite(led1,LOW);
   digitalWrite(led2,LOW);
   delay(1000);
   digitalWrite(led1,HIGH);
   digitalWrite(led2,HIGH);
   delay(1000);   


   
  
  
  
   int L1;              
   L1 =analogRead(14); 
   if (L1<100)
   {                        
   digitalWrite(led5,HIGH);
   delay(500);
  }else if(L1>100)
  digitalWrite(led5,LOW);
   
   int L2;
   L2 =analogRead(15); 
   if (L2<100)
   {                       
   digitalWrite(led6,HIGH);
   delay(500);
  }else if(L2>100)
  digitalWrite(led6,LOW);
   




{    
  display.setTextSize(1);
  display.setTextColor(BLACK);
  
  display.setCursor(0,0);
  display.println("display :)");
  
  display.setCursor(2,10);
  display.println(U1);  
  display.setCursor(40,10);
  display.println("Volt");
    display.setCursor(70,10);
  display.println("AC");
  
  display.setCursor(2,20);
  display.println(U2);
   display.setCursor(40,20);
  display.println("Volt");
    display.setCursor(70,20);
  display.println("DC");
  
  display.setCursor(2,29);
  display.println(L1);
   display.setCursor(35,29);
  display.println("Amper");
    display.setCursor(70,29);
  display.println("L1");
  
  
  display.setCursor(2,39);
  display.println(L2);
   display.setCursor(35,39);
  display.println("Amper");
    display.setCursor(70,39);
  display.println("L1");
 
  display.display();
  delay(500);
  display.clearDisplay();
  }
  {
  EthernetClient client = server.available();
  if (client) {
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
       char c = client.read();
        
        if (c == '\n' && currentLineIsBlank) {
                  
                  
         client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  
          client.println("Refresh: 5");                         
          client.println();
         client.println("<!DOCTYPE HTML>");
          client.println("<html>");
         
                       
                                                                              
           client.print("Ток на линии 1");client.print("=");                 // надо выстроить каждую строку в столбик  и закрасить надписи в зелёный цвет
           client.print(L1);
           client.print('\n'); 
           client.print("--");        
           client.print("Ток на линии 2");client.print("=");
           client.print(L2);
           client.print("--");            
           client.print("Напруга 220в");client.print("=");
           client.print(U2);
           client.print("--");            
           client.print("Напруга 48в");client.print("=");
           client.print(U1);
           client.print("--");  
                      
           if (U2<100)                               //если напруга пропала в браузере надпись
           { 
             client.print("Напруга 220в  ПИЗДЕЦ");  //надпись сделать красного цвета и желательно моргать
             client.print("--");
           }   
           
           if (U1<100)                               //если напруга пропала в браузере надпись
           { 
             client.print("Напруга 48в  ПИЗДЕЦ");       //надпись сделать красного цвета и желательно моргать
             
             client.print("--");
           }   
           client.println("<br />"); 
           
           if (L1<100)                             //если упал ток потребления в линии1 в браузере надпись
           { 
             client.print(" ПИЗДЕЦ на линии одын ");  //надпись сделать красного цвета и желательно моргать
             client.print("--");
           }
           
           if (L2<100)                            //если упал ток потребления в линии2 в браузере надпись
           { 
             client.print(" ПИЗДЕЦ на линии два ");  //надпись сделать красного цвета и желательно моргать
             client.print("--");
           }
                 
          
          break;
         }
        if (c == '\n')
        {         
          currentLineIsBlank = true;
        }
        else if (c != '\r')
        {          
          currentLineIsBlank = false;
        }
      }
    }    
    delay(1);   
    client.stop();
        }
} delay(1000);         //делаем паузу всей программы
}

 

ccc
Offline
Зарегистрирован: 12.12.2014

кто может проверить ? проверьте пожалуста всё правильно сделал ??? если нет подскажите :) да ещё в коде сервера помогите дописать в коментах написал что сделать, может как то красочнее мож сделать  

все делал на меге + W5100+ дисп от ноки3110 компилится с arduino-1.5.8 библиотеки если над прикреплю все измерения без формул т.к пока не ясно какие датчики будут 

ccc
Offline
Зарегистрирован: 12.12.2014

тут все вымерли ??