2.4 G trådlöst data sortering system baserat på Arduino RF Uart (2 / 3 steg)
Steg 2: System anslutning och kontrollera
Bränn-test, en hel del makt vid full belastning, och fortsätta att arbeta för en lång tid, det kommer generation mycket hög värme, efter mätning, högsta temperatur, plattan provningsytan nått 115degrees Celsius, som för UNO och LC-3000 stabilitet är en extremt noggrann utmaning.
Av säkerhetsskäl kommer vi arrangerat testsystemet på ventilerad plats och från lokala data insamling centrum, alla testdata kommer att skickas till ett datacenter samling av LC-3000.
LC-3000 är en Multi-till-många-(M2M) 2,4 GHz trådlös uart modul, den innehåller multi Master och multi slav, alla Master kan att prata med någon slav om de är ihopkopplade. Funktionen i LC-3000 i nedan:
1, multiplex Master och flera slav kan vara parat varandra.
2, alla Master kan vara meddelande till någon slav.
3, Master kan inte kommunikationen med Master och slav är också.
4, efter ihopkopplade, kommunikation formatet är:
= AAA:DDDDDDD
Som:
"=" är en fast symbol
AAA är andra sidans adress, varje modul har egen 4Bytes av UID, AAA är den sista byten i Decimal.
":" är en fast symbol
DDDDDDD: är data vad du vill ska skickas, max längd är 240 byte.
: är fast symbol, med 2 byte av hexadecimala data "0x13 0x10"
Till exempel:
Om Master (lägga till 010) vill ha skickat en strängen "Hej" till slav (lägga till 013), bör du skriva ut under data till Master:
= 013:Hello
Slaven får data:
= 010:Hello
Om Salve vill svara "OK", bör du skriva ut under data till slav:
= 010:OK
Befälhavaren får data:
= 013:OK
Arduino koden enligt nedan:
//=========================================
#include
#include
LC3000 lc01 (2, 3); configPin, busyPin
void setup()
{
Serial.BEGIN(115200);
lc01.BEGIN (LC3000_WriteFunc, LC3000_EventProc, LC3000_SerialListenFunc);
}
void loop()
{
lc01.doLoop();
AdcReadProcess(); Läs ADC
Keyboard_Process(); Viktiga Scan
om (g_TimerState)
{
g_TimerState = false;
SendADCValue(); Skickade ADC Data
g_LedState =! g_LedState;
om (g_LedState)
{
digitalWrite (PIN_LED, hög);
}
annat
{
digitalWrite (PIN_LED, låg);
}
}
}
void serialEvent()
{
samtidigt (Serial.available())
{
få den nya byten:
byte inChar = Serial.read();
lc01.receiveByte(inChar);
}
}
void LC3000_WriteFunc (uint8_t * wData, uint16_t len)
{
Serial.write (wData, len); ANVÄNDA SERIAL1
Serialx.write (wData, len); ANVÄNDA FÖLJETONG 2,3,4...
mySerial.write (wData, len); ANVÄNDA MJUKVARAN FÖLJETONG
}
För mjuka seriell lyssna Process
void LC3000_SerialListenFunc()
{
}
bool LC3000_EventProc (uint8_t eventType, uint16_t cmdOrGroup, uint8_t * eventData, uint16_t eventDataLen)
{
Switch (eventType)
{
fall LC_EVENT_DATA:
bryta;
fall LC_EVENT_BROADCAST:
bryta;
fall LC_EVENT_RESPONSE:
bryta;
}
return true;
}
//=========================================
Vi skrev även en PC-programvara till post data, alla test data kommer att visa i ett diagram och kan spara som en CSV-filer, PC-mjukvaran är skriva av VB2013.