Мультируль SUBARU Помогите с программой для arduino

Обсуждаем контроллеры компании Atmel.
Ответить
egr777
Родился
Сообщения: 4
Зарегистрирован: Пт ноя 08, 2013 04:58:34

Мультируль SUBARU Помогите с программой для arduino

Сообщение egr777 »

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

#include <IRremote.h>
IRsend irsend;

// Коды имеющихся на руле кнопок
const int VOL_UP = 1;
const int VOL_DN = 2;
const int PREV_TR = 3;
const int NEXT_TR = 4;
const int MODE = 5;
const int MUTE = 6;

int wheelPin = A5; // аналоговый пин, на котором мы считываем сопротивление нажатой на руле кнопки

int i = 0;
int prevButton = 0;

//Serial.begin(9600);

int getR() { // Эта функция читает сопротивление с кнопок на руле и возвращает код нажатой кнопки, либо 0

// читаем сопротивление (на самом деле напряжение, конечно) на аналоговом пине
int r = analogRead(wheelPin);

// Ищем, какая кнопка соответствует этому сопротивлению.
// Данные значения сопротивлений подходят для Suzuki Swift, для других автомобилей числа будут другие.
if (r >= 9 && r <= 15) return (VOL_UP);
if (r >= 18 && r <= 26) return (VOL_DN);
if (r >= 120 && r <= 156) return (PREV_TR);
if (r >= 60 && r <= 80) return (NEXT_TR);
if (r >= 33 && r <= 47) return (MODE);
if (r >= 2 && r <= 6) return (MUTE);

// если ни одна из кнопок не нажата, возвращаем 0
return (0);
}

void loop()
{
int currButton = getR(); // заносим в переменную currButton код нажатой кнопки
if (currButton != prevButton) { // если значение поменялось с прошлого раза

delay(10);
currButton = getR(); // ждем 10ms и читаем еще раз, чтобы исключить "дребезг" кнопки

if (currButton != prevButton) { // если код кнопки точно поменялся с прошлого раза
//Serial.println(currButton);
prevButton = currButton; // сохраняем новое значение в переменную prevButton

// Выставляем сопротивление на потенциометре, тем самым посылаем команду на магнитолу.
// Значения сопротивлений даны для Pioneer, для магнитол других марок числа будут другие.
switch (currButton) {
case VOL_UP: irsend.sendSony(0xa91, 12); // Sony TV power code
case VOL_DN: irsend.sendSony(0xa92, 12); // Sony TV power code
case PREV_TR: irsend.sendSony(0xa93, 12); // Sony TV power code
case NEXT_TR: irsend.sendSony(0xa94, 12); // Sony TV power code
case MODE: irsend.sendSony(0xa95, 12); // Sony TV power code
case MUTE: irsend.sendSony(0xa96, 12); // Sony TV power code
default: irsend.sendSony(0xa97, 12); // Sony TV power code
}
}
}
delay(5);
}

а вот такую выдаёт ошибку


C:\Users\EGR\AppData\Local\Temp\build8794613471649354437.tmp/core.a(main.cpp.o): In function `main':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:40: undefined reference to `setup'
collect2.exe: error: ld returned 1 exit status
Ошибка компиляции.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Мультируль SUBARU Помогите с программой для arduino

Сообщение Аlex »

За неделю то уже давно можно было в переводчике побывать - https://translate.google.ru/#en/ru/unde ... 0%60setup'
egr777
Родился
Сообщения: 4
Зарегистрирован: Пт ноя 08, 2013 04:58:34

Re: Мультируль SUBARU Помогите с программой для arduino

Сообщение egr777 »

неопределенная ссылка на `настройки ' я не могу понять что там не так, извеняйте ткните носом, этот код я переделывал из трёх других, для меня это первая практика применения ардуино если несложно

Добавлено after 23 minutes 5 seconds:
Блин разобрался void setup() {

pinMode(wheelPin, INPUT);

Забыл вставить

Добавлено after 5 minutes 13 seconds:
мож кто ещё чё посаветутет?
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Мультируль SUBARU Помогите с программой для arduino

Сообщение Vov123 »

В этом случае можно попробовать узнать дату разработки программы и скомпилировать её актуальной на тот момент версии программы, если не получится, можно попробовать более ранние версии.
Все версии программы есть на официальном сайте.
Очень много, а может быть практически все старые программы не компилируются свежими версиями программ.
egr777
Родился
Сообщения: 4
Зарегистрирован: Пт ноя 08, 2013 04:58:34

Re: Мультируль SUBARU Помогите с программой для arduino

Сообщение egr777 »

Vov123 это чего это ты написал, у меня ошибка в написуемом коде была а не совместимость
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Мультируль SUBARU Помогите с программой для arduino

Сообщение Vov123 »

Ну хотя бы грамотно, учись неуч и больше ничего не проси.
:love:
egr777
Родился
Сообщения: 4
Зарегистрирован: Пт ноя 08, 2013 04:58:34

Re: Мультируль SUBARU Помогите с программой для arduino

Сообщение egr777 »

я так понял тут гениев не так уж много лиш с верхушками нахватавшимися
Ответить

Вернуться в «AVR»