Працюємо з 09:00 до 19:00 Пн-Пт
Київ біля ТЦ Квадрат бул.Перова

Плата контролера Arduino UNO R3

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


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


Запис налаштувань у постійну пам'ять Arduino

Часто буває, що нам необхідно зберегти значення деяких змінних всередині Arduino, на випадок його виключення або перезавантаження. На щастя, кожен Arduino має внутрішню енергонезалежну пам'ять (EEPROM). Важливо також знати, при користуванні EEPROM - ця пам'ять всередині контролера Arduino має життєвий цикл 100000 читань / запису. Цього може здатися багато, але це не так. Використовуйте EEPROM тільки, коли дуже необхідно. Тепер перейдемо до практики і спробуємо запрограмувати Arduino для запису, скільки разів ми натиснули на кнопку. Якщо живлення вимкнути, він все одно буде пам'ятати останній підрахунок за допомогою EEPROM.

Для експерименту нам знадобиться Arduino UNO R3 та підключена до нього кнопка (підключимо її від 12-го дискретного виходу і на загальний провід живлення).

Наступний код прочитає останню запам'ятовану кількість натискань кнопки з комірки пам'яті EEPROM і далі,

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


// Подключаємо бібліотеку роботи з EEPROM

#include <EEPROM.h>

int count = 0; 

int address = 9;

int buttonPin = 12;

void setup(){

count = EEPROM.read(address);

pinMode(buttonPin, INPUT_PULLUP);

Serial.begin(9600);


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 Uno, який використовує ATMEGA 328 має 1 кБ, в той час як ATmega2560 використовуваний в Arduino Mega 2560 має 4 КБ. Це означає, що Arduino Uno має 1024 комірок з 1 байтом кожна. Далі спробуємо ближче розглянути роботу з бібліотекою для EEPROM.


Як зазвичай, для початку підключаємо необхідну бібліотеку EEPROM.h:

#include <EEPROM.h>


Перша функція, яку ми використовуємо з бібліотеки EEPROM, наступна:

count = EEPROM.read(address);

Тут ми читаємо значення, знайдене в EEPROM за вказаною адресою, і зберігаємо його в нашій змінній підрахунку. Ми робимо це в функції setup (), так що ми можемо продовжити підрахунок з останнього збереженого значення.

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

EEPROM.write(address, count % 256);

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

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре

Arduino UNO R3 + USB кабель

  • Модель UNO R3 ATmega328
  • Наявність Є в наявності
  • 212.19грн.


<< Проекти << Усі товари >> Статті, уроки >>

Рекомендовані товари

Набір перетинок (папа-папа) 40шт 20см

Набір перетинок (папа-папа) 40шт 20см

Набір з"єднувальних дротів для поєднання плат контролера з периферією без пайки. Підходять під станд..

35.84грн.

Набір перетинок (мама-папа) 40шт 20см

Набір перетинок (мама-папа) 40шт 20см

Набір з"єднувальних дротів для поєднання плат контролера з периферією без пайки. Підходять під станд..

35.75грн.

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

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

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

53.18грн.