Advertisement
Le_BuG63

Receveur C++

Jan 12th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. #include <RFM69.h>
  2. #include <SPI.h>
  3.  
  4. #define NETWORKID     100
  5. #define NODEID        1
  6.  
  7. #define FREQUENCY     RF69_868MHZ
  8.  
  9. #define ENCRYPTKEY     "drapeauarbitrage"
  10. #define IS_RFM69HCW    true
  11.  
  12. #define SERIAL_BAUD   115200
  13.  
  14. #define RFM69_CS      8
  15. #define RFM69_IRQ     7
  16. #define RFM69_IRQN    4
  17. #define RFM69_RST     4
  18.  
  19. #define TONE_FREQUENCY 440  // En Hz
  20. #define DELAY          3000 // En ms
  21.  
  22. uint8_t g_PinVibreur = 13;
  23. uint8_t g_FirstPinBuzzer = 11;
  24. uint8_t g_SecondPinBuzzer = 12;
  25.  
  26. RFM69 g_Radio = RFM69(RFM69_CS, RFM69_IRQ, IS_RFM69HCW, RFM69_IRQN);
  27.  
  28. void setup() {
  29.   pinMode(RFM69_RST, OUTPUT);
  30.   digitalWrite(RFM69_RST, HIGH);
  31.   delay(100);
  32.   digitalWrite(RFM69_RST, LOW);
  33.   delay(100);
  34.  
  35.   g_Radio.initialize(FREQUENCY, NODEID, NETWORKID);
  36.  
  37.   if (IS_RFM69HCW) {
  38.     g_Radio.setHighPower();
  39.   }
  40.  
  41.   g_Radio.setPowerLevel(31); // power output ranges from 0 (5dBm) to 31 (20dBm)
  42.   g_Radio.encrypt(ENCRYPTKEY);
  43.  
  44.   pinMode(g_PinVibreur, OUTPUT);
  45.  
  46.   pinMode(g_FirstPinBuzzer, OUTPUT);
  47.   pinMode(g_SecondPinBuzzer, OUTPUT);
  48. }
  49.  
  50. void loop() {
  51.   if (g_Radio.receiveDone())
  52.   {
  53.     if ((bool)g_Radio.DATA == true)
  54.     {
  55.       uint32_t TimerStartTime = millis();
  56.  
  57.       while (millis() - TimerStartTime < DELAY) {
  58.         digitalWrite(g_PinVibreur, HIGH);
  59.  
  60.         delay(500);
  61.  
  62.         Tone(g_FirstPinBuzzer, g_SecondPinBuzzer, 440);
  63.         digitalWrite(g_PinVibreur, LOW);
  64.  
  65.         delay(500);
  66.  
  67.         noTone(g_FirstPinBuzzer);
  68.         noTone(g_SecondPinBuzzer);
  69.       }
  70.     }
  71.   }
  72.  
  73.   g_Radio.receiveDone(); //put radio in RX mode
  74. }
  75.  
  76. void Tone(uint8_t pin_1, uint8_t pin_2, unsigned frequence) {
  77.   noTone(pin_2);
  78.   tone(pin_1, TONE_FREQUENCY);
  79.   noTone(pin_1);
  80.   tone(pin_2, TONE_FREQUENCY);
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement