Codigos versión cliente y servidor del 29 de mayo

Codigo servidor
#include <SoftwareSerial.h>
SoftwareSerial mySerial (8,9); // rx, tx
int ledPin = 13;
void setup(){
 mySerial.begin (9600);
 Serial.begin (9600);
 pinMode(ledPin, OUTPUT);
  pinMode(8, INPUT);
   pinMode(9, OUTPUT);
}
void loop(){
 
  //leer de 1
  Serial.println("leer 1");
  mySerial.print("g1");
  Serial.print("g1");
  //leer respuesta
  String lectura="";
  while(mySerial.available()){
    lectura+=(char)mySerial.read() ;
  }    
    if(lectura!=""){
      Serial.println("\n1 dice:");
      Serial.print(lectura);
    }else{Serial.println("no hay respuesta");}
   delay(3000);
  }
    
 
 
  /*
  while(mySerial.available()){
     Serial.println(mySerial.read( ));
    Serial.println("");
    digitalWrite(ledPin, HIGH);
    delay(1000);  
    digitalWrite(ledPin, LOW);
  }
  delay(1000);
  Serial.print(".");
*/
-------------------------------------------------------------------------------------
Codigo cliente
/*
Isaac espinosa Arduino_lm35
 */
#include <SoftwareSerial.h>

SoftwareSerial mySerial(8,9); //rx,tx

int pin = 0; // seleccion del pin de entrada analogica
int tempc = 0,tempf=0; // variables de temperatura
int tempc1 = 0,tempf1=0; // variables de temperatura
int samples[5]; // variable para guardar el numero de iteraciones para mejorar la medicion
int maxi = -100,mini = 100; // Limites de temperatura
int i;// variable de iteraciones
char MS = 'm';  // variable para diferenciar si el arduino es master o esclavo.

void setup()
{
  pinMode(8,INPUT);
  pinMode(9,OUTPUT);
  mySerial.begin(9600); // inicia la comuncación serial
  Serial.begin(9600); // inicia la comuncación serial
}

void loop()
{
  String content = "";
  String texto = "el contenido es ";
  char character;

  while(mySerial.available()) {
    character = mySerial.read();
    content.concat(character);
  }
  texto.concat(content);
  Serial.println(texto);
 
  if (content == "g1") {
    leerLM35C();
    escribir_terminal();
  }

  tempc = 0;   //inicialisa la variable con valor de 0
  delay(1500); // retardo para iniciar de nuevo el proceso
}

float leerLM35C(){
  for(i = 0;i<=4;i++){ // realizara 5 iteraciones
    samples[i] = ( 5.0 * analogRead(pin) * 100.0) / 1024.0; //iteraciones entre resolucion
    tempc = tempc + samples[i];
    delay(100);                //retardo para realizar de nuevo el muestreo
  }

  tempc = tempc/5.0; // mejoramos la precision
  tempf = (tempc * 9)/ 5 + 32; // conversor a grados fahrenheit

  if(tempc > maxi) {
    maxi = tempc;
  } // max temperatura
  if(tempc < mini) {
    mini = tempc;
  } // min temperatura
  return tempc;
}
//
void escribir_terminal(){
  mySerial.print(tempc,DEC);        //variable de temperatura
  Serial.print(" Temperatura, ");     // impresion de temperatura en Celsius
  Serial.print(" Sensor Master, ");     // impresion de temperatura en Celsius
  Serial.print(" Celsius, ");     // impresion de temperatura en Celsius
  Serial.print(tempc,DEC);        //variable de temperatura
  Serial.print(", Fahrenheit");    // impresion de temperatura en Fahrenheit
  Serial.print(tempf,DEC);      //variable de temperatura
  Serial.print("-> Max ");
  Serial.print(maxi,DEC);
  Serial.print(", Min ");
  Serial.print(mini,DEC);
  Serial.println(" ,Arduino_lm35");  //nombre del proyecto
}

 

 

Tipo de post
Blog
Autor
yogurtur