/Designs/duckweed_collector/SW/duckweed_tx/duckweed_tx.pde
0,0 → 1,67
/*
RF02 TX duckweed collector
 
in arduino version 022
 
tested with MLAB modules with ATmega 328 at 16MHz
see RF02 library for a Band and Frequency
*/
 
//connections RF02: (TX)
// SDI, -> RF02 Atmega PB0 Arduino 8 cannot be changed
// SCK, -> RF02 Atmega PB1 Arduino 9 cannot be changed
// nSEL, -> RF02 Atmega PB2 Arduino 10 cannot be changed
// nIRQ, <- RF02 Atmega PB4 Arduino 12 cannot be changed
// FSK: Pullupto VCC
 
#include <RF02.h>
 
unsigned int MotorOffset;
unsigned int RudderOffset;
 
void setup()
{
Serial.begin(9600);
Serial.println("\nSTM02 init" );
 
MotorOffset = analogRead(A0);
RudderOffset = analogRead(A1);
rf02_prepAll();
 
Serial.println("done" );
}
 
void loop()
{
unsigned char _tx_buffer[]="aab\0";
unsigned int Motor;
unsigned int Rudder;
unsigned int Check;
signed int ble;
Motor = analogRead(A0);
Rudder = analogRead(A1);
 
Motor = MotorOffset - Motor;
Rudder = 512 - ((RudderOffset - Rudder)<<2);
Motor>>=4;
Rudder>>=5;
 
if (Motor>32) Motor=0;
if (Rudder>32) Rudder=0;
Check=Motor+Rudder;
if (Check>32) Check-=32;
 
Motor+=(Motor>9)?('a'-10):'0';
Rudder+=(Rudder>9)?('a'-10):'0';
Check+=(Check>9)?('a'-10):'0';
_tx_buffer[0]=Motor;
_tx_buffer[1]=Rudder;
_tx_buffer[2]=Check;
rf02_txdata( _tx_buffer, sizeof(_tx_buffer));
}