Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h> // inicializijeme knihovnu
- #define SSerialRX 10 //Serial Receive pin
- #define SSerialTX 11 //Serial Transmit pin
- #define SSerialTxControl 3 // RS modul pin 3
- // vytvorime seriovy port na pinu 10 a 11 se jménem RS485Serial
- SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // RX, TX
- // moje adresa, aby prijmac poznal od koho jsou hodnoty
- // můžete zvolit jakékoliv čislo od 2 do 255
- byte myAddress = 8;
- // buffer pro funkci převodu čísla na text
- char buff[10];
- void setup()
- {
- // Inicializujeme seriový port na klasickém pin 0 a 1 (TX a RX)
- Serial.begin(9600);
- // nastartujeme software serial
- RS485Serial.begin(14400);
- }
- void loop() {
- // preved na text do promenné buffer
- // analogovou hodnotu z A0
- sprintf (buff,"%d", analogRead(A0));
- // odešli data pomocí funkce SendData
- SendData(1, 1,buff); // SendData(adresát, cislo promenné, data v char[])
- //SendData(1, 2, "Ahoj lidi"); // mužete odeslat i text jaký chcete
- delay(3600); // v jakém inervrvalu se data budou odesílat
- }
- ///////////////////////////////////////////////////////
- // deklarace funkce které data v určitém formátu odešle
- void SendData(byte address, byte var, char data[]){
- digitalWrite(SSerialTxControl, 1); // mod odesílání
- RS485Serial.write(0x02); //start byte
- RS485Serial.write(address); // ardesat (komu odesíláme) - u primece neni vyuzito
- RS485Serial.write(myAddress); //moje adresa - od koho to prijmaci doslo
- RS485Serial.write(var); // ocislovaní promenné
- RS485Serial.write(data); // hodnota nebo data
- RS485Serial.write(0x03); // stop byte
- digitalWrite(SSerialTxControl, 0); // konec modu odelilaní
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement