Site Language

Translate

Russian Albanian Arabic Armenian Azerbaijani Belarusian Bulgarian Catalan Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Serbian Slovak Slovenian Spanish Swedish Turkish Ukrainian Yiddish

CashBack Реальный возврат при покупках в интернете

Основные версии плат Arduino

Due — плата на базе 32-битного ARM микропроцессора Cortex-M3 ARM SAM3U4E;

Leonardo — плата на микроконтроллере ATmega32U4;

Uno — самая популярная версия базовой платформы Arduino;

Duemilanove — плата на микроконтроллере ATmega168 или ATmega328;

Diecimila — версия базовой платформы Arduino USB;

Nano — компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B;

Mega ADK — версия платы Mega 2560 с поддержкой интерфейса USB-host для связи с телефонами на Android и другими устройствами с интерфейсом USB;

Mega2560 — плата на базе микроконтроллера ATmega2560 с использованием чипа ATMega8U2 для последовательного соединения по USB-порту;

Mega — версия серии Mega на базе микроконтроллера ATmega1280;

Arduino BT — платформа с модулем Bluetooth для беспроводной связи и программирования;

LilyPad — платформа, разработанная для переноски, может зашиваться в ткань;

Fio — платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки;

Mini — самая маленькая платформа Arduino;

Pro — платформа, разработанная для опытных пользователей, может являться частью большего проекта;

Pro Mini — как и платформа Pro, разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность.

 

CashBack Все честно и без обмана

 

Это информационный ресурс с лучшими инструкциями и туториалами по использованию контроллеров Arduino

 Карта сайта Arduino, Mega ADK, Cubieboard Cubietech, Arduino Uno, Arduino Mega2560, Карта сайта, Arduino Fio, Cubietruck, Arduino Ethernet, Esplora, Arduino Robot, Raspberry, Arduino Leonardo, Arduino Due, Arduino Micro, Banana, Intel Galileo Gen 2, Arduino Duemilanove, Beaglebone, BananaPro, Arduino Usb, Intel, Intel Galileo, Intel, Intel Galileo, Intel Edison, Intel Edison, Intel Galileo Gen 2, Карта сайта, Arduino Duemilanove, Mega ADK, Arduino Duemilanove, Arduino Nano, Arduino Leonardo, Arduino Due, Arduino Micro, Arduino Lilypad, Arduino Uno, Arduino Uno, Arduino Mega2560, Cubietruck, Raspberry, Banana, Arduino Leonardo, Arduino Due, Lilypad Arduino Simple, Lilypad, Arduino Usb, Arduino Micro, Lilypad, Arduino Simple Snap, Lilypad Arduino Simple, Intel, Lilypad, Arduino Cubieboard, Arduino Usb, BananaPro, Arduino Gemma, Arduino EthernetArduino Yin, Arduino Zero, Mega ADK, Arduino 101 Genuino 101, Arduino mini, Lilypad Arduino Simple, Lilypad, Arduino Pro, Intel, Arduino Fio, Arduino Gemma, Arduino BT, Arduino Fio, Arduino Mega, Arduino NanoMega ADK, Arduino Uno, Arduino Diecimila, BananaPro, Intel, Intel Galileo, Arduino Ethernet, Arduino BT, Arduino Mega, Arduino Duemilanove, Arduino Nano, Esplora, Raspberry, Banana, Arduino Robot

Карта памяти SD

Микро SD-карта модуль

Питание: 4.5 В ~ 5.5 В, 3.3 с регулятором напряжения

Коммуникационный интерфейс: стандартный интерфейс SPI

   
   

Параметр:

1. Напряжение питания: 4.5 В (мин), 5 В (типичный), 5.5 В (макс.)
2. Ток: 0.2mA (мин), 80mA (типичный), мА (Макс.)
3. Поддерживаемые карты: микро SD карты (<= 2 г), Мирко SDHC карты (<= 32 г)
4. Размер: 42x24x12 мм
5. Вес:  5 г

Интерфейс:
1. Интерфейс управления: Шесть выводов (GND, VCC, Мисо, MOSI, СХК, CS), GND общий, VCC питания, Мисо, MOSI, СХК является SPI, CS

2. 3.3 В регулятор напряжения: LDO регулятор выход 3.3 В

3. Преобразования уровня цепи: Сигнал микро SD карты в направлении 3.3 В, Мисо сигнал, который управления интерфейс направлении также превращается в 3.3 В. Генеральный AVR микроконтроллер система может читать сигнала;

4. Микро разъем SD-карта: легко вставить и удалить

5. Колличество отверстий: 4 шт. 2 мм диаметр винта M2

Картридер microSD доступен при помощи библиотеки SD Library.

