el 07-07-2017 06:42 PM
Estimado Luis .
Le cuento que tengo unproblema ojala tu me puedad ayudar , te cuento :
Necesito leer mas de 3 variables desde mi arduino ethernet a mi labiew, ya que necesito una variable potenciometro , dos para ultrasonico, y por ultimo necesito dos para dijital, ojala me puedas dar ayudar , de ante mano te quedo muy agradecido.
Te envio lo que tengo de laview y arduino y si le puedes ver se lee las dos señales a la vez pero no por separado ya que son señales diferentes.
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiServer.h>
#include <WiFiUdp.h>
/*
Serveur TCP
O. DARTOIS, le 23/05/12
Source directement basée sur l'exemple Web Server
*/
#include <SPI.h>
#include <Ethernet.h>
// Adresses MAC et IP à changer suivant vos besoins
byte mac[]={0x90,0xA2,0xDA,0x0F,0xCC,0x2F};
IPAddress ip(192, 168, 0, 120);
// Initialisation de la librairie ethernet
EthernetServer server(8000);
long distancia;
long tiempo;
long distancia2;
long tiempo2;
void setup()
{
// start the Ethernet connection and the server:
Serial.begin(9600);
pinMode(6, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
pinMode(7, INPUT); /*activac*/
pinMode(20, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
pinMode(21, INPUT);
Ethernet.begin(mac, ip);
server.begin();
pinMode(2,OUTPUT);
digitalWrite(2,LOW);
analogReference(INTERNAL1V1);
}
void loop()
{
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (c == 'A') digitalWrite(2,HIGH);
if (c == 'a') digitalWrite(2,LOW);
}
}
// close the connection:
client.stop();
}
/*****
digitalWrite(6,LOW); /* Por cuestión de estabilización del sensor*/
delayMicroseconds(5);
digitalWrite(6, HIGH); /* envío del pulso ultrasónico*/
delayMicroseconds(10);
tiempo=pulseIn(7, HIGH);
distancia= int(0.017*tiempo);
//Serial.println(distancia);
Serial.write(distancia2);
digitalWrite(20,LOW); /* Por cuestión de estabilización del sensor*/
delayMicroseconds(5);
digitalWrite(20, HIGH); /* envío del pulso ultrasónico*/
delayMicroseconds(10);
tiempo2=pulseIn(21, HIGH);
distancia2= int(0.017*tiempo2);
//Serial.println(distancia2);
Serial.write(distancia);
server.println((distancia));
Serial.println((distancia));
delay(100);
server.println((distancia2));
Serial.println((distancia2));
}
el 07-10-2017 10:37 AM
Hola 1234576ob
Te comento que este post ya es viejo por lo que te recomendaría comenzar con uno nuevo para tener mejor tiempo de respuesta.
Saludos
LaNiña || CLAD