Помогите объединить два и более скетчей в один

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем CasperSimfer, 7 дек 2014.

  1. Airbus

    Airbus Радиохулиган Модератор

    Для этого надо еще Копейку отыскать.В энске это было непросто и 10 лет назад а щас вапще.
    Звонить 911.А ты в курсе что в самой развитой и богатой стране США если выбило свет то самому нельзя даже автомат включать?Я уж не говорю о чем то большем.Дебилизм хотя и не лишен здравого смысла.А вдруг КЗ?
    Каждый должен заниматься своим делом.Инженеры создавать производительные чипы.Програмисты с ними работать.Выдавать конечный продукт.Чтобы было удобно.Ну вот нахрена фьюзы и вачдоги в AVR?Шо нельзя это делать програмно?
     
  2. DetSimen

    DetSimen Guest

    Надо научить их (пиндосов) сразу сюда писать. Пароль: "ПАМАГИТИ!!!"
     
    Airbus нравится это.
  3. Airbus

    Airbus Радиохулиган Модератор

    Там если что то делаешь на Ардуино должна быть наклейка "не для продажи" иначе если увидят даже друзья то вложат и будешь в суде оправдываться.Так что уровень развития страны и число Кулибиных никак не связаны.
     
  4. parovoZZ

    parovoZZ Гуру

    не в курсе. Не был.
     
  5. parovoZZ

    parovoZZ Гуру

    не нравится AVR - переходи на PIC, NXP, STM, MSP...
     
  6. Fameone

    Fameone Нуб

    Приветствую, помогите пожалуйста соединить правильно 2 кода, (долго не получалось) новичок в этом вопросе.
    Код (C++):

    #include "ESP8266WiFi.h"

    void setup() {
      Serial.begin(115200);

      // Set WiFi to station mode and disconnect from an AP if it was previously connected
      WiFi.mode(WIFI_STA);
      WiFi.disconnect();
      delay(100);

      Serial.println("Setup done");
    }

    void loop() {
      Serial.println("scan start");

      // WiFi.scanNetworks will return the number of networks found
      int n = WiFi.scanNetworks();
      Serial.println("scan done");
      if (n == 0) {
        Serial.println("no networks found");
      } else {
        Serial.print(n);
        Serial.println(" networks found");
        for (int i = 0; i < n; ++i) {
          // Print SSID and RSSI for each network found
          Serial.print(i + 1);
          Serial.print(": ");
          Serial.print(WiFi.SSID(i));
          Serial.print(" (");
          Serial.print(WiFi.RSSI(i));
          Serial.print(")");
          Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*");
          delay(10);
        }
      }
      Serial.println("");

      // Wait a bit before scanning again
      delay(5000);
      {
    void setup() {
    Serial.begin(115200);
    const char* ssid     = "AndroidAP";
    const char* password = "ekfq0894";
    Serial.print("Connecting to ");
    Serial.println(ssid);
    WiFi.mode(WIFI_STA); // Задаем режим работы WIFI_STA (клиент)
    WiFi.begin(ssid, password); // Подключаемся
    while (WiFi.status() != WL_CONNECTED) // Ждем пока статус не станет WL_CONNECTED
    }
      }
    delay(500);
    {
    Serial.println("WiFi connected");
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP()); // показывает наше IP
    void loop()
    }
    И данный:

    Код (C++):
    #include <ESP8266WiFi.h>

    #ifndef STASSID
    #define STASSID "your-ssid"
    #define STAPSK  "your-password"
    #endif

    const char* ssid     = STASSID;
    const char* password = STAPSK;

    const char* host = "djxmmx.net";
    const uint16_t port = 17;

    void setup() {
      Serial.begin(115200);

      // We start by connecting to a WiFi network

      Serial.println();
      Serial.println();
      Serial.print("Connecting to ");
      Serial.println(ssid);

      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid, password);

      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
      }

      Serial.println("");
      Serial.println("WiFi connected");
      Serial.println("IP address: ");
      Serial.println(WiFi.localIP());
    }

    void loop() {
      Serial.print("connecting to ");
      Serial.print(host);
      Serial.print(':');
      Serial.println(port);

      // Use WiFiClient class to create TCP connections
      WiFiClient client;
      if (!client.connect(host, port)) {
        Serial.println("connection failed");
        delay(5000);
        return;
      }

      // This will send a string to the server
      Serial.println("sending data to server");
      if (client.connected()) {
        client.println("hello from ESP8266");
      }

      // wait for data to be available
      unsigned long timeout = millis();
      while (client.available() == 0) {
        if (millis() - timeout > 5000) {
          Serial.println(">>> Client Timeout !");
          client.stop();
          delay(60000);
          return;
        }
      }

      // Read all the lines of the reply from server and print them to Serial
      Serial.println("receiving from remote server");
      // not testing 'client.connected()' since we do not need to send data here
      while (client.available()) {
        char ch = static_cast<char>(client.read());
        Serial.print(ch);
      }
     
  7. DetSimen

    DetSimen Guest

    начни лучше со светлодиодика.
     
    parovoZZ нравится это.
  8. Airbus

    Airbus Радиохулиган Модератор

    Для чего их обьединять?
     
  9. parovoZZ

    parovoZZ Гуру

    на безвозмездной основе? Я лучше дашик на MSP430 почитаю)))
     
  10. Fameone

    Fameone Нуб

    Делаем научную работу, необходимо, что бы Wi-Fi модуль сканировал окружающие сети и после подключался к 1ой конкретной. По отдельности программы работаювот вместе у меня не получается их корректно соединить.
     
  11. DIYMan

    DIYMan Guest

    Ну раз научную - изучайте, наука, она такая - через тернии к звёздам.

    А если серьёзно: показывайте, что именно не получается. Не абстрактное "не получается их корректно соединить", а научные выкладки: эксперимент номер такой-то, объединили так-то, ошибка компиляции такая-то, ошибка логики работы - такая-то. И на эти конкретные вводные поступит вполне конкретная помощь. Делать работу за вас - а смысл? Какие плюшки, кроме впустую потраченного личного времени, получит выполнивший эту работу? Вы поделитесь с ним частью гонорара за вашу научную работу?
     
    b707 нравится это.
  12. parovoZZ

    parovoZZ Гуру

    О, как!!! Так я тогда научной работой каждый день занимаюсь !!! Даже лауреат на шнобеля!!!
     
  13. Airbus

    Airbus Радиохулиган Модератор

    А за это научную степень дают?А мне?А мне!Хочу Докторскую!Любительская уже надоела!А если честно то всё уже давно украдено до нас придумано и есть в примерах.А где не скажу-ищите и обрящите.
     
  14. Привет всем! помогите соединить два кода. первый на соединение
    Код (Text):

    #include <car_bluetooth.h>
    #include <SoftwareSerial.h>   //Software Serial Port
    #include <String.h>
    #include "MotorDriver.h"

    #define RxD 2//D2 of Arduino should connect to TX of the Serial Bluetooth module
    #define TxD 4//D4 of Arduino should connect to RX of the Serial Bluetooth module
    CarBluetooth bluetooth(RxD, TxD);
    #define CMD_INVALID     0XFF
    #define CMD_FORWARD     'F'
    #define CMD_RIGHT_FRONT 'R'

    #define CMD_BACKWARD    'B'

    #define CMD_LEFT_FRONT  'L'
    #define CMD_STOP        'S'

    #define SPEED_STEPS 20
    uint8_t speed0 = 100;

    void setup(){
      motordriver.init();  
      motordriver.setSpeed(100,MOTORA);
      motordriver.setSpeed(100,MOTORB);
      bluetooth.waitConnected();

    }
    uint8_t bt_command;

    #define CAR_STOP 0
    #define CAR_FORWARD 1
    #define CAR_BACK 2
    uint8_t car_status = CAR_STOP;
    uint8_t new_status = car_status;

    void loop(){
      bt_command = bluetooth.readByte();

      if(bt_command != CMD_INVALID){
      controlCar(bt_command);
      }

    }


    void controlCar(uint8_t cmd){
       switch(cmd)
      {
        case CMD_FORWARD:     motordriver.goForward();break;
      case CMD_RIGHT_FRONT:
      //  if(car_status != CAR_STOP)new_status = CAR_FORWARD;
        motordriver.goRight();
       // delay(200);
        break;
      case CMD_BACKWARD:    motordriver.goBackward(); break;
      case CMD_LEFT_FRONT:
        motordriver.goLeft();
       // delay(200);
        break;
      case CMD_STOP:        motordriver.stop();break;
      default: break;
      }
      if((cmd>='0')&&(cmd<='9'))
      {
          speed0 = cmd-0x30;
        Serial.print(speed0);
        Serial.print(">");
        speed0 = map(speed0, 0, 9, 0, 255);
        Serial.println(speed0);
        motordriver.setSpeed(speed0,MOTORA);
        motordriver.setSpeed(speed0,MOTORB);
      }
    }

    void speedUp(){
      if(speed0 < 236)speed0 += SPEED_STEPS;
      else speed0 = 255;
      motordriver.setSpeed(speed0,MOTORA);
      motordriver.setSpeed(speed0,MOTORB);
    }

    void speedDown(){
      if(speed0 > 70)speed0 -= SPEED_STEPS;
      else speed0 = 50;
       motordriver.setSpeed(speed0,MOTORA);
      motordriver.setSpeed(speed0,MOTORB);
    }

     
     
  15. Второй для дисплея
    Код (Text):

    //Demo for Ultrasonic Sensor and 4-Digit Display module
    //by Catalex
    //Demo Function: Use the Ultrasonic Sensor module to detect the distance and
    //               display it on the 4-digit Display module
    //Store: http://www.aliexpress.com/store/1199788
    //      http://dx.com
    #include <Ultrasonic.h>
    #include "TM1637.h"
    //module--- Arduino
    //VCC   --- 5V
    //GND   --- GND
    #define TRIGGER_PIN  5//connect Trip of the Ultrasonic Sensor moudle to D5 of Arduino
                          //and can be changed to other ports
    #define ECHO_PIN     3
    Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);

    #define CLK A5//connect CLK of the 4-Digit Display to A5 of Arduino and can be changed to other ports  
    #define DIO A4//
    TM1637 disp(CLK,DIO);

    void setup()
      {
       disp.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
      disp.init();
      }

    void loop()
      {
      float cmMsec, inMsec;
      long microsec = ultrasonic.timing();

      cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
      inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
      disp.display((int16_t)cmMsec);//in centimeters
      delay(500);
      }
     
     
  16. parovoZZ

    parovoZZ Гуру

    Сам пытался? Если нет, то в закажу проект.
     
  17. !@#$

    !@#$ Нерд

    А по отдельности скетчи паботают как тебе надо?
    Если ... да. То будем соединять в месте. Ты же не дурней паровоза! Разберёмся.
    Начинай. Сперва соедини строки в место области глобальных переменных (это строки кода до сетапа)
    Потом запиши сетапы обоих скетчей. Потом лупы. Если скомпилируется такой монстрик ... уже 90% успеха. Если нет ... будем искать конфликты. Ничего страшного. Как сказал Великий Дима ... "Боги не умеют горшки обжигать, просят это сделать атеистов".
     
  18. Да пытался. Впервые в ардуино разбираюсь. Скетчи работают нормально
     
  19. !@#$

    !@#$ Нерд

    Ну и где твой сиамский ребёнок?
     
  20. Airbus

    Airbus Радиохулиган Модератор

    Это Вы DIYMan-а все время хвалите?