Срочно нужна помощь с объединением скетчей!!!!
- Войдите на сайт для отправки комментариев
Пт, 09/03/2018 - 01:27
Приветствую вас, уважаемые форумчане!
Очень нужна ваша помощь.
Племянник написал отдельные скетчи (домашняя работа) и нужно их объединить в один.
Срок у нас до понедельника 13 марта.
Сами справиться не можем(
Будем вам очень благодарны!!!
Первый скетч.............................................................................................................................
/* Encoder Library - TwoKnobs Example * http://www.pjrc.com/teensy/td_libs_Encoder.html * * This example code is in the public domain. */ #include <Encoder.h> // Change these pin numbers to the pins connected to your encoder. // Best Performance: both pins have interrupt capability // Good Performance: only the first pin has interrupt capability // Low Performance: neither pin has interrupt capability Encoder knobLeft_ENCO(40, 41); Encoder knobRight_ENCO(42, 43); Encoder knobUp_ENCO(34, 35); Encoder knobDown_ENCO(46, 47); // avoid using pins with LEDs attached void setup_ENCO() { Serial.begin(9600); Serial.println("TwoKnobs Encoder Test:"); } long positionLeft = -999; long positionRight = -999; long positionUp = -999; long positionDown = -999; void loop_ENCO() { long newLeft, newRight, newUp, newDown; newLeft = knobLeft.read(); newRight = knobRight.read(); newUp = knobUp.read(); newDown = knobDown.read(); if (newLeft != positionLeft || newRight != positionRight || newUp != positionUp || newDown != positionDown) { Serial.print("Left = "); Serial.print(newLeft); Serial.print(", Right = "); Serial.print(newRight); Serial.print(", Up = "); Serial.print(newUp); Serial.print(", Down = "); Serial.print(newDown); Serial.println(); positionLeft = newLeft; positionRight = newRight; positionUp = newUp; positionDown = newDown; } // if a character is sent from the serial monitor, // reset both back to zero. if (Serial.available()) { Serial.read(); Serial.println("Reset both knobs to zero"); knobLeft.write(0); knobRight.write(0); knobUp.write(0); knobDown.write(0); } }
Второй скетч............................................................................................................................
#include <Wire.h> /// дальномер синий #include <Ultrasonic.h> Ultrasonic us_2_hc(30, 31); Ultrasonic us_1_hc(50, 51); void setup_hc() { Serial.begin(9600); // start the serial port } void loop_hc() { float d_1 = us_1.Ranging(CM); // get distance float d_2 = us_2.Ranging(CM); // get distance Serial.print(d_1); Serial.print("cm, "); Serial.print(d_2); Serial.print("cm, "); // print the distance delay(500); // arbitrary wait time. }
Третий скетч............................................................................................................................
// библиотека для работы I²C #include <Wire.h> // библиотека для работы с модулями IMU #include <TroykaIMU.h> // создаём объект для работы с гироскопом Gyroscope gyro_IMU; // создаём объект для работы с акселерометром Accelerometer accel_IMU; // создаём объект для работы с компасом Compass compass_IMU; // создаём объект для работы с барометром Barometer barometer_IMU; // калибровочные значения компаса // полученные в калибровочной матрице из примера «compassCalibrateMatrix» const double compassCalibrationBias_IMU[3] = { 524.21, 3352.214, -1402.236 }; const double compassCalibrationMatrix_IMU[3][3] = { {1.757, 0.04, -0.028}, {0.008, 1.767, -0.016}, {-0.018, 0.077, 1.782} }; void setup_IMU() { // открываем последовательный порт Serial.begin(115200); // выводим сообщение о начале инициализации Serial.println("Begin init..."); // инициализация гироскопа gyro.begin(); // инициализация акселерометра accel.begin(); // инициализация компаса compass.begin(); // инициализация барометра barometer.begin(); // калибровка компаса compass.calibrateMatrix(compassCalibrationMatrix, compassCalibrationBias); // выводим сообщение об удачной инициализации Serial.println("Initialization completed"); Serial.println("Gyroscope\t\t\tAccelerometer\t\t\tCompass\t\tBarometer"); } void loop_IMU() { // вывод угловой скорости в градусах в секунду относительно оси X Serial.print(gyro.readDegPerSecX()); Serial.print("\t"); // вывод угловой скорости в градусах в секунду относительно оси Y Serial.print(gyro.readDegPerSecY()); Serial.print("\t"); // вывод угловой скорости в градусах в секунду относительно оси Z Serial.print(gyro.readDegPerSecZ()); Serial.print("\t\t"); // вывод направления и величины ускорения в м/с² по оси X Serial.print(accel.readAX()); Serial.print("\t"); // вывод направления и величины ускорения в м/с² по оси Y Serial.print(accel.readAY()); Serial.print("\t"); // вывод направления и величины ускорения в м/с² по оси Z Serial.print(accel.readAZ()); Serial.print("\t\t"); // выводим азимут относительно оси Z Serial.print(compass.readAzimut()); Serial.print(" Degrees\t"); // вывод значения абсолютного давления Serial.print(barometer.readPressureMillibars()); Serial.print("\t"); // вывод значения температуры окружающей среды Serial.print(barometer.readTemperatureC()); Serial.print("\t"); Serial.println(""); delay(100); }
Четвертый скетч............................................................................................................................
// библиотека для работы I²C #include <Wire.h> // библиотеку для модуля VL6180X #include <SparkFun_VL6180X.h> // адрес датчика приближения по умолчанию #define VL6180X_ADDRESS 0x29 // создаём объект для работы с модулем VL6180x sensor_light(VL6180X_ADDRESS); void setup_light() { // открываем монитор Serial-порта Serial.begin(9600); // проверяем инициализацию модуля while (sensor.VL6180xInit()) { Serial.println("Failed to initalize"); delay(1000); } // загружаем настройки модуля по умолочнию sensor.VL6180xDefautSettings(); // ждём 1 секунду delay(1000); } void loop_light() { // получаем и выводим значения расстояния до объекта // и уровень внешнего освещения Serial.print("Light = "); Serial.print(sensor.getAmbientLight(GAIN_1)); Serial.print(" Lx\t\t"); Serial.print("Distance = "); Serial.print(sensor.getDistance() ); Serial.println(" mm"); delay(100); }
Пятый скетч............................................................................................................................
#include <AFMotor.h> // создаём объект для работы с датчиком тока // и передаём ему номер пина выходного сигнала // подключаем библиотеку для работы с платой драйвера двигателя // Подключаем моторы к клеммникам M1, M2, M3, M4 AF_DCMotor motor1_motor(1); AF_DCMotor motor2_motor(2); AF_DCMotor motor3_motor(3); AF_DCMotor motor4_motor(4); int velocity_motor = 254; void setup_motor() { // Задаем скорость вращения моторов (аналог работы PWM) motor1.setSpeed(velocity); motor1.run(RELEASE); motor2.setSpeed(velocity); motor2.run(RELEASE); motor3.setSpeed(velocity); motor3.run(RELEASE); motor4.setSpeed(velocity); motor4.run(RELEASE); } void loop_motor() { int i; // определяем счётчик motor1.run(FORWARD); // задаем направление движения вперед motor2.run(FORWARD); motor3.run(FORWARD); motor4.run(FORWARD); for (i=0; i<255; i++) { motor1.setSpeed(i); motor2.setSpeed(i); motor3.setSpeed(i); motor4.setSpeed(i); delay(10); } motor1.run(RELEASE); // остановка motor2.run(RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); motor1.run(BACKWARD); // задаем направление движения назад motor2.run(BACKWARD); motor3.run(BACKWARD); motor4.run(BACKWARD); for (i=0; i<255; i++) { motor1.setSpeed(i); motor2.setSpeed(i); motor3.setSpeed(i); motor4.setSpeed(i); delay(10); } motor1.run(RELEASE); // остановка motor2.run(RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); delay(1000); }
Эти скетчи не могут быть объединены. Минимум 4 их них нужно переписать, чтобы хотя бы теоретически их можно было объединять с другими.
Можете помочь? Я к сожалению совсем в этом не понимаю и за выходные (при всём желании) всего не изучу(
Зачем же он писал разные... надо было просто один делать сразу. Судя по коду - он понимает, что делать.
Полностью с Вами сонгласен. Я бы тоже сразу писал один.
Он их просто нашел готовые.
Что же сегодня за день такой - халтурщиков и тунеядцев. Привели четыре примера с Амперки, в которых ни буквы не изменено - мы писали скетчи! А Вы часом не тот самый племянник и есть?
Племянник написал отдельные скетчи (домашняя работа)
Он их просто нашел готовые
Ну вообще-то в этом году понедельник у нас 12 марта, а 13 марта в понедельник будет в 2029 году. Так что успеете.
Так вот откуда они взяты))))) Нет, я об этом даже не в курсе. Я вообще изначально думал, что он их сам писал. Только потом уже начал смотреть и заподозрил, что это возможно не так.
Извиняюсь, перепутал дату) Понедельник 12го.
Ответил ven-til, как раз об этом
Народ, я не прикидываюсь тут бедной овечкой или жертвой. Просто хочу помочь своему парню.
Я написал то, что знаю и какие-то свои догадки, не более.
Наверняка что-то он мне не договорил, но суть вопроса сейчас в этом задании. С остальным мы потом разбираться будем...
roheh,
Вы вывесили сразу две красные тряпки: "срочно" и "учебное задание". Любого из двух достаточно для того, чтобы в теме ничего кроме глума не было. А уж, когда оба вместе ... Боюсь, что ничего умнее и остроумнее, чем #7, Вы здесь уже не увидите, так что тему можно закрывать. 99% - здесь Вам не обломится.
-----------
Если Вам действительно сильно надо, запостите запрос в разделе Ищу исполнителя. Только не приводите там эти натыренные скетчи, а просто объясните, что нужно сделать. Вполне вероятно, что какой-нибуть нормальный, трудолибивый и умный студент(-ка) поможет Вашему ленивому оболтусу за разумную денюшку. Польза будет всем: Ваш лодырь в очередной раз "обманет кондуктора - заплатит и не поедет", а нормальный мальчик (девочка) получат новый приличный мультиметр или там пару-тройку серв - чего им там нужно.
Это реально хороший совет. Хотите получить результат - не пренебрегайте.
... а парень, тем временем, порыл в ночной клуб... ;-)
Да сама формулировка-то задачи никакая. Есть примеры работы энкодера, дальномера, гироскопа/акселерометра/компаса/барометра, двигателей. Объедините это! Что получиться-то должно? А какая разница! Песец!
Спасибо за советы.
По поводу натыренных. Говорят, что они там в открытом доступе лежат для общего пользования.
По поводу не обломится. Я спросил как объединить 5 готовых, рабочих скетча в один.
Есть у нас такой вот проект. Я не просил сделать проект с нуля, я не из хотро*опых.
Если бы я сам в этом разбирался, то естественно не стал бы своё время тратить на эту болтавню.
Но по опыту других языков я видел, что объединить несколько кодов не так уж и трудно, если знать синтаксис языка.
Народ, очень прошу, если у вас нет реально дельного совета, не тратьте своё и моё время впустую.
Спасибо за понимание.
По поводу натыренных. Говорят, что они там в открытом доступе лежат для общего пользования.
По поводу натыренных...
Натыренные - это не когда взято из free софта. Натырено - это когда взято из free софта, а потом это пытаются "втулить" преподавателю как "клянусь мамой - сам сделал".
Вы задачу-то сформулируйте, а то объединить...друг за другом их напишите - уже объединение будет.
В краже скетчей Вас ни коим образом не обвиняют, только в некоторой дезинформации местного сообщества и попытке обмана учителя/преподавателя. Но поймите, Ваша задача звучит так: "Вот гвоздь, кусок фанеры, кактус и леденец - объедините мне их!"
И если не секрет, где это у нас задают домашние задания по ардуино, которые срочно делать надо?
Вам уже писали, но повторю, что некоторые скетчи или аппаратура для которой они написаны вполне могут быть несовместимы, совсем. Так что зря думаете, что это просто. Надо весьма хорошо поработать.
Есть вот такой код, он по идее общий на всё это, но выдаёт много ошибок почему-то...
https://yadi.sk/d/gDiQ6xPi3TBxR9
Само собой. Возьми Запор, Феррари и Камаз и объедини, чтобы у гибрида была скорость Феррари, грузоподъёмность Камаза и цена Запора ("я Видел, что это не так уж и трудно, если в автомеханике разбираться").
Вас 28 раз спросить про конечную цель? Вы специально этот вопрос игнорите?
Робот, который сможет ездить по рельсам и выполнять всякие работы манипулятором, который на него будет установлен в последствии.
Ну и датчики в довесок. Дальномер (расстояние для препятствий) , датчики света, температуры, угловых скоростей, ну и всё такое.
Вы, кажется пытаетесь мне что-то доказать? Это пожалуйста, сколько угодно :) Я Вам сказал, как оно есть на самом деле - или Вы заказываете за бабки или работа сделана не будет. Вы считаете меня неправым и что-то доказываете? Да, ради бога, доказывайте на здоровье! Сдавать-то в понедельник Вам, а не мне, мне-то пофигу.
Только не говорите потом (когда придёт понедельник, а ни хрена не сделано), что здесь Вам дельного совета не дали. Дали, просто Вы его отмели и кинулись что-то доказывать. Дело Ваше.
И всё это сейчас, бесплатно, не отходя от кассы? Неплохие ожидания )))
Не успеваю всем сразу отвечать
Мне нечего доказывать. Не люблю обвинений пустых.
А за советы я вам тоже благодарен.
Хера-се!
От объединения с неясной целью ежа с ужом до такого устройства дистанции такого размера ...
Мужик, это проект для нормально разбирающегося в вопросе человека как минимум на пару недель, а если "по вечерам. после работы", то на месяц и больше. Для человека же, не умеющего скомпилировать скетч - это год как миниму - прокачать знания и умения и только тогда что-то делать.
Нет. Не на всё. Только на два объекта. Я про это и говорю. Даже два скетча кто-то объединить не смог. Кактус и леденец ещё и не начинали присоединять.
Да чтоб тебя такие же ИГЭнутые врачи лечили, которые сдавали икзамены как твой плимяннег.
Я знал, я знал! :) И всё до понедельника! Аплодисменты, занавес!
А Вас никто ни в чём не обвинял. Абсолютно. Слово "натыренный" так здесь терминология такая. Скетч взятый из интернета - "тянутый" или "тыренный". Вы здесь первый день, потому не знаете. Если бы прежде, чем постить, почитали бы форум, то знали бы.
Ладно мужики. И на том спасибо) Передам.
Было бы у меня столько времени, я бы из интереса уже и сам бы попытался изучить мат часть))
А так, буду знать на будущее)
Было бы у меня только времени, выучился бы на стоматолога :)
Это да))))
За вознаграждение кто-нибудь готов сделать это проект грамотно и всрок?
Был бы у меня такой кот, я и не женился бы никогда https://www.youtube.com/watch?v=_-eZVy28i_0
ПС: Бог избавь меня от таких заказов и особенно заказчиков.
я обьеденил,незачто
Охереть как остроумно
Отучи же меня говорить....