Друг попросил подключить его мультируль в субару форестер к китайской магнитоле, я решил с помощью ардуины скопировать кнопки ИК пульта от данной магнитолы и отправлять от руля ИК команды на магнитолу но столкнулся с проблемой создания прошивки для ардуины помогите разобраться что я не так сделал уже неделю голову ломаю вот код программы что у мня получилось
#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
Ошибка компиляции.
Мультируль SUBARU Помогите с программой для arduino
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Мультируль SUBARU Помогите с программой для arduino
За неделю то уже давно можно было в переводчике побывать - https://translate.google.ru/#en/ru/unde ... 0%60setup'
Re: Мультируль SUBARU Помогите с программой для arduino
неопределенная ссылка на `настройки ' я не могу понять что там не так, извеняйте ткните носом, этот код я переделывал из трёх других, для меня это первая практика применения ардуино если несложно
Добавлено after 23 minutes 5 seconds:
Блин разобрался void setup() {
pinMode(wheelPin, INPUT);
Забыл вставить
Добавлено after 5 minutes 13 seconds:
мож кто ещё чё посаветутет?
Добавлено after 23 minutes 5 seconds:
Блин разобрался void setup() {
pinMode(wheelPin, INPUT);
Забыл вставить
Добавлено after 5 minutes 13 seconds:
мож кто ещё чё посаветутет?
Re: Мультируль SUBARU Помогите с программой для arduino
В этом случае можно попробовать узнать дату разработки программы и скомпилировать её актуальной на тот момент версии программы, если не получится, можно попробовать более ранние версии.
Все версии программы есть на официальном сайте.
Очень много, а может быть практически все старые программы не компилируются свежими версиями программ.
Все версии программы есть на официальном сайте.
Очень много, а может быть практически все старые программы не компилируются свежими версиями программ.
Re: Мультируль SUBARU Помогите с программой для arduino
Vov123 это чего это ты написал, у меня ошибка в написуемом коде была а не совместимость
Re: Мультируль SUBARU Помогите с программой для arduino
Ну хотя бы грамотно, учись неуч и больше ничего не проси.


Re: Мультируль SUBARU Помогите с программой для arduino
я так понял тут гениев не так уж много лиш с верхушками нахватавшимися