pan7nikt

Radio

Feb 13th, 2020
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. #include <LiquidCrystal.h>
  2. #include <Arduino.h>
  3. #include <Wire.h>
  4. #include <radio.h>
  5. #include <RDA5807M.h>
  6. #define FIX_BAND RADIO_BAND_FM
  7. //podpisanie modulu RDA jako radio
  8. RDA5807M radio;    
  9. //podpisanie pinow wyswietlacza LCD
  10. LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
  11.  
  12. //inty do czestotliwosci i glosnosci
  13. uint16_t freqInt = 10050;
  14. uint8_t vol;
  15.  
  16. void setup()
  17. {
  18.   lcd.begin(16,2);
  19.   //zalaczenie konsoli
  20.   Serial.begin(9600);
  21.   //przelaczenie pinow w tryb analogowego wejscia
  22.   pinMode(A2, INPUT_PULLUP);
  23.   pinMode(A3, INPUT_PULLUP);
  24.  
  25.   //konwersja inputu z potencjometrow na inty
  26.   freqInt = map(analogRead(A3), 0, 1023, 7000, 12000);
  27.   vol = map(analogRead(A2), 0, 1023, 0 , 15);
  28.   //debug info z konwersji
  29.   Serial.println("Czestotliwosc przy uruchomieniu: ");
  30.   Serial.println(freqInt);
  31.   Serial.println("Glosnosc przy uruchomieniu: ");
  32.   Serial.println(vol);
  33.  
  34.   //inicjalizacja radia
  35.   radio.init();
  36.  
  37.   //tryb debugowania
  38.   radio.debugEnable();
  39.  
  40.   radio.setMute(false);
  41.   radio.setMono(false);
  42. }
  43.  
  44. void loop()
  45. {
  46.   //konwersja inputu z potencjometrow na inty
  47.   freqInt = map(analogRead(A3), 0, 1023, 7000, 12000);
  48.   vol = map(analogRead(A2), 0, 1023, 0 , 15);
  49.   Serial.println("Czestotliwosc z potencjometru: ");
  50.   Serial.println(freqInt);
  51.   Serial.println("Glosnosc z potencjometru: ");
  52.   Serial.println(vol);
  53.  
  54.   radio.clearRDS();
  55.   radio.setBandFrequency(FIX_BAND, freqInt);
  56.   radio.setVolume(vol);
  57.   radio.setMute(false);
  58.   radio.setMono(false);
  59.  
  60.   char s[12];
  61.   radio.formatFrequency(s, sizeof(s));
  62.   Serial.println("Czestotliwosc rzeczywista: ");
  63.   Serial.println(s);
  64.  
  65.   //wyswietlenie czestotliwosci
  66.   lcd.setCursor(0, 0);
  67.   lcd.print("freq: ");
  68.   lcd.setCursor(7, 0);
  69.   lcd.print(s);
  70.   //wyswietlenie glosnosci
  71.   lcd.setCursor(0,1);
  72.   lcd.print("vol: ");
  73.   lcd.setCursor(6,1);
  74.   lcd.print(vol);
  75.  
  76.   delay(1000);
  77. }
Add Comment
Please, Sign In to add comment