Troche musialem pozmieniac wykorzystanie pinow w Arduino Nano i mam takie ustawienia przy ktorych nie ma konfliktu pomiedzy modulem karty na starcie z wyswietlaczem LCD:
LiquidCrystal lcd(11, 12, 9, 8, 7, 6);
Pojawil sie natomiast inny powazny problem z odczytem danych z karty SD. Chcialem utworzyc fukcje odczytu danych z pliku ale wynik na monitorze jest porazajacy. W pliku zapisalem Notatnikiem zestaw czestotliwosci tak jak w procedurze w wywolaniu "case" ale po odczycie otrzymuje kaszane na przyklad:
{86,32,42,06,20,84,69,02,12,92,62,06,62,24,22,46,62,516538520490580398384370516460490312336308480370412430400560460308336312528538464458480460434340412350,
600320,400380,800380,700380,06,6,7,7,5,3,5,0,5025,0052,50100200450550730850900930970150,150256,320291,500455,200553,400971}
To w ogole nie sa wartosci zapisane w pliku na karcie (notatnikiem)
Funkcja wyglada nastepujaco:
Jest zbudowana na podstawie przykladu z Internetu ale moze zawierac bledy wiec prosze o weryfikacje.
Zatrzymalem sie w pracy niestety nie mam pomyslu gdzie jest blad.
LiquidCrystal lcd(11, 12, 9, 8, 7, 6);
Pojawil sie natomiast inny powazny problem z odczytem danych z karty SD. Chcialem utworzyc fukcje odczytu danych z pliku ale wynik na monitorze jest porazajacy. W pliku zapisalem Notatnikiem zestaw czestotliwosci tak jak w procedurze w wywolaniu "case" ale po odczycie otrzymuje kaszane na przyklad:
{86,32,42,06,20,84,69,02,12,92,62,06,62,24,22,46,62,516538520490580398384370516460490312336308480370412430400560460308336312528538464458480460434340412350,
600320,400380,800380,700380,06,6,7,7,5,3,5,0,5025,0052,50100200450550730850900930970150,150256,320291,500455,200553,400971}
To w ogole nie sa wartosci zapisane w pliku na karcie (notatnikiem)
Funkcja wyglada nastepujaco:
Kod:
// funkcja czytania z pliku na karcie
void czytajplik(char Name[10], int n, unsigned long freq[])
{
digitalWrite(ctrlpin, LOW); //sygnal "Enable" LCD down
File Preset;
SD.begin(10); // CS to pin 10
Preset = SD.open(Name,FILE_READ);
Serial.println(Name); //kontrola wynik poprawny
n=(Preset.available()); // blad bo wyswietla liczbe znakow - bajtow?
Serial.println(n);
while (Preset.available()) //wykonuj pętlę dopókiwszystkie dane
{ //nie zostaną zczytane
Serial.write(Preset.read()); //wypisz zawartość pliku
freq[(Preset.read())]; //podstawienie do tablicy
}
Preset.close(); //zamknij plik
//return;
digitalWrite(ctrlpin, HIGH); // pin "enable" LCD UP
lcd.clear();
}
Zatrzymalem sie w pracy niestety nie mam pomyslu gdzie jest blad.
Poczatki zawsze sa trudne :-)
Arduino Mega256, Nano, Pro Mini.
Arduino Mega256, Nano, Pro Mini.