000
Heute, 13:05 Uhr
wolle1945
|
Hallo, ich suche jemanden, der mir ein kleines Programm kommentiert und dann per eMail zuschicken könnte.
#include <Wire.h> #include <RDA5807.h> #include <LiquidCrystal_I2C.h> RDA5807 radio = RDA5807(); LiquidCrystal_I2C LCD(39, 16, 2); float frequency = 0; int fUP = A0; int fDOWN = A1; int count = 0; void setup() { delay(1000); Wire.begin(); radio.setup(); frequency = 88.0; //starting frequency radio.setFrequency(frequency); radio.setVolume(10); LCD.begin(16, 2); LCD.clear(); LCD.backlight(); LCD.setCursor(0, 0); LCD.print("FM: "); LCD.setCursor(0, 1); LCD.print(frequency); LCD.print(" Mhz"); } void loop() { delay (10000);if (digitalRead(fUP)) { count = 0; while (digitalRead(fUP)) { count++; if (count > 0 && count <= 6) { frequency += 0.1; frequencyUpdate(); delay(2000); } else if (count > 6 && count <= 2) { frequency += 0.1; frequencyUpdate(); delay(800); } else { frequency += 0.1; frequencyUpdate(); delay(50); } } } if (digitalRead(fDOWN)) { count = 0; while (digitalRead(fDOWN)) { count--; if (count < 0 && count >= -6) { frequency -= 0.1; frequencyUpdate(); delay(2000); } else if (count < -6 && count >= -12) { frequency -= 0.1; frequencyUpdate(); delay(800); } else { frequency -= 0.1; frequencyUpdate(); delay(50); } } } } //this function changes the frequency of the station, is called by preset and frequency up/down conditions. void frequencyUpdate() { frequency = constrain(frequency, 88.0, 108.0); LCD.setCursor(0, 0); LCD.print("Radio Search:"); LCD.setCursor(0, 1); LCD.print(frequency); LCD.print("Mhz"); radio.setFrequency(frequency); }
Die Initialisierung und Setup zu Beginn verstehe ich soweit, bis auf float frequency und Wire.begin() Für den gesamten loop-Teil hätte ich gerne eine Zeilenweise kommentierung. Ich verstehe den Ablauf if und else nicht. Wozu dient count? Ich würde gerne das Programm verstehen. Mein technischer Aufbau durchsucht das FM-Frequenzband von 88.0 bis 108.0 ohne Halt bei gefundenem Sender. -- mfG wolle1945 |