Status

    19:e April 2024

Arkiv

Den 23:e Januari - 2017

Temperatur On the air #3



Att få ut något vettigt från sändarn var inte det enklaste. Ändrade fördröjningen för varje givare
till 2 sekunder så mottagaren skulle hinna med.

I stället för:
sprintf(Send_Temp, "%d-%d", sender_id, send_data);
Som kunde ge "1-20". Så var det enklare att skicka allt som ett enda heltal.
sprintf(Send_Temp, "%d%d", sender_id, send_data);
Vilket ger "120" som är enklare att omvandla. Lär ju aldrig ha mer än 9 givare totalt.

Mottagar koden som den ser ut just nu. Fick omvandla datat tre gånger innan jag fick ut ett heltal.
#include <VirtualWire.h>
#define RX_PIN 4

long lasttime = 0;

void setup()
{
Serial.begin(9600);

vw_set_rx_pin(RX_PIN);
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_rx_start();
}

void loop()
{
unsigned long currenttime = millis();

uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;

if (vw_get_message(buf, &buflen))
{
char Sensor1CharMsg[5] = "", Value[5] = "", Sensor[5] = "", Temp[5] = "";
int Real_Temp = 0, Real_Sensor = 0, i = 0, Sensor1Data = 0;
long totaltime = (currenttime - lasttime) / 1000;

lasttime = millis();

for (i = 0; i < buflen; i++) Sensor1CharMsg[i] = char(buf[i]);

Sensor1CharMsg[buflen] = '';
Sensor1Data = atoi(Sensor1CharMsg); // Gör ett heltal av all mottaget data.
itoa(Sensor1Data,Value,10); // Gör en sträng av mottaget data.

sprintf(Sensor, "%c", Value[0]); // Filtrera ut vilken givare som skickat data.
sprintf(Temp, "%c%c", Value[1], Value[2]); // Filtrera ut tempen.

Real_Temp = atoi(Temp); // Gör om Tempen till ett heltal.
Real_Sensor = atoi(Sensor); // Gör om givare till ett heltal.

Serial.print("Sensor : ");
Serial.println(Real_Sensor);
Serial.print("Temp : ");
Serial.print(Real_Temp);
Serial.println(" C");
Serial.print(totaltime);
Serial.println(" seconds since last update.");
Serial.println("");
}
}
Kommentera gärna.

Innehållet som publiceras här omfattas av grundlagsskydd. Detta inkluderar inte kommentarsfälten. Du som kommenterar är helt ansvarig för det du skriver.

Kommenterarer på "Temperatur On the air #3"

A CkWare Production. Copyright 1996 - 2024. NightMode - Where Do You Wanne Sleep Tonight?

Sidan tog 0.47 sekunder att skapa.

Du kommer INTE från en mobil enhet. Du använder INTE SSL
Din IP4 är 3.143.17.128.