Библиотека SD предназначена для чтения и записи информации карт памяти SD. Библиотека поддерживает файловые системы FAT16 и FAT32 на стандартных SD-картах и картах памяти SDHC. При этом необходимо помнить, что корректно библиотека поддерживает работу только с короткими именами файлов по схеме

Начиная с версии 1.0, библиотека поддерживает открытие нескольких файлов.

Библиотека использует выводы 11, 12 и 13 (на большинстве плат Arduino) или 50, 51 и 52 (Arduino Mega). При использовании этой библиотеки вывод 4 задействуется для сигнала SS (Slave Select).

Arduino-библиотека SD

Класс SD

Класс SD предоставляет функции для доступа к карте памяти SD и манипулирования файлами и каталогами.

Функции класса SD:

 begin();

 exists();

 mkdir();

 open();

 remove();

 rmdir().

 

Функция begin()

Функция begin() инициализирует библиотеку SD, назначая вывод для сигнала SS (Slave Select).

Синтаксис

SD.begin(); SD.begin(pin)

Параметр: pin — вывод для сигнала SS.

Возвращаемые значения: true — в случае удачного соединения, false — в случае неудачи.

Функция exists()

Функция exists() проверяет, существует на карте SD файл или каталог. Синтаксис:

SD.exists(path)

Параметр: path — имя файла или каталога.

Возвращаемые значения: true — в случае удачного соединения, false — в случае неудачи.

Функция mkdir()

Функция mkdir() cоздает папку на карте памяти SD. Синтаксис:

SD.exists(dirpath)

Параметр: dirpath — имя создаваемого каталога (папки). Если параметр задается в виде пути с несуществующими промежуточными каталогами, то создаются и все промежуточные каталоги.

Возвращаемые значения: true — если папка создана, false — в случае неудачи.

Функция rmdir()

Функция rmdir() удаляет папку с карты памяти SD, папка должна быть пустой. Синтаксис:

SD.exists(dirpath)

Параметр: dirpath — имя удаляемой папки.

Возвращаемые значения: true — если папка удалена, false — в случае неудачи.

Функция open()

Функция open() открывает файл на карте памяти SD. Если файл не существует и открывается для записи, то он будет создан.

 

Синтаксис:

SD.open(filepath) SD.open(filepath, mode)

Параметры:

 filepath — имя открываемого файла;

 mode — режим открытия файла:

— открыть файл для чтения, начиная с начала файла;

— открыть файл для чтения и записи, начиная с конца файла. Возвращаемые значения: true — в случае удачи, false — в случае неудачи.

Функция remove()

Функция remove() удаляет файл с карты памяти SD. Синтаксис:

SD.remove(filepath)

Параметр: filepath — имя удаляемого файла.

Возвращаемые значения: true — в случае удачи, false — в случае неудачи.

Класс File

Класс File предоставляет функции для чтения и записи отдельных файлов на карте памяти SD.

Функции класса File:

 

 available();

 close();

 flush();

 peek();

 position();

 print();

 println();

 seek();

 size();

 read();

 write();

 isDirectory();

 openNextFile();

 rewindDirectory().

Функция available()

Функция available() проверяет, есть ли доступный для чтения байт в открытом файле.

Синтаксис:

myFile.available()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: число доступных для чтения байтов.

 

Пример использования функции available() представлен в примере

 

// открыть файл для чтения myFile = SD.open("test.txt",); if (myFile)

{

// чтение из файла и отправка

// в последовательный порт while (myFile.available())

{

Serial.write(myFile.read());

}

}

// закрыть файл myFile.close();

 

Функция close()

Функция close() закрывает файл и сохраняет записанные на него данные на карту SD. Синтаксис:

myFile.close()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемого значения нет.

Функция flush()

Функция flush() гарантирует, что любые байты, записанные в файл, физически сохранятся на SD-карте (при закрытии файла это делается автоматически).

Синтаксис:

myFile.flush()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемого значения нет.

Функция peek()

Функция peek() считывает байт из файла из текущей позиции, не продвигаясь к следующей позиции.

Синтаксис:

myFile.peek()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемые значения: байт из файла или –1, если байт не считан.

 

Функция position()

Функция position() возвращает текущую позицию в файле, куда следующий байт будет записываться или откуда считываться.

Синтаксис:

myFile.position()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: текущая позиция в файле.

Функция print()

Функция print() записывает данные в файл, который был открыт для записи. Синтаксис:

myFile.print(data) myFile.print(data, BASE)

Параметры:

 File — экземпляр файла File, возвращаемый SD.open();

 data — данные для записи в файл;

 BASE — вид передаваемых символов:

• BIN — двоичный;

• DEC — десятичный;

• OCT — восьмеричный;

• HEX — шестнадцатеричный. Возвращаемого значения нет.

Функция println()

Функция println() записывает данные в файл, который был открыт для записи, данные дополняются символами перевода строки.

Синтаксис:

myFile.println() myFile.println(data) myFile.println(data, BASE)

Параметры:

 File — экземпляр файла File, возвращаемый SD.open();

 data — данные для записи в файл;

 BASE — вид передаваемых символов:

• BIN — двоичный;

• DEC — десятичный;

• OCT — восьмеричный;

• HEX — шестнадцатеричный. Возвращаемого значения нет.

Функция seek()

Функция seek() устанавливает новую позицию в файле для чтения или записи байта. Синтаксис:

myFile.seek(pos)

Параметры:

 File — экземпляр файла File, возвращаемый SD.open();

 pos — новая устанавливаемая позиция в файле для чтения или записи в файле. Возвращаемые значения: true — в случае удачи, false — в случае неудачи.

Функция size()

Функция size() возвращает размер файла в байтах. Синтаксис:

myFile.size()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: размер файла в байтах.

Функция read()

Функция read() возвращает байт из открытого файла. Синтаксис:

myFile.read()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: полученный из файла байт.

Функция write()

Функция write() записывает данные в открытый для записи файл. Синтаксис:

myFile.write(data) myFile.write(buf, len)

Параметры:

 File — экземпляр файла File, возвращаемый SD.open();

 data — передаваемые данные;

 buf — массив символов или байтов;

 len — размер символов в буфере для записи. Возвращаемое значение: количество записанных байтов.

Функция isDirectory()

Функция isDirectory() проверяет, является ли текущий файл каталогом или нет. Синтаксис:

myFile.isDirectory()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: true — если да, false — если нет.

Функция openNextFile()

Функция openNextFile() возвращает имя следующего по позиции файла из каталога. Синтаксис:

myFile.openNextFile()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: имя следующего файла из каталога.

Функция rewindDirectory()

Функция rewindDirectory() приведет вас обратно в первый файл в каталоге. Функ- ция используется в сочетании с openNextFile().

Синтаксис:

rewindDirectory()

Параметр: File — экземпляр файла File, возвращаемый SD.open(). Возвращаемое значение: имя первого файла каталога.

Запись показаний датчиков на SD-карту

Создадим скетч на Arduino, позволяющий каждую секунду записывать показания с нескольких датчиков на SD-карту. Схема подключения представлена на рисунке. Воспользуемся платой Ethernet shield, имеющей разъем для карт типа microSD. Для сигнала SS используется вывод 4.

Показания с датчиков температуры будем снимать 1 раз в 60 сек. Для получения времени применим библиотеку RTClib, которую можно скачать по ссылке https://github.com/adafruit/RTClib. Класс RTC_Millis использует Arduino-функцию millis(), добавляющую смещение к первоначально установленному времени — оно устанавливается в момент компиляции скетча из системного времени компьютера.

 

  

 Схема подключения DS18B20
 Схема подключения DS18B20

Сначала необходимо подключить необходимые библиотеки, инициализировать их и установить начальное время.

Sketch code

TAB_TEXT

TAB_TITLE 2

TAB_TEXT

#include <Wire.h>

#include "RTClib.h"

#include <SD.h>

#include <SPI.h>

#include <OneWire.h>

// вход 1wire датчиков OneWire ds(7);

// 1wire коды датчиков

byte my_addr[3][8]={{0x28,0x81,0xC4,0xBA,2,0,0,0x3B},

{0x28,0x67,0xE5,0xC7,2,0,0,0xA0},

{0x28,0xF6,0x98,0xBA,2,0,0,0x92}};

// текущий датчик int tek_sensor=0; File myFile; RTC_Millis RTC; DateTime dt;

unsigned int gettemp=0;

// имя файла текущего дня ymd String sfilename;

char filename[20];

// температура, полученная с датчика String sTemp;

 

// строка для записи в файл String record;

void setup () { Serial.begin(9600); Wire.begin();

RTC.begin(DateTime( DATE , TIME )); if (!SD.begin(4)) {

Serial.println("initialization SD failed!"); return;

}

Serial.println("initialization SD done.");

}

 

Запись данных о состоянии датчиков происходит в циклической процедуре loop(). Каждые 60 секунд получаем текущее время (в формате H:s) и температуру для текущего датчика и формируем строку для записи в файл текущего дня (формат y-m-d.txt). Для проверки выводим строку в монитор последовательного порта . Содержимое функции loop() представлено в примере. Проверяем на компьютере содержимое файлов на SD-карте.

Вывод данных в монитор последовательного порта
Вывод данных в монитор последовательного порта

 

Sketch code

 

 

void loop ()

{

// проверка, прошло 60 сек? if(millis()/60000!=gettemp)

 

{

gettemp=millis()/60000;

// получить имя файла для текущего дня sfilename=get_file_name(); sfilename.toCharArray(filename,20); if (SD.exists(filename))

{Serial.println("file exists."); } else

{Serial.println("file not exists."); }

// открыть файл или создать

myFile = SD.open(filename, FILE_WRITE);

// получить температуру

int Temp=get_temp(tek_sensor+1); sTemp=String(Temp/16); sTemp+="."; sTemp+=String(((Temp%16)*100)/16);

// получить время H:m

// создать запись для файла record=get_time(); record+=" ";

record+=String(tek_sensor+1); record+=" ";

record+=sTemp; record=get_time(); record+=" ";

record+=String(tek_sensor+1); record+=" ";

record+=sTemp; Serial.println(record); myFile.println(record); myFile.close();

// указатель на следующий сенсор tek_sensor=(tek_sensor+1)%3;

}

}

Функции получения имени файла get_file_name() и текущего времени get_time()

представлены в примере.

 

// получение времени дня String get_time()

{

String time1; dt = RTC.now();

 

if(dt.hour()<10) time1="0"+String(dt.hour(),DEC); else

time1=String(dt.hour(),DEC); if(dt.minute()<10) time1+=":0"+String(dt.minute(),DEC); else time1+=":"+String(dt.minute(),DEC); return time1;

}

// получение имени файла для текущего дня String get_file_name()

{

String filename1; dt = RTC.now();

filename1+=String(dt.year()-2000,DEC); if(dt.month()<10)

filename1+="-0"+String(dt.month(),DEC); else

filename1+="-"+String(dt.month(),DEC); if(dt.day()<10)

filename1+="-0"+String(dt.day(),DEC); else

filename1+="-"+String(dt.day(),DEC); filename1+=".txt";

return filename1;

}

 

Содержимое файлов с данными датчиков температуры
Содержимое файлов с данными датчиков температуры

 

Рассмотренный пример имеет один недостаток — при пропадании питания теряется точное время. Поэтому, как вариант, можно использовать микросхему DS1307, где будет сохраняться точное время и в отсутствие питания на плате Arduino (при подключении к батарейке).

 Плата расширения L293D, ИК-датчик VS1838B, TFT LCD, Модем M590E GSM GPRS, "монитор TFT LCD, датчик движения HC-SR501, ИК-пульт дистанционного управления, Радиомодуль NRF24L01, SD Card Module, Звуковой модуль, 5-axis stepper motor driver, Шаговый двигатель, Модем M590E GSM GPRS, 5-axis stepper motor driver,  Часы реального времени DS 3231/DS 1307, терморегулятор W1209 DC, Релейный модуль, датчик движения HC-SR501, Модуль Wi-Fi ESP8266-12E,  датчик движения HC-SR501, Передатчик и приемник в диапазоне RF 433 Mhz, Блок питания, L293D, Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, Датчики контроля температуры, Радиомодуль NRF24L01, OKI 120A2, Rotary Encoder, SD Card Module, Беспроводной пульт дистанционного управления, Микросхема контроллера коллекторного электродвигателя, Модуль Bluetooth HC-06,, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Mini 360 на схеме LM2596, MP3-TF-16P, L293D, Модуль LCD монитора, Инфракрасные датчики расстояния, Часы реального времени,  USB Host Shield, HC-SR501, Cветочувствительный датчик сопротивления, блок питания Mini 360 на схеме LM2596, ЖК-дисплей TFT дисплей, Контроллер L298N, HC-SR501, Модуль MP3 Player WTV020, GSM GPRS, Сервоприводы, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Модуль Wi-Fi ESP8266-12E, Инфракрасные датчики расстояния, Card Module, Ультразвуковые дальномеры HC-SR04, Блок питания,  Карта памяти SD, Mini 360, Ethernet shield, L293D, блок питания Mini 360 на схеме LM2596, Радиомодуль, датчик температуры DS18B20, ИК-пульт дистанционного управления, USB конвертер UART, ИК-пульт,  Антена для модуля WiFi, Ethernet shield,  Модуль блока питания XL6009, Микросхема контроллера коллекторного электродвигателя, Модуль качества воздуха MQ-135, Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, SD Card Module, Радиомодуль NRF24L01, двигатель OKI,  5-axis stepper motor driver, L293D, TB6560, Драйвер шагового двигателя TB6600, Шаговый двигатель,  Модуль камеры, Блок питания, L293D, блок питания Mini 360 на схеме LM2596, 5axis mach3 interface, Карта памяти SD, Ethernet shield, Контроллер L298N, датчик движения HC-SR501, Модуль Wi-Fi ESP8266-12E, Модуль LCD монитора LCD1602, Шаговый двигатель OKI 120A2, Шаговый двигатель, Шаговый двигатель.

 

All Vintage Vinyl Records VinylSU.xyz

1.png2.png3.png4.png5.png

RSS