Программирование

Вопросы по программированию Arduino.

Работа со строками

Доброе время суток.

Подскажите как представляются строки в памяти? У мен ясложилось такое впечатление, что английские буквы занимают один байт, а русские два байта. Причем это все в одной строке.

Если это так, то как перебрать все символы в цикле for?

Строку объявляю так:

char s[] = {"ABCDАБВГ"};

Как объявить строку с двухбайтными символами?

Arduino - усовершенствованные часы.

Добрый день!

Сделал логгер на UNO+DHT22+DS1307+LCD16x2. (Планирую добавить еще Ethernet shild с micro SD) для хранения и передачи данных.

Сейчас часы показывают время с 1-м числом вот так 9:5:3, а хотелось бы 09:05:03. Ну и заменить секунды миганием ":" . А так же дату в формате 12.04.13, а сейчас кажет так: 12.4.2013.  Что то эта задача (на первый взгляд простая) поставила меня в тупик. Может кто разжует? Спасибо!

 

Кстати Скетч выложу, вдруг кому пригодиться:

 

Быстрое копирование массивов с условием

Доброго времени суток.
У меня вопрос по поводу копирования массивов.
Есть два массива:

табель посещаемости

Есть набор из: мега2560, часы реального времени, экран 128х64, SD-модуль, SD-карта, RFID-считыватель и 10 RFID-меток.

Собрал все до кучи и запустил, все работает. Теперь стоит задача, организовать контроль посещаемости на этом комплекте. В связи с этим вопрос: В первый столбец будут вписаны ФИО, присвоенные RFID-меткам последующие числам месяца. Как записывать данные в определенные ячейки с "координатами" (ФИО,число месяца)?

Реализуемо ли это посредством ардуины, без подключения к компу?

Меню на lcd 20х4

Делаю себе простой интерфейс для дисплея 20х4. Готовых решений за два вечера не нашёл и решил попробовать самостоятельно. Есть основное меню mainMenu(). Для первой строчки подменю upMenu() и от него ещё два субдменю speedMenu() и accelMenu(). Курсор бегать вверх вниз заставил и из главного меню в подменю перехожу при выставлении курсора и нажатии кнопки Enter. А вот как записать условие для перехода в субменю придумать знаний не хватает. Если пишу if (pos == 0 &&  upMenu()) компилятор ругается. Как правильно написать подобное условие в моём случае?

Что означает символ "|" ?

Читаю документацию, смотрю код примеров. В одном из примеров встретил такую запись:

x = y | z | t

Пересмотрел книжки. Не нашел (хотя наверное плохо искал). Кто-нибудь подскажет, что это запись означает?

ШИМ Прерывания


void setup()
{
  Serial.begin(9600);
  pinMode(3, OUTPUT);
  
  TIMSK2  &= ~( (1<<OCIE2A) | (1<<OCIE2B) | (1<<TOIE2) );
  //TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика
  TCCR2A &= ~(1<<WGM21) | (1<<WGM20);// Режим работы таймера/счетчика
  TCCR2B &= ~(1<<WGM22);// Режим работы таймера/счетчика
  ASSR &= ~(1<<AS2);  //Выбор источника синхронизации таймера если AS2=0 от системного генератора 

Как управлять Arduino с помощью CodeVisiovAVR

Уважаемые пользователи, подскажите пожалуйста, возможно ли управлять Arduino Mega 2560 с помощью CodeVisionAVR ? И если возможно то как? 

Многоканальный диммер на 220В

Может кто-нибудь делал многоканальный диммер на 220 на базе Ардуино. В сети нашел несколько скетчей, но все на один канал, т.к. испульзуют в функциях delay(). Мне бы желательно на 4. Подскажите куда копать.

ни же скетчь на один канал:

Solar Charger Shield

Добрый день! Приобрел себе Solar Charger Shield такого типа: http://www.seeedstudio.com/depot/solar-charger-shield-v2-p-914.html?cPat...

В качестве примера для замера напряжения на клеммах аккумулятора приведен пример.

Подскажите, в строке 27 зачем умножать на 2 ?     outputValue = (float(BatteryValue)*5)/1023*2;

Можно ли измерить ток зарядки от солнечной батареи и ток потребления от аккумулятора на этом шилде не используя схем с низкоомными резисторами итп?