Прошу помощи или ссылку на ответ.

Zaq24
Offline
Зарегистрирован: 26.01.2018

Доброго времени! Пытаюсь создать вот такой проект: 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 
 

Где и что поправить? Может что то делаю не правильно? Буду весьма благодарен за любую подсказку!

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

с такими знаниями такой проект не сделать. 

Penni
Penni аватар
Offline
Зарегистрирован: 18.01.2015

Два скетча в одну ардуину? ) Второй мелкий скетч это просто транслятор для проверки блютуза и просмотра протокола. Вам надо только первый скетч.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Вы, нверное, пытаетесь их залить одновременно?

А вообще, чтобы не было глупых вопросов, следует вставлять скетч по правилам.

Zaq24
Offline
Зарегистрирован: 26.01.2018

Вот и спасибочки Вам за ответ. Очень актуальный. Не обязательно всё знать, важно знать гдевзять! Ещё раз Спасибо.

Zaq24
Offline
Зарегистрирован: 26.01.2018

DetSimen пишет:

с такими знаниями такой проект не сделать. 

Не обязательно всё знать, важно знать гдевзять! Ну всё равно спасибо!

Zaq24
Offline
Зарегистрирован: 26.01.2018

andriano пишет:

Вы, нверное, пытаетесь их залить одновременно?

А вообще, чтобы не было глупых вопросов, следует вставлять скетч по правилам.

Посоветуйте как реализовать!?

 Использовал простую программу для отправки и получения данных с модуля. Сначала нужно сделать модуль главным.

  • AT+ROLE1 (модуль=главный);
  • AT+RESET reset AT+SHOW1 (в ответ показать имя Bluetooth);
  • AT+IMME0 (подключаться автоматически);
  • AT+FILT0 (сканирование устройств);
  • AT+DISC? (показать устройства);
  • AT + CONE0 (мак адрес мультиметра).

 

Оригинал статьи:

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.

AT+ROLE1 moule = central
AT+RESET reset
AT+SHOW1 show Bluetooth name in response
AT+IMME0 connect automatically
AT+FILT0 scan for devices
AT+DISC? Show devices

To connect to the Owon B35T type AT+CONE0(Mac adress of the Multimeter)

Thats it.

Penni
Penni аватар
Offline
Зарегистрирован: 18.01.2015

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ясно. "ПАМАГИТИ!!!" detected.

Zaq24
Offline
Зарегистрирован: 26.01.2018

Penni пишет:

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

Будь очень добрым, расскажи как?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Zaq24 пишет:

andriano пишет:

А вообще, чтобы не было глупых вопросов, следует вставлять скетч по правилам.

Посоветуйте как реализовать!?

Чукча не читатель, чукча писатель?

Правила хорошего тона требуют немного почитать форум прежде, чем отправлять на него свое первое сообщение.

Zaq24
Offline
Зарегистрирован: 26.01.2018

DetSimen пишет:

ясно. "ПАМАГИТИ!!!" detected.

Правильно будет ПОМОГИТЕ! Видишь и ты не все знаешь☺

Zaq24
Offline
Зарегистрирован: 26.01.2018

andriano пишет:

Zaq24 пишет:

andriano пишет:

А вообще, чтобы не было глупых вопросов, следует вставлять скетч по правилам.

Посоветуйте как реализовать!?

Чукча не читатель, чукча писатель?

Правила хорошего тона требуют немного почитать форум прежде, чем отправлять на него свое первое сообщение.

Удали тему и ОСТЫНЬ. Ты же ГУРУ! Найдём более скромных и порядочных людей.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

От жеж, опять мамкина борзота прилезла :)

Zaq24
Offline
Зарегистрирован: 26.01.2018

DIYMan пишет:

От жеж, опять мамкина борзота прилезла :)

Сынок, мне 53 года, если что!

Zaq24
Offline
Зарегистрирован: 26.01.2018

ТЕМА ЗКРЫТА. УМНИКИ ИСПУГАЛИСЬ И ПЕРЕВЕЛИ ТЕМУ В ОСКОРБЛЕНИЯ, УЧИТЕ МАТ. ЧАСТЬ!

Клапауций 298
Клапауций 298 аватар
Offline
Зарегистрирован: 25.01.2018

Zaq24 пишет:

Сынок, мне 53 года, если что!

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

Клапауций 298
Клапауций 298 аватар
Offline
Зарегистрирован: 25.01.2018

Zaq24 пишет:

УМНИКИ ИСПУГАЛИСЬ И ПЕРЕВЕЛИ ТЕМУ В ОСКОРБЛЕНИЯ, УЧИТЕ МАТ. ЧАСТЬ!

ЗАССАЛИ. О_О

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Zaq24 пишет:

ТЕМА ЗКРЫТА. 

и славабогу.

Клапауций 298
Клапауций 298 аватар
Offline
Зарегистрирован: 25.01.2018

Слава Святому Электричеству и пророку ега Николе Тесла. О_О

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Zaq24 пишет:

Сынок, мне 53 года, если что!

