Прошу помощи или ссылку на ответ.
- Войдите на сайт для отправки комментариев
Пт, 26/01/2018 - 08:10
Доброго времени! Пытаюсь создать вот такой проект: http://mozgochiny.ru/electronics-2/umnyie-ochki-dlya-multimetra-na-baze-arduino-svoimi-rukami/
Основная ссылка на проект: https://hackaday.io/project/12211-arduino-glasses-a-hmd-for-multimeter
Вопрос в том, что не могу залить 2 скетча в ардуино, выдаёт ошибки:
serialtest3.ino: In function 'void setup()':
serialtest3:2: error: redefinition of 'void setup()'
oledbluetest2:35: error: 'void setup()' previously defined here
serialtest3.ino: In function 'void loop()':
serialtest3:7: error: redefinition of 'void loop()'
oledbluetest2:63: error: 'void loop()' previously defined here
redefinition of 'void setup()'
Сами скетчи:
#include <Wire.h> // Include Wire if you're using I2C
#include <SPI.h> // Include SPI if you're using SPI
#include <SFE_MicroOLED.h> // Include the SFE_MicroOLED library
//////////////////////////
// MicroOLED Definition //
//////////////////////////
#define PIN_RESET 9 // Connect RST to pin 9 (req. for SPI and I2C)
#define PIN_DC 8 // Connect DC to pin 8 (required for SPI)
#define PIN_CS 10 // Connect CS to pin 10 (required for SPI)
#define DC_JUMPER 0
// Also connect pin 13 to SCK and pin 11 to MOSI
//////////////////////////////////
// MicroOLED Object Declaration //
//////////////////////////////////
// Declare a MicroOLED object. The parameters include:
// 1 - Reset pin: Any digital pin
// 2 - D/C pin: Any digital pin (SPI mode only)
// 3 - CS pin: Any digital pin (SPI mode only, 10 recommended)
MicroOLED oled(PIN_RESET, PIN_DC, PIN_CS);
//MicroOLED oled(PIN_RESET, DC_JUMPER); // Example I2C declaration
// I2C is great, but will result in a much slower update rate. The
// slower framerate may be a worthwhile tradeoff, if you need more
// pins, though.
String bluedata;
String command;
byte value;
byte valueall[15];
char valuechar[15];
void setup()
{
Serial1.begin(9600);
oled.begin(); // Initialize the OLED
delay(1000);
oled.clear(ALL); // Clear the display's internal memory
oled.display(); // Display what's in the buffer (splashscreen)
// Delay 1000 ms
oled.clear(PAGE);
oled.display();
oled.setFontType(1);
oled.setCursor(0, 0);
oled.print("ArduinoGlasses V1.0");
oled.display();
delay(2000);
oled.clear(ALL);
oled.clear(PAGE);
oled.display();
oled.setCursor(0, 10);
oled.print("Glasses");
oled.setCursor(10, 30);
oled.print("Ready");
oled.display();
// oled.clear(ALL);
oled.clear(PAGE);
}
void loop()
{
if(Serial1.available()){
delay(100);
while(Serial1.available()) {
value = (Serial1.read());
if (value == 43 || value == 45){
for (int i=0; i <= 15; i++){
valueall[i] = value;
value = (Serial1.read());
}
int a=0;
String value = ((char*)valueall);
//oled.println(test.substring(0, 6));
for (a=0; a <=15; a++){
//oled.print(valueall[a]);
valuechar[a]=valueall[a];
//oled.print("-");
}
//oled.clear(ALL);
//oled.clear(PAGE);
oled.setCursor(0, 20);
//command = valuechar[1];command += valuechar[2];command += valuechar[3];command += valuechar[4]; // build number
if (valuechar[0] == 43 && valueall[7] == 49) oled.print("+");
if (valuechar[0] == 45 && valueall[7] == 49) oled.print("-");
if (valuechar[0] == 43 && valueall[7] == 41) oled.print("~");
if (valuechar[0] == 45 && valueall[7] == 41) oled.print("~");
if (valuechar[0] == 43 && valueall[7] == 17) oled.print("+");
if (valuechar[0] == 45 && valueall[7] == 17) oled.print("-");
if (valuechar[0] == 43 && valueall[7] == 9) oled.print("~");
if (valuechar[0] == 45 && valueall[7] == 9) oled.print("~");
oled.print(valuechar[1]);
if (valueall[6] == 49) oled.print(".");
oled.print(valuechar[2]);
if (valueall[6] == 50) oled.print(".");
oled.print(valuechar[3]);
if (valueall[6] == 52) oled.print(".");
oled.print(valuechar[4]);
oled.setCursor(0, 35);
if (valueall[9] == 64 && valueall[10] == 128) oled.print("mV");
if (valueall[9] == 0 && valueall[10] == 128) oled.print("V");
if (valueall[9] == 0 && valueall[10] == 32) oled.print("R");
if (valueall[9] == 32 && valueall[10] == 32) oled.print("K");
if (valueall[9] == 16 && valueall[10] == 32) oled.print("M");
if (valueall[9] == 0 && valueall[10] == 64) oled.print("A");
if (valueall[9] == 64 && valueall[10] == 64) oled.print("mA");
if (valueall[9] == 128 && valueall[10] == 64) oled.print("uA");
if (valueall[9] == 0 && valueall[10] == 2) oled.print("Grad C");
if (valueall[9] == 0 && valueall[10] == 1) oled.print("Grad F");
if (valueall[9] == 0 && valueall[10] == 8) oled.print("Hz");
oled.display();
oled.clear(PAGE);
}
}
}
}
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
Serial1.begin(9600); // opens serial port 1, sets data rate to 9600 bps
}
void loop()
{
if (Serial1.available())
Serial.write(Serial1.read()); //read data from Bluetooth and send it to USB
if (Serial.available())
Serial1.write(Serial.read()); //read data from USB and send it to Bluetooth
}
Где и что поправить? Может что то делаю не правильно? Буду весьма благодарен за любую подсказку!
с такими знаниями такой проект не сделать.
Два скетча в одну ардуину? ) Второй мелкий скетч это просто транслятор для проверки блютуза и просмотра протокола. Вам надо только первый скетч.
Вы, нверное, пытаетесь их залить одновременно?
А вообще, чтобы не было глупых вопросов, следует вставлять скетч по правилам.
Вот и спасибочки Вам за ответ. Очень актуальный. Не обязательно всё знать, важно знать гдевзять! Ещё раз Спасибо.
с такими знаниями такой проект не сделать.
Вы, нверное, пытаетесь их залить одновременно?
А вообще, чтобы не было глупых вопросов, следует вставлять скетч по правилам.
Использовал простую программу для отправки и получения данных с модуля. Сначала нужно сделать модуль главным.
Оригинал статьи:
Config of the BT module.
I used a simple Arduino program to send and receive Data to and from the module.
First you have to set the module to Cental.
To connect to the Owon B35T type AT+CONE0(Mac adress of the Multimeter)
Thats it.
Для этого и был второй скетч, с помощью которого через терминал надо настроить модуль синезубый.
ясно. "ПАМАГИТИ!!!" detected.
Для этого и был второй скетч, с помощью которого через терминал надо настроить модуль синезубый.
А вообще, чтобы не было глупых вопросов, следует вставлять скетч по правилам.
Чукча не читатель, чукча писатель?
Правила хорошего тона требуют немного почитать форум прежде, чем отправлять на него свое первое сообщение.
ясно. "ПАМАГИТИ!!!" detected.
А вообще, чтобы не было глупых вопросов, следует вставлять скетч по правилам.
Чукча не читатель, чукча писатель?
Правила хорошего тона требуют немного почитать форум прежде, чем отправлять на него свое первое сообщение.
От жеж, опять мамкина борзота прилезла :)
От жеж, опять мамкина борзота прилезла :)
ТЕМА ЗКРЫТА. УМНИКИ ИСПУГАЛИСЬ И ПЕРЕВЕЛИ ТЕМУ В ОСКОРБЛЕНИЯ, УЧИТЕ МАТ. ЧАСТЬ!
Сынок, мне 53 года, если что!
сынок, позови мамку в тред, пусть подтвердит твой возраст.
УМНИКИ ИСПУГАЛИСЬ И ПЕРЕВЕЛИ ТЕМУ В ОСКОРБЛЕНИЯ, УЧИТЕ МАТ. ЧАСТЬ!
ЗАССАЛИ. О_О
ТЕМА ЗКРЫТА.
и славабогу.
Слава Святому Электричеству и пророку ега Николе Тесла. О_О
Сынок, мне 53 года, если что!
Тогда слушай старших:
Прежде, чем писать на форум, следует ознакомиться с правилами и немного почитать его для уяснения стиля общения и основных требований к сообщениям.
От жеж, опять мамкина борзота прилезла :)
И такой неадекват в 53 года? Клиника, иди попей новопассит.
МОДЕРАТОР УДАЛИТЕ ТЕМУ, ПЕДЕРАСТЫ ОКРУЖАЮТ!!!
От жеж, опять мамкина борзота прилезла :)
И такой неадекват в 53 года? Клиника, иди попей новопассит.
МОДЕРАТОР УДАЛИТЕ ТЕМУ, ПЕДЕРАСТЫ ОКРУЖАЮТ!!!
да ты не ходи сюда и никто окружать не будет.
А на будущее - учись задавать вопросы и читать ответы. а не только копипастить чужой код из инета.
МОДЕРАТОР УДАЛИТЕ ТЕМУ, ПЕДЕРАСТЫ ОКРУЖАЮТ!!!
да ты не ходи сюда и никто окружать не будет.
А на будущее - учись задавать вопросы и читать ответы. а не только копипастить чужой код из инета.
Достойный ответ! Респект!
А ты как думал?
Вот пока нет никого - давай я тебе обьясню.
Ты влез с форум с совершенно идиотским вопросом - как влить в аодуину 2 скетча. Это примерно как задать вопрос на автомобильном форуме "как к "Москвичу" приделать 20 сидений от автобуса". Когда над тобой начали глумится - совершенно справедливо при таких знаниях - обиделся и начал всем хамить.
И что ты теперь хочешь от форума, когда ты себя уже показал человеком, который
а) не умеет читать (по твоей ссылке вообще-то все есть, что выполнить самоделку)
б) не слушает умных людей
в) не выполняет правила форума?
Правильно было бы - засунуть свой гонор сам знаешь куда и задать вопрос еще раз, без хамства, оформив по всей форме и выложив код скетча правильно.
Однако сомневаюсь, что у тебя получится.
Достойный ответ! Респект!
А ты как думал?
Вот пока нет никого - давай я тебе обьясню.
Ты влез с форум с совершенно идиотским вопросом - как влить в аодуину 2 скетча. Это примерно как задать вопрос на автомобильном форуме "как к "Москвичу" приделать 20 сидений от автобуса". Когда над тобой начали глумится - совершенно справедливо при таких знаниях - обиделся и начал всем хамить.
И что ты теперь хочешь от форума, когда ты себя уже показал человеком, который
а) не умеет читать (по твоей ссылке вообще-то все есть, что выполнить самоделку)
б) не слушает умных людей
в) не выполняет правила форума?
Правильно было бы - засунуть свой гонор сам знаешь куда и задать вопрос еще раз, без хамства, оформив по всей форме и выложив код скетча правильно.
Однако сомневаюсь, что у тебя получится.
В моём возрасте иногда лучшу спросить, хотя форумы и созданы для вопросов и ответов, а не для оскорблений и нравоучений. Я же изначально не только спросил, но и попросил ссылу куда смотреть! СПАСИБО!
В моём возрасте иногда лучшу спросить
да какой "твой возраст"? - 53 года для мужика - считай пик жизни. Мозги еще молодыми должны быть. Тут на форуме большая часть "знатоков" - примерно те же 45 -55 лет, никто стариками себя не чувствует.
МОДЕРАТОР УДАЛИТЕ ТЕМУ, ПЕДЕРАСТЫ ОКРУЖАЮТ!!!
Зачем ты так о своих родственниках? Я же тебе советовал - новопасситу попей, попустит.
хотя форумы и созданы для вопросов и ответов,
Форумы созданы для общения по интересам, тащемта, и никто, повторяю, НИКТО не обязан отвечать на твои вопросы. Захотят - ответят, не захотят - не ответят. А если и захотят - то ответят, как захотят, а не как надо тебе. Зачем опускаться на уровень дурака, задающего дурацкие вопросы и ещё, вдобавок, борзенького?