реклама:

Запись данных. Модуль SD карты. Часть 13.

Запись данных. Модуль SD карты.

Если вы не собираетесь записывать данные на SD карту, то подключение SD карты можно пропустить. Контроллер будет работать и без этой функции. Если вы хотите записывать все данные, то понадобиться модуль SD карты для Arduino. На самом деле, подключается все просто. Вам необходимо 6 проводков, чтобы сделать это.

Модуль SD карты для Arduino

Датчик DS18B20 в гильзе

Для питания модуля SD используется напряжение 3.3В Его можно взять либо напрямую с платы arduino (выход с маркировкой 3V3), именно его я использовал на схеме. Либо можно брать стандартные 5В но подключать их надо уже к контакту +5 на модуле. В таком случае модуль SD будет сам прообразовывать напряжение 5В в 3.3В

В первый раз, когда я подключал модуль SD я промучился несколько дней и спалил одну SD карту. Могу сказать, что у меня успешно работает mini SDHC карта на 4GB через переходник, который шел в комплекте. В результате экспериментов выяснилось, что чем больше размер кластера – тем лучше работает карта. С маленьким размером кластера карта вообще не определялась. Размер кластера задается во время форматирования SD карты на компьютере. Файловая система FAT32.

Форматирование SD карты для Arduino

Форматирование SD карты. Открыть карту в проводнике, правой кнопкой мышки и выбрать Форматировать...

Можно проверить результат подключения модуля SD выполнив вот этот пример – скетч. Он обнаруживает SD карту, и создает на ней файл с именем house4u.txt с текстом «hello SD»

Текст примера:


// include the library code:

#include <LiquidCrystal.h>



#include <SPI.h>

#include <SD.h>

// LCD пин управления яркостью

#define PWM_LED_PIN 3 

// LCD пин управления контрастом

#define PWM_LED_CONTRAST 4 



// LCD другие пины

#define PIN_LCD_RS 39

#define PIN_LCD_EN 41

#define PIN_LCD_D4 43

#define PIN_LCD_D5 45

#define PIN_LCD_D6 47

#define PIN_LCD_D7 49

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd( PIN_LCD_RS, PIN_LCD_EN, PIN_LCD_D4, PIN_LCD_D5, PIN_LCD_D6, PIN_LCD_D7 );

  

File myFile;  

const int chipSelect = 53; // MEGA CS

boolean HaveSDCard = false;



void setup() {   

  analogWrite( PWM_LED_PIN, 255 );

  analogWrite( PWM_LED_CONTRAST, 50 );  

  lcd.begin(16, 2); //настройка дисплея - 16x02

  lcd.print("House4u sol.proj"); //выводим приветсвие  

  lcd.setCursor(0, 1); //перевод курсора на 2 строку

  

  pinMode(chipSelect, OUTPUT);

  digitalWrite(chipSelect,HIGH);

  

  if (SD.begin(chipSelect) )

  {

    HaveSDCard = true;

    lcd.print("SD Card - OK");   

  }

  else

    lcd.print("SD Card - FAIL");  

    

  delay( 2000 );

}



void loop() 

{                

  if ( HaveSDCard )

  { 

    lcd.setCursor(0, 1); //перевод курсора на 2 строку 

    lcd.print("                ");

    lcd.setCursor(0, 1);

    

    myFile = SD.open("house4u.txt", FILE_WRITE);

    

    if ( !myFile )

      for ( int i = 0; i < 5; i++ )

         {

           if ( !myFile )

           {

              delay( 500 );

              myFile = SD.open("house4u.txt", FILE_WRITE );    

           }

         }  

         

    if ( myFile )

    {      

      myFile.println("hello SD");

      // close the file:

      delay(500);

      myFile.close();             

      myFile.flush();    

      lcd.print("Writing OK. DONE");          

    }

    else  

      lcd.print("Writing FAIL!"); 

  }

  

  HaveSDCard = false;

}

Результат выполнения примера:

Модуль SD карты для Arduino

#1 - нет SD карты. #2 - Карта найдена. #3 - Успешная запись в файл.

Кажется это все!!! Мы подключили и проверили все компоненты, которые необходимы для правильного функционирования нашего контроллера для солнечных коллекторов. У меня, как у «первопроходца» на все это ушла не одна неделя, пока я собирал воедино всю информацию, осваивал программирование arduino, ждал компоненты по почте и т.д… Надеюсь, имея все данные в одном месте и понятные инструкции вы сможете собрать контроллер для солнечных коллекторов гораздо быстрее!


<< НазадДальше >>


Поделиться с друзьями:

Поддержка проекта