Тогда слушай старших:

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

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Zaq24 пишет:

DIYMan пишет:

От жеж, опять мамкина борзота прилезла :)

Сынок, мне 53 года, если что!

И такой неадекват в 53 года? Клиника, иди попей новопассит.

Zaq24
Offline
Зарегистрирован: 26.01.2018

МОДЕРАТОР УДАЛИТЕ ТЕМУ, ПЕДЕРАСТЫ ОКРУЖАЮТ!!!

Zaq24
Offline
Зарегистрирован: 26.01.2018

DIYMan пишет:

Zaq24 пишет:

DIYMan пишет:

От жеж, опять мамкина борзота прилезла :)

Сынок, мне 53 года, если что!

И такой неадекват в 53 года? Клиника, иди попей новопассит.

Один ответ, ПЕДЕРАСТАМ темы НЕТ!

b707
Онлайн
Зарегистрирован: 26.05.2017

Zaq24 пишет:

МОДЕРАТОР УДАЛИТЕ ТЕМУ, ПЕДЕРАСТЫ ОКРУЖАЮТ!!!

да ты не ходи сюда и никто окружать не будет.

А на будущее - учись задавать вопросы и читать ответы. а не только копипастить чужой код из инета.

Zaq24
Offline
Зарегистрирован: 26.01.2018

b707 пишет:

Zaq24 пишет:

МОДЕРАТОР УДАЛИТЕ ТЕМУ, ПЕДЕРАСТЫ ОКРУЖАЮТ!!!

да ты не ходи сюда и никто окружать не будет.

А на будущее - учись задавать вопросы и читать ответы. а не только копипастить чужой код из инета.

  Достойный ответ! Респект!

b707
Онлайн
Зарегистрирован: 26.05.2017

Zaq24 пишет:

  Достойный ответ! Респект!

А ты как думал?

Вот пока нет никого - давай я тебе обьясню.

Ты влез с форум с совершенно идиотским вопросом - как влить в аодуину 2 скетча. Это примерно как задать вопрос на автомобильном форуме "как к "Москвичу"  приделать 20 сидений от автобуса". Когда над тобой начали глумится - совершенно справедливо при таких знаниях - обиделся и начал всем хамить.

И что ты теперь хочешь от форума, когда ты себя уже показал человеком, который

а) не умеет читать (по твоей ссылке вообще-то все есть, что выполнить самоделку)

б) не слушает умных людей

в) не выполняет правила форума?

Правильно было бы - засунуть свой гонор сам знаешь куда и задать вопрос еще раз, без хамства, оформив по всей форме и выложив код скетча правильно.

Однако сомневаюсь, что у тебя получится.

Zaq24
Offline
Зарегистрирован: 26.01.2018

b707 пишет:

Zaq24 пишет:

  Достойный ответ! Респект!

А ты как думал?

Вот пока нет никого - давай я тебе обьясню.

Ты влез с форум с совершенно идиотским вопросом - как влить в аодуину 2 скетча. Это примерно как задать вопрос на автомобильном форуме "как к "Москвичу"  приделать 20 сидений от автобуса". Когда над тобой начали глумится - совершенно справедливо при таких знаниях - обиделся и начал всем хамить.

И что ты теперь хочешь от форума, когда ты себя уже показал человеком, который

а) не умеет читать (по твоей ссылке вообще-то все есть, что выполнить самоделку)

б) не слушает умных людей

в) не выполняет правила форума?

Правильно было бы - засунуть свой гонор сам знаешь куда и задать вопрос еще раз, без хамства, оформив по всей форме и выложив код скетча правильно.

Однако сомневаюсь, что у тебя получится.

Спасибо. Достойно, но есть кто направил в нужную сторону.

В моём возрасте иногда лучшу спросить, хотя форумы и созданы для вопросов и ответов, а не для оскорблений и нравоучений. Я же изначально не только спросил, но и попросил ссылу куда смотреть! СПАСИБО!

b707
Онлайн
Зарегистрирован: 26.05.2017

Zaq24 пишет:

В моём возрасте иногда лучшу спросить

да какой "твой возраст"? - 53 года для мужика - считай пик жизни. Мозги еще молодыми должны быть. Тут на форуме большая часть "знатоков" - примерно те же 45 -55 лет, никто стариками себя не чувствует.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Zaq24 пишет:

МОДЕРАТОР УДАЛИТЕ ТЕМУ, ПЕДЕРАСТЫ ОКРУЖАЮТ!!!

Зачем ты так о своих родственниках? Я же тебе советовал - новопасситу попей, попустит.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Zaq24 пишет:

 хотя форумы и созданы для вопросов и ответов,

Форумы созданы для общения по интересам, тащемта, и никто, повторяю, НИКТО не обязан отвечать на твои вопросы. Захотят - ответят, не захотят - не ответят. А если и захотят - то ответят, как захотят, а не как надо тебе. Зачем опускаться на уровень дурака, задающего дурацкие вопросы и ещё, вдобавок, борзенького?