Віримо в перемогу ЗСУ!
Працюємо з 09:00 до 18:00 Пн-Сб

Плата контроллера, полюбившаяся всем почитателям этой марки

Arduino на базе микропроцессора ATmega328

  • 14 дискретных входов/выходов, 6 из которых поддерживают аппаратную ШИМ
  • 6 аналоговых 10-битных входов
  • Рекомендованное напряжение питания 7...12В
  • Максимальный ток потребителя на выводе 3,3 В: 50 мА
  • Flash память 32кБ, 0,5 кБ из которой занято загрузчиком
  • Тактовая частота 16 МГц

Данный Arduino является стандартной платой и возможно наиболее распространенной. Она основана на чипе Atmel ATmega328, имеющем на борту 32 КБ флэш-памяти, 2 Кб SRAM и 1 Кбайт EEPROM памяти. На периферие имеет 14 дискретных (цифровых) каналов ввода / вывода и 6 аналоговых каналов ввода / вывода, это очень разносторонне-полезные девайсы, позволяющие перекрывать большинство любительских задач в области микроконтроллерной техники. Чип ATmega16u2 на борту управляет последовательной связью. Данная плата контроллера является одной из самых дешовых и наиболее часто используемых. При планировании нового проекта, если вы незнакомы с платформой, советую начать с Arduino Uno.


Запись настроек в постоянную память ардуины

Часто бывает, что нам необходимо сохранить значения некоторых переменных внутри Arduino, на случай его выключения или перезагрузки. К счастью, каждый Arduino имеет внутреннюю электрически стираемое программируемое постоянное запоминающее устройство (EEPROM). Важно также знать, при пользовании EEPROM -  эта память внутри контроллера имеет жизненный цикл 100000 чтений / записи. Этого может показаться много, но это не так. Используйте EEPROM только, когда очень необходимо. Теперь перейдем к практике и попробуем запрограммировать Arduino для записи, сколько раз мы нажали на кнопку. Если питание контроллера Arduino выключить, он все равно будет помнить последний подсчет с помощью EEPROM.

Для эксперимента нам понадобится рассматриваемый Arduino УНО и подключенная к нему кнопка (подключим её от 12-го дискретного выхода и на общий провод питания).

Плату uno купить Украина

Следующий код прочитает последнее запомненное количество нажатий кнопки из ячейки памяти EEPROM и дальше,

при каждом нажатии кнопки, будет добавлять единицу к значению этого количества и записывать его назад в EEPROM:


// Подключаем библиотеку работы с EEPROM

#include <EEPROM.h>

int count = 0; // счетная переменная

int address = 9; // Адрес, где мы будем хранить значение переменной в EEPROM

int buttonPin = 12;

void setup(){

// Прочитать последнее сохраненное значение нажатий на кнопку

count = EEPROM.read(address);

pinMode(buttonPin, INPUT_PULLUP);

Serial.begin(9600);

// Напечатать в окне COM порта Arduino IDE полученное значение переменной из EEPROM

Serial.print("Initial value: ");

Serial.println(count);

}

void loop(){

// Отслеживаем нажатие кнопки

if (digitalRead(buttonPin) == LOW){

count++; // увеличиваем счетчик на единицу

// Записывает переменную счетчика в ячейку с определенным адресом.

EEPROM.write(address, count % 256);

Serial.println(count);

delay(500); // задержка в пол секунды.

}

}


Микроконтроллер на каждой плате Arduino имеет небольшую внутреннюю память EEPROM, предназначенную для хранения данных, при пропадании питания. Размеры доступной памяти варьируются в зависимости от используемого микроконтроллера. Например, представленный здесь Arduino, который использует ATMEGA 328 имеет 1 кБ, в то время как ATmega2560 используемый в Arduino Mega 2560 имеет 4 Кб. Это означает, что микроконтроллер имеет 1024 ячейки с 1 байтом каждый. Далее попробуем поближе рассмотреть работу с библиотекой для EEPROM.


Как обычно, для начала подключаем необходимую библиотеку EEPROM.h:

