#include <SD.h>
const int chipSelect = 10; // пін для підключення SD-карти
File myFile;
int speakerPin = 10; // пін для підключення динаміка
int endTone = 5000; // частота закінчення передачі
int signal[] = {1, 0, 1, 0, 1, 0, 1, 0};
int frequency0 = 1000; // частота для біту "0"
int frequency1 = 2000; // частота для біту "1"
int duration = 100; // тривалість кожного біту (в мілісекундах)
int signalLength = 8; // довжина бінарного сигналу
void setup() {
//Serial.begin(115200);
pinMode(13, OUTPUT);
Serial.begin(115200);
Serial.print("Initializing SD card... ");
if (!SD.begin(chipSelect)) {
Serial.println("Card initialization failed!");
while (true);
}
Serial.println("initialization done.");
Serial.println("Files in the card:");
myFile = SD.open("/");
printDirectory(myFile, 0);
Serial.println("");
File textFile = SD.open("audio.txt");
if (textFile) {
Serial.print("audio.txt: is opened");
while (textFile.available()) {
Serial.write(textFile.read());
}
} else {
Serial.println("error opening audio.txt");
}
Serial.println("heret\t");
message();
printDirectory(myFile, 0);
Serial.println("\t");
Serial.write(textFile.read());
if (textFile) {
Serial.print("audio.txt: is opened \t");
while (textFile.available()) {
Serial.write(textFile.read());
}
} else {
Serial.println("error opening audio.txt \t");
}
textFile.close();
Serial.println("closed");
}
void loop() {
analogRead(A0);
}
void message(){
//int sample = analogRead(A0);
int mass[] = {1,3};
for(int i = 0; i<= 7; i++) {
int sample = analogRead(A0);
if (signal[i] == 0) {
tone(speakerPin, frequency0, duration);
Serial.println(signal[i]);
Serial.println(sample * 5 / 1024.0);
Serial.println(sample);
digitalWrite(9,HIGH);
digitalWrite(9, LOW);
mass[i] = sample;
Serial.println("-------------");
} else {
tone(speakerPin, frequency1, duration);
Serial.println(signal[i]);
Serial.println(sample * 5 / 1024.0);
Serial.println(sample);
Serial.println("-------------");
digitalWrite(11, HIGH);
digitalWrite(11, LOW);
mass[i] = sample;
}
delay(1500);
}
for(int i = 0; i <= 7; i++){
Serial.print(mass[i]);
Serial.print("-------");
}
}
void printDirectory(File dir, int numTabs) {
while (true) {
File entry = dir.openNextFile();
if (! entry) {
// no more files
break;
}
for (uint8_t i = 0; i < numTabs; i++) {
Serial.print('\t');
}
Serial.print(entry.name());
if (entry.isDirectory()) {
Serial.println("/");
printDirectory(entry, numTabs + 1);
} else {
// files have sizes, directories do not
Serial.print("\t\t");
Serial.println(entry.size(), DEC);
}
entry.close();
}
}