Rev 2141 Rev 2151
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[]="mrc"; 37 unsigned char _tx_buffer[]="mrc";
38 unsigned int Motor; 38 unsigned int Motor;
39 unsigned int Rudder; 39 unsigned int Rudder;
40 unsigned char 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 //!!!
-   47 Serial.print(Motor, DEC);
-   48 Serial.print(" * ");
-   49 Serial.println(Rudder, DEC);
-   50  
46 Motor = MotorOffset - Motor; 51 Motor = MotorOffset - Motor;
-   52 Rudder=1023-Rudder;
47 Rudder = 512 - ((RudderOffset - Rudder)<<2); 53 Rudder = 512 - ((RudderOffset - Rudder)<<2);
48 Motor>>=2; 54 Motor>>=2;
49 Rudder>>=2; 55 Rudder>>=2;
50 if (Motor>200) Motor=0; 56 if (Motor>200) Motor=0; // Odstranit pro programovani regulatoru
51 if (Rudder>250) Rudder=0; 57 if (Rudder>250) Rudder=0;
-   58 //if (Rudder<71) Rudder=71;
52   59  
53 Check=Motor+Rudder; 60 Check=Motor+Rudder;
54 61
55 _tx_buffer[0]=(unsigned char)Motor; 62 _tx_buffer[0]=(unsigned char)Motor;
56 _tx_buffer[1]=(unsigned char)Rudder; 63 _tx_buffer[1]=(unsigned char)Rudder;
57 _tx_buffer[2]=Check; 64 _tx_buffer[2]=Check;
58 65
59 rf02_txdata( _tx_buffer, sizeof(_tx_buffer)); 66 rf02_txdata( _tx_buffer, sizeof(_tx_buffer));
60 } 67 }
61   68  
62   69