Преобразователь интерфейса, PCF8574
- Войдите на сайт для отправки комментариев
Пнд, 22/09/2014 - 16:05
Добрый день,купил вот такую приблуду(http://ba3ar.kz/k1_217.php), подскажите пожалуйста. Чего делаю не так : С подключением данного устройства проблем нет, а вот с программированием дальше объявления переменных не моду двинуться. Все примеры которые находил ориентированиы на LCD дисплеи.
Скеч
#include <PCF8574.h>
#include <Wire.h>
PCF8574 PCF(0x27);
void setup()
{
}
void loop()
{
for(int i=4;i<=7;i++){
PCF.toggle(i);
}
}
Ошибки идут следующего плана:
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp: In constructor 'RobotControl::RobotControl()':
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:8: error: 'LCD_CS' was not declared in this scope
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:8: error: 'DC_LCD' was not declared in this scope
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:8: error: 'RST_LCD' was not declared in this scope
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp: In member function 'void RobotControl::begin()':
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:18: error: 'MUXA' was not declared in this scope
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:18: error: 'MUXB' was not declared in this scope
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:18: error: 'MUXC' was not declared in this scope
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:18: error: 'MUXD' was not declared in this scope
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:19: error: 'MUX_IN' was not declared in this scope
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:22: error: 'BUZZ' was not declared in this scope
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp:25: error: 'Serial1' was not declared in this scope
почитай ветку http://arduino.ru/forum/programmirovanie/arduino-pro-mini-lcd-20x4-s-i2c-interfeisom
там рассмотрена как раз работа с таким девайсом.
ок, спс
Если честно не понял фразу:
Все примеры которые находил ориентированиы на LCD дисплеи.
Данное устройство как раз и предназначено для подключения LCD дисплеев.
Если Вы хотите использовать PCF8574 - в качестве расширителя портов ввода-вывода, то лучше купить
http://www.ebay.com/itm/10PCS-PCF8574P-PCF8574-DIP-16-NXP-PHI-Remote-8-b... и работать с ними напрямую. Примеров в инете куча.
Посмотрел не то. На данный момент уже купил что купил и нужно с этим разобраться первоначально я смотрел пример на http://www.youtube.com/watch?v=jgesIr0MFoY но наткнулся на выше описанные ошибки
вот отсюда брал библиотеки http://playground.arduino.cc/Main/PCF8574Class
а все ли так делаешь?
http://playground.arduino.cc/Main/PCF8574Class
в папаке C:\Program Files\Arduino\libraries\PCF8574 положил 2 фаила PCF8574.cpp, PCF8574.h в которые воткнул текстовку с http://playground.arduino.cc/Main/PCF8574Class, скеч взял с http://www.youtube.com/watch?v=jgesIr0MFoY
вот и понять не могу что там можно сделать не правильно
так ругается не на PCF8574.cpp а на ArduinoRobot.cpp)))
C:\Program Files\Arduino\libraries\Robot_Control\ArduinoRobot.cpp: In constructor 'RobotControl::RobotControl()':
это самая первая ошибка сейчас
да откуда эта либа, если в 1 посте о ней ничего кроме ошибок
1
#include <PCF8574.h>
2
#include <Wire.h>
эмм не совсем понял вопрос.
)))мда
в скетче который ты привел включены только 2 библиотеки
1
#include <PCF8574.h>
2
#include <Wire.h>
а компилятор ругается на ArduinoRobot.cpp, о которой в скетче ни одного слова
такое чувство что код приложил один, а ошибки от другого кода
нет, скеч соответсвует ошибкам, я его сразу и сюда и скопировал
не пудри нам мозги
ты дал ошибки скорее всего от этого кода
01
#include "ArduinoRobot.h"
02
#include "Multiplexer.h"
03
#include "Wire.h"
04
#include "EasyTransfer2.h"
05
06
//RobotControl::RobotControl(){}
07
08
RobotControl::RobotControl():Arduino_LCD(LCD_CS,DC_LCD,RST_LCD){
09
10
}
11
12
void
RobotControl::begin(){
13
Wire.begin();
14
//Compass
15
//nothing here
16
17
//TK sensors
18
uint8_t MuxPins[]={MUXA,MUXB,MUXC,MUXD};
19
Multiplexer::begin(MuxPins,MUX_IN,4);
20
21
//piezo
22
pinMode(BUZZ,OUTPUT);
23
24
//communication
25
Serial1.begin(9600);
26
messageOut.begin(&Serial1);
27
messageIn.begin(&Serial1);
28
29
//TFT initialization
30
//Arduino_LCD::initR(INITR_GREENTAB);
31
}
32
33
void
RobotControl::setMode(uint8_t mode){
34
messageOut.writeByte(COMMAND_SWITCH_MODE);
35
messageOut.writeByte(mode);
36
messageOut.sendData();
37
}
один момент
http://prntscr.com/4p861d
принт скин того что в данный момент у меня есть
гы)))) а можно мне тогда ваш набор библиотек)))) прошу прощения за наглость
вот либа. хз что ты там делал
http://yadi.sk/d/CXjuENmaEEwun
там увидишь архив
ок спс уже по другому идет сейчас по новой поставлю ide
Снес ide все поставил по новой и вот результат http://prntscr.com/4p8kdw , библиотеку поставил вашу
поставить либу и только после этого запускать иде
эт само собой
Блин чуть не пропустил. Мистические ошибки о невызываемых функциях. Гадания на хрустальных шарах. В общем думаю что нужно вызвать дух zx-spectrumи распросить его.
Гыы Евгений не парься, товарищ снлсит и устанавливает ide через сервис виндовс. Там у него в папке библиотек уже такая хрень что проще винт отформатировать. :)
папку с arduino всю почистил, так что не надо наговаривать)))
папку с arduino всю почистил, так что не надо наговаривать)))
Библиотека robot control видимо сама мистическим образом распаковывается. А пробовали брать ide с офицтального сайта? Будете оплачивать экзорцизм?
ну именно от туда и беру ее http://arduino.cc
Ну так обьясните откуда robot control берется?
сам хотел бы знать
сам хотел бы знать
Магия :) в общем бягите за саятой водой и натрите все провода чесноком. А вокруг раутера вообще пентограму нарисуйте.
эже))) и молоток рядом с компом положил, но чтото не помагает
эже))) и молоток рядом с компом положил, но чтото не помагает
Эххх молодеж.. молоток.. бубен нужен для настройки.
В общем учитесь правильно устанааливать и рампаковывать. А потом уже к ардуине переходите. Думаю что у вас и мигание светодиодом не скомпилируется.
блин ну давайте всетаки без фанатизма, после переустановки этот скеч нормально отработал а вот первый в посте также не хочет
ну я хз. уже и либу дал. и картинку что все компилируется. какая версия иде? так для интереса
1,0,6
ну хз. но что то явно не так)))
с утра тоже компилируется. у вас похоже энергетика плохая, несовместимая с ардуино
так у меня вообще 1.0.4)) тоже чтоли обновить чтобы перестало работать
попробую поставить 4 релиз
да дело не в версии я думаю
либо библиотеки неправильно ставишь, либо есть либа с таким же названием
проверял, таких имен нет в папаке с библиотеками, а ставить ее ставил и через загрузки ide и просто копированием в папку
Итак вот оно решение проблемы, после удалений, переустановок и тд. Сделал следующее - C:\Users\мой пользователь\Documents\Arduino\ libraries закинул библиотеки и вуаля все закрутилось. Причем мне не понятно почему отсюда заработало а из C:\Program Files\Arduino\libraries ни в какую. Всем спасибо)))
)))
а можно еще вопрос не по существу? Очень бы хотелось передавать значения с датчиков в игру например в NFS ? с таким не сталкивались? ну или мож подскажите куда копать?
да вот только была тема про мышь и клаву на ардуине
а можно еще вопрос не по существу? Очень бы хотелось передавать значения с датчиков в игру например в NFS ? с таким не сталкивались? ну или мож подскажите куда копать?
Дело не столько в передаче, сколько в приёме. В игре или любой другой программе должна быть реализована поддержка приёма данных с какого-либо устройства. Игра типа NFS поддерживает клавиатуру, мышь, джойстик, руль, педали. От этого и надо отталкиваться. Т.е. эмулировать работу этих девайсов.
Вангую, что ошибка лезет из-за того, что скетчи все в одну папку свалены, вот среда и пытается их все разом скомпиллировать. Скиншот не видел, ибо удален уже.
добрый вечер в продолжении темы, собрал в кучу ардуину + 6 штук pcf8574 схема подключения по sli , но проблема заключается в том что на основе скеча
а кто тебе сказал что по i2с будет 6 устройств работать с одними адресами?
подскажите какого плана должны быть адреса.