Rev 2140 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 RF01: (RX) 10 //connections RF01: (RX)
11 // RF01 SDI, arduino 13, ATmega PB5, cannot be changed 11 // RF01 SDI, arduino 13, ATmega PB5, cannot be changed
12 // RF01 SCK, arduino 12, ATmega PB4, cannot be changed 12 // RF01 SCK, arduino 12, ATmega PB4, cannot be changed
13 // RF01 nSEL, arduino 11, ATmega PB3, cannot be changed 13 // RF01 nSEL, arduino 11, ATmega PB3, cannot be changed
14 // RF01 SDO, arduino 10, ATmega PB2, cannot be changed 14 // RF01 SDO, arduino 10, ATmega PB2, cannot be changed
15 // RF01 niRQ, arduino 02, ATmega PD2, cannot be changed 15 // RF01 niRQ, arduino 02, ATmega PD2, cannot be changed
16 // RF01 nFFS: 1-10k Pullup too Vcc 16 // RF01 nFFS: 1-10k Pullup too Vcc
17   17  
18   18  
19 // receiving words with RF01 19 // receiving words with RF01
20   20  
21 #include <RF01.h> 21 #include <RF01.h>
22 #include <Servo.h> 22 #include <Servo.h>
23   23  
24 Servo servo_motor; 24 Servo servo_motor;
25 Servo servo_rudder; 25 Servo servo_rudder;
26   26  
27 void setup() 27 void setup()
28 { 28 {
29 Serial.begin(9600); 29 Serial.begin(9600);
30 Serial.println("\nRFM01 init"); 30 Serial.println("\nRFM01 init");
31 delay(250); 31 delay(250);
32   32  
33 servo_motor.attach(3); 33 servo_motor.attach(3);
34 servo_rudder.attach(4); 34 servo_rudder.attach(4);
35   35  
36 rf01_prepAll(); 36 rf01_prepAll();
37   37  
38 Serial.println("done"); 38 Serial.println("done");
39 } 39 }
40   40  
41 void loop() 41 void loop()
42 { 42 {
43 int n; 43 int n;
44 unsigned int Motor, Rudder, Check, Check2; 44 unsigned char Motor, Rudder, Check, Check2;
45 45
46 char* buf = (char*) _rx_buffer; 46 char* buf = (char*) _rx_buffer;
47   47  
48 rf01_rxdata(_rx_buffer, 3); 48 rf01_rxdata(_rx_buffer, 3);
49 Serial.print(buf); 49 // Serial.print(buf);
50 Serial.print(' '); 50 // Serial.print(' ');
51 51
52 Motor=_rx_buffer[0]; 52 Motor=_rx_buffer[0];
53 Motor-=(Motor>'9')?('a'-10):'0'; -  
54 Serial.print(Motor, DEC); Serial.print(' '); 53 // Serial.print(Motor, DEC); Serial.print(' ');
55 Rudder=_rx_buffer[1]; 54 Rudder=_rx_buffer[1];
56 Rudder-=(Rudder>'9')?('a'-10):'0'; -  
57 Serial.print(Rudder, DEC); Serial.print(' '); 55 // Serial.print(Rudder, DEC); Serial.print(' ');
58 Check=_rx_buffer[2]; 56 Check=_rx_buffer[2];
59 Check-=(Check>'9')?('a'-10):'0'; -  
60 Serial.print(Check, DEC); Serial.print(' '); 57 // Serial.print(Check, DEC); Serial.print(' ');
61 58
62 Check2=Motor+Rudder; 59 Check2=Motor+Rudder;
63 if (Check2>32) Check2-=32; -  
64 if (Check!=Check2) 60 if (Check!=Check2)
-   61 {
65 {Serial.print(' Error');} 62 // {Serial.print(Check2,DEC);}
-   63 }
66 else 64 else
67 { 65 {
68 servo_motor.write(Motor); 66 servo_motor.write(Motor+45);
69 servo_rudder.write(Rudder); 67 servo_rudder.write(Rudder/2+45);
70 } 68 }
71   69  
-   70 delay(15);
72 Serial.println(); 71 // Serial.println();
73 } 72 }