Rev 2139 Rev 2141
1 /* 1 /*
2 RF02 TX duckweed collector 2 RF02 TX duckweed collector
3   3  
4 in arduino version 022 4 in arduino version 022
5   5  
6 tested with MLAB modules with ATmega 328 at 16MHz 6 tested with MLAB modules with ATmega 328 at 16MHz
7 see RF02 library for a Band and Frequency 7 see RF02 library for a Band and Frequency
8 */ 8 */
9   9  
10 //connections RF02: (TX) 10 //connections RF02: (TX)
11 // SDI, -> RF02 Atmega PB0 Arduino 8 cannot be changed 11 // SDI, -> RF02 Atmega PB0 Arduino 8 cannot be changed
12 // SCK, -> RF02 Atmega PB1 Arduino 9 cannot be changed 12 // SCK, -> RF02 Atmega PB1 Arduino 9 cannot be changed
13 // nSEL, -> RF02 Atmega PB2 Arduino 10 cannot be changed 13 // nSEL, -> RF02 Atmega PB2 Arduino 10 cannot be changed
14 // nIRQ, <- RF02 Atmega PB4 Arduino 12 cannot be changed 14 // nIRQ, <- RF02 Atmega PB4 Arduino 12 cannot be changed
15 // FSK: Pullupto VCC 15 // FSK: Pullupto VCC
16   16  
17 #include <RF02.h> 17 #include <RF02.h>
18   18  
19 unsigned int MotorOffset; 19 unsigned int MotorOffset;
20 unsigned int RudderOffset; 20 unsigned int RudderOffset;
21   21  
22 void setup() 22 void setup()
23 { 23 {
24 Serial.begin(9600); 24 Serial.begin(9600);
25 Serial.println("\nSTM02 init" ); 25 Serial.println("\nSTM02 init" );
26   26  
27 MotorOffset = analogRead(A0); 27 MotorOffset = analogRead(A0);
28 RudderOffset = analogRead(A1); 28 RudderOffset = analogRead(A1);
29 29
30 rf02_prepAll(); 30 rf02_prepAll();
31   31  
32 Serial.println("done" ); 32 Serial.println("done" );
33 } 33 }
34   34  
35 void loop() 35 void loop()
36 { 36 {
37 unsigned char _tx_buffer[]="aab\0"; 37 unsigned char _tx_buffer[]="mrc";
38 unsigned int Motor; 38 unsigned int Motor;
39 unsigned int Rudder; 39 unsigned int Rudder;
40 unsigned int Check; 40 unsigned char Check;
41 signed int ble; 41 signed int ble;
42 42
43 Motor = analogRead(A0); 43 Motor = analogRead(A0);
44 Rudder = analogRead(A1); 44 Rudder = analogRead(A1);
45   45  
46 Motor = MotorOffset - Motor; 46 Motor = MotorOffset - Motor;
47 Rudder = 512 - ((RudderOffset - Rudder)<<2); 47 Rudder = 512 - ((RudderOffset - Rudder)<<2);
48 Motor>>=4; 48 Motor>>=2;
49 Rudder>>=5; 49 Rudder>>=2;
-   50 if (Motor>200) Motor=0;
-   51 if (Rudder>250) Rudder=0;
50   52  
51 if (Motor>32) Motor=0; -  
52 if (Rudder>32) Rudder=0; -  
53 Check=Motor+Rudder; 53 Check=Motor+Rudder;
54 if (Check>32) Check-=32; -  
55   -  
56 Motor+=(Motor>9)?('a'-10):'0'; -  
57 Rudder+=(Rudder>9)?('a'-10):'0'; -  
58 Check+=(Check>9)?('a'-10):'0'; -  
59 54
60 _tx_buffer[0]=Motor; 55 _tx_buffer[0]=(unsigned char)Motor;
61 _tx_buffer[1]=Rudder; 56 _tx_buffer[1]=(unsigned char)Rudder;
62 _tx_buffer[2]=Check; 57 _tx_buffer[2]=Check;
63 58
64 rf02_txdata( _tx_buffer, sizeof(_tx_buffer)); 59 rf02_txdata( _tx_buffer, sizeof(_tx_buffer));
65 } 60 }
66   61  
67   62