Buonasera a tutti, sono nuova del forum e di arduino e avrei bisogno, siccome sto usando questa scheda per un progetto all'uni, di qualcuno che puo' aiutarmi.
Vi spiego devo in pratico utilizzando arduino uno acquisire dei valori dal microfono e al raggiungimento di una determinata soglia far fermare tale acquisizione, successivamente tramite uno schield SD memorizzare tali dati su un file txt. Il problema è ke non so come fare a far scrivere i valori di tale variabile, forse mi sfugge qls.. vi allego il codice:
#include <SD.h>
#include <SPI.h>
#include <Process.h>
int CS_pin = 10;
const int analog = A0;
int sensorValue = 0;
File myFile;
void setup()
{
pinMode(CS_pin, OUTPUT);
Serial.begin(9600);
if (!SD.begin(CS_pin))
{
Serial.println("Avvio SD Card fallito!");
return;
}
Serial.println("SD Card avviata.");
/* Scrittura del file *******************************************/
myFile = SD.open("registra.txt", FILE_WRITE);
if (myFile)
{
Serial.println("Mi preparo a scrivere il file test.txt ...");
myFile.println(sensorValue);
myFile.close();
Serial.println("scrittura eseguita correttamente.");
}
else
{
Serial.println("Non è stato possibile scrivere il file test.txt!");
}
/* Lettura del file *******************************************/
myFile = SD.open("registra.txt", FILE_READ);
if (myFile)
{
Serial.println("Leggo il contenuto di test.txt :");
while (myFile.available())
{
Serial.write(myFile.read());
}
myFile.close();
}
else
{
Serial.println("Non è stato possibile leggere il file test.txt!");
}
}
void loop()
{
while(1)
{
sensorValue=analogRead(analog);
//myFile.println(sensorValue);
delay(1);
Serial.print("sensor = ");
Serial.print(sensorValue);
Serial.print("\n");
if (sensorValue > 30)
{
Process alarm;
digitalWrite(13,HIGH);
myFile.println(sensorValue);
myFile.close();
while(1){}
}
}
}