#include <EEPROM.h>


Первая функция, которую мы используем из библиотеки EEPROM Arduino, следующая:

count = EEPROM.read(address);

Здесь мы читаем значение, найденное в EEPROM по указанному адресу, и сохраняем его в нашей переменной подсчета. Мы делаем это в функции setup(), так что мы можем продолжить подсчет с последнего сохраненного значения.

После этого, мы определяем каждое нажатие кнопки. Когда есть нажатие, мы увеличиваем счетчик и записываем его последнее значение в тот же адрес ячейки EEPROM:

EEPROM.write(address, count % 256);

EEPROM создана из 1-байтных ячеек, и поэтому мы не можем записать число большее чем 255 без переполнения. Мы можем использовать несколько байт для хранения больших значений, но в данном случае, так-как это простое описание, мы используем код % 256, чтобы просто начать с цифры 0, когда прийдет переполнение цифры 255.


ТЕГИ

Если вы DIY электроник или новичок, информация, содержащаяся в этой главе поможет вам получить множество знаний для построения и программирования гаджетов. Arduino лучше всего описывается как одноплатный компьютер, который изначально предназначен для использования людьми, которые не являются специалистами в области электроники, машиностроения, или программирования. Это недорогой, кросс-платформенный (программное обеспечение Arduino работает на Windows, Mac OS X и Linux) и легко программированный контроллер. Всё у Arduino Украина, аппаратное и программное обеспечение, с открытым исходным кодом и расширяемое. Arduino также мощный: несмотря на компактные размеры, он имеет примерно столько же вычислительной мощности как и у одного из первоначальных навигационных компьютеров в Программе Apollo, примерно в 35 000 раз дешевле. Программисты, дизайнеры, умельцы-самодельщики и художники во всем мире используют преимущество силы и простоты ардуины, чтобы создать все виды инновационных устройства, в том числе интерактивных датчиков, произведения искусства, и игрушки.

Компьютерная программа является закодированным рядом инструкций, которые сообщают компьютеру, что делать. Программы, которые работают на Arduino называются эскизы. Эскизы, используемые в этой статье, в основном нужны процессору для чтения данных из одного из контактов, подключенных к датчику, а также для записи информации на выходные пины, такой как выводы, соединенные с блоком LED или дисплея.

Иногда эскизы также поручают процессору обрабатывать эту информацию определенным образом: объединить потоки данных, или сравнить вход с некоторыми операндами, или даже преобразовать данные в удобном для чтения формате. Программа состоит из двух частей: setup() и loop().

Setup() часть говорит ардуине uno купить Украина, что ему нужно знать для того, чтобы делать то, что мы хотим, чтобы он сделал. Например, настройка () сообщает Arduino, какие контакты ему нужно сконфигурировать в качестве входных данных, какие контакты настроить в качестве вывода, и какие контакты не будут задействованы. Если мы будем использовать специальный выход, чтобы показать наши результаты, такие как ЖК-дисплей, настройка (), где мы скажем микроконтроллеру как работает выход. Если нам нужно общаться с внешним миром через последовательный порт или соединение локальных сетей, где мы помещаем все необходимые инструкции, чтобы сделать эту связь.

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо

Arduino UNO R3

  • Модель UNO R3 ATmega328
  • Наличие Есть в наличии
  • 464.60грн.


<< Проекты << Все товары >> Статьи, уроки >>

Рекомендуемые товары

Набор перемычек (папа-папа) 40шт 20см

Набор перемычек (папа-папа) 40шт 20см

Набор соединительных проводов для соединения плат контроллера с периферией без пайки. Подходят под с..

51.97грн.

Набор перемычек (мама-папа) 40шт 20см

Набор перемычек (мама-папа) 40шт 20см

Набор соединительных проводов для соединения плат контроллера с периферией без пайки. Подходят под с..

51.84грн.

Прото шилд для Arduino UNO

Прото шилд для Arduino UNO

Шилд для прототипирования для Arduino UNO. Призван упростить монтаж небольших любительских проектов ..

77.11грн.