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

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

Странности с прерыванием

Хочу написать "сниффер" для захвата команд пульта ДУ и хочу это сделать без использования соответствующих библиотек.

Придумал такую схему - подключаю ИК-приемник ко 2 цифровому пину и использую прерывания:

Помогите, проблема с датчиком линии


#define SPEED_LEFT       6
#define SPEED_RIGHT      5 
#define DIR_LEFT         7
#define DIR_RIGHT        4
#define LEFT_SENSOR_PIN  8
#define RIGHT_SENSOR_PIN 9
 
// Скорость, с которой мы движемся вперёд (0-255)
#define SPEED            100
 
// Скорость прохождения сложных участков
#define SLOW_SPEED       35
 
#define BACK_SLOW_SPEED  30
#define BACK_FAST_SPEED  50
 
// Коэффициент, задающий во сколько раз нужно затормозить
// одно из колёс для поворота
#define BRAKE_K          4
 
#define STATE_FORWARD    0
#define STATE_RIGHT      1

Опять кнопка

Гуглил и по форуму полазил, но решения не нашёл.

Задача вроде и простая, но не получается. Удерживаю кнопку 3 сек - загорается светодиод. Отпускаю - гаснет. А у меня просто вкл- выкл.

Из serial на lcd

Здравствуйте, нуждаюсь в Вашей помощи.

Недавно купил uno, lcd и горку других "запчастей". Выпилил окно для переключателя и экрана на одной из панелей на системнике и ТОЛЬКО потом появилась идея по выводу доп.информации на этот же экран. Ну так вот... Думаю сделать так:

1. На материнке к usb подключить uno.

2. Подключить к нему lcd на корпусе.

3. С помощью программы на пк выводить какую-либо информацию.

DS1307 показывают странное время, которое стоит.

#include <DS1307.h>

// Init the DS1307
DS1307 rtc(4, 5);

void setup()
{
  // Set the clock to run-mode
  rtc.halt(false);
  
  // Setup Serial connection
  Serial.begin(57600);

  // The following lines can be commented out to use the values already stored in the DS1307
  rtc.setDOW(SUNDAY);        // Set Day-of-Week to SUNDAY
  rtc.setTime(12, 0, 0);     // Set the time to 12:00:00 (24hr format)
  rtc.setDate(3, 10, 2010);   // Set the date to October 3th, 2010
}

void loop()
{
  // Send Day-of-Week
  Serial.print(rtc.getDOWStr());

Как определить наибольшее число.

Вот простой в принципе вопрос а правильное решение найти не могу. 

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

Имеем две переменные, они имеют определенное значение (допустим тип данных -  int). Каким образом эти переменные получают значения - не суть.

Как максимально просто и грамотно определить , значение какой из переменных больше а какой меньше ?

Единственное что приходит в голову это из первой переменной вычесть вторую (не важно из какой конкретно).

Arduino Mega в качестве usb-serial конвертера

Нужно было прошить роутер через консольный порт, набросал скетч для ардуины.
Если кому понадобится: pastebin.com

Скетч для Ultrasonic HC-SR04

Добрый день!Хочу узнать можно ли сделать скетч для робота под Ардуино с ультразвуковым датчиком Ultrasonic HC-SR04 чтоб робот "вёл" себя как этот http://www.youtube.com/watch?feature=player_embedded&v=kXGZjqqM4T8#!,я в том смысле что это разные датчики(тот инфракрасный, а у меня ультразвуковой),"вёл" я имею в виду чтобы также подъезжал к руке\другому предмету,а если слишком близко отъзежал.Кто-нибудь может помочь каркасом для скетча?Если что мой датчик закреплен непосредственно на корпусе робота т.е. у меня он без серво-мотора.Заранее спасибо.

Вопрос по функции map

Функция map линейная. A какие есть возможности для создания нелинейной функции и как это делается.

Допустим по синусоиде от мин до макс.

3 UART в один

Набросал код думал заработает сразу, надо было попробывать перенаправить данные с трех сериалов в ардуино мега, на основной.

Данные приходящие в эти порты успешно появляются в "главном" сериале, вроде все нормально, но при попытке "зажечь" светодиод, ничего не выходит, хотя если послать в главный сериал все работает.

Что я не так сделал ?

Вот кусочек кода: