• Объявления

    • admin

      Внимание! Постить только по теме "электроника"   02.09.2016

      Внимание! В данном разделе разрешено создавать только темы связанные с электроникой. Для проблем с ПО не связанных с электроникой существует специальный раздел.
      Нарушители будут забанены на 5 суток!

451 сообщение в этой теме

Yanshun    377

@sima8520 Добрый вечер.
Опять меня выручили, Большое Вам спасибо за помощь. Я пол дня потратил в Компасе, чтобы их согнуть, но так и ничего у меня не вышло.
Отлично получилось, мне нравится. Теперь можно разрабатывать  ПП для термостата на 1000 градусов.

Ashampoo_Snap_2018.07.01_20h40m22s_001_3D модель.png

Ashampoo_Snap_2018.07.01_20h40m44s_002_3D модель.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: 5670721
      Доброго времени!
      Для Ардуино мне необходимо написать программу управления тремя сервоприводами и выводом на дисплей абсолютного угла наклона по одной оси.
      Два сервопривода должны управляться потенциометрами, третий кнопкой (два положения сервопривода).
      Ну и помочь мне все это спаять ) Поэтому желательно, чтобы Вы находились в Москве или Подмосковье.
      Так же я слышал про накопление ошибки при работе гироскопа-акселерометра, очень желательно убрать эту проблему.
      Если, конечно, Вы не предложите более подходящий прибор для измерения угла наклона.
      Компоненты все куплены.
    • Автор: dbokov
      Всем привет.
      С учётом разрастающейся мастерской всё труднее искать нужные детали, а также помнить, что в ней есть, а чего нет.
      Задумался о системе учёта деталей, материалов, инструментов.
      На просторах интернета нашёл программу учета деталей (начинайте с 10стр) http://monitor.espec.ws/section13/topic25350.html
      Мне очень понравилась - нет ничего лишнего, не перегружена, всё понятно, бесплатна (ну по желанию можно отблагодарить). Разработчик очень адекватно реагирует на пожелания пользователей.
      Давно пользуюсь данной программой, очень доволен.
    • Автор: Zimmer
      Проблема: При открытии файла появляется диалоговое окно с сообщением о несовместимости версий: «Невозможно открыть файл чертежа, так как он создан в более ранней версии AutoCAD». Но главное то, что он создан в этой самой версии и программе уже скоро будет 3 года. Некоторые моменты уже проверены, и испробованы. Пишу сразу на нескольких формах, т.к файл надо запустить. Подойдут все методы и способы исправить .dwg файл AutoCAD. Спасибо. У меня уже кипит...
    • Автор: Alexander07
      Здравствуйте, есть такой вопрос. Мне нужна программа, в которой я могу создавать электрические цепи и проводить расчёты. Желательно, чтобы программа представляла из себя лабораторный стенд как в кабинетах. Есть какие-нибудь программы?
    • Автор: soulmare
      Может, кому-то пригодится простой онлайн конструктор шкалы прибора, позволяющий в браузере по заданным параметрам сгенерировать шкалу с делениями и цифровыми метками. Собственно, вот он: http://shopcms-moduli.com/scale_constructor/scale_constructor.php
      Чтобы сохранить шкалу как рисунок, можно сделать скриншот, и потом в графическом редакторе дорисовать или подправить что нужно.
      Программа делалась за вечер, для собственных небольших потребностей, ради которых не хотелось устанавливать профессиональные векторные пакеты вроде CorelDraw. Скрипт полусырой, но может быть при желании и умении пользователя доработан - исходник прилагаю.
      Лично у меня остались такие нерешенные в скрипте проблемы:
      шкалы с нелинейным изменением точная подгонка делений под снятый с показателей прибора шаблон Это все реализуемо, но простого способа не придумал, а сложные займут слишком много времени, которое неизвестно когда появится.

      scale_constructor.source.zip
  • Сообщения

    • кто сказал что это условие будет выполнятся всегда? Если бы мс инкрементировали в этом же цикле, такое условие допустимо правильно писать if (millis() - lastmillis_mah) >= 1000) { }  
    • Пострадал следователь Лысейко...
      https://life.ru/t/новости/1135847/ubili_sobak_zabrali_20_tysiach_v_novoi_moskvie_oghrabili_eks-sliedovatielia_lysieiko
    • Пересоздал проект, ввел почти тот же код, почти все заработало корректно, но индикация через некоторое время останавливается (хотя микроконтроллер на кнопки реагирует). На железе индикация пропадает после 17 секунды, а в протеусе после 104. #include <EEPROM.h> #include <Bounce2.h> Bounce knopka_m = Bounce(); Bounce knopka_mah_plus = Bounce(); Bounce knopka_mah_minus = Bounce(); Bounce knopka_shl_plus = Bounce(); Bounce knopka_shl_minus = Bounce(); #define CLOCK 13 //SH_CP #define DATA 11  //DS #define LATCH 10  //ST_CP unsigned long lastmillis_show = 0; byte numbers[] = {0, 0, 0, 0, 0, 0}; volatile int rpmmah_count = 0; volatile int rpmshl_count = 0; boolean ee = 0; byte menu = 0; int mh = 1234; int hh = 0; int et_mah = 900; int et_shl = 80; int ot_mah = 30; int ot_shl = 3; int rpm_mah = 0; int rpm_shl = 0; unsigned long lastmillis_mah = 0; unsigned long lastmillis_shl = 0; unsigned char number[] = {   0b01111110, //0   0b00110000, //1   0b01101101, //2   0b01111001, //3   0b00110011, //4   0b01011011, //5   0b01011111, //6   0b01110000, //7   0b01111111, //8   0b01111011, //9   0b00000001, //-   0b00000000  //тушим индикатор }; // чтение int EEPROM_int_read(int addr) {   byte raw[2];   for (byte i = 0; i < 2; i++) raw[i] = EEPROM.read(addr + i);   int &num = (int&)raw;   return num; } // запись void EEPROM_int_write(int addr, int num) {   byte raw[2];   (int&)raw = num;   for (byte i = 0; i < 2; i++) EEPROM.write(addr + i, raw[i]); } void ee_write () {   EEPROM_int_write(0, mh);   EEPROM_int_write(2, hh);   EEPROM_int_write(4, et_mah);   EEPROM_int_write(6, et_shl);   EEPROM_int_write(8, ot_mah);   EEPROM_int_write(10, ot_shl); } void show() {   int x;   for (x = 5; x >= 0; x--) {     //включаем LATCH (Начинаем общение)     digitalWrite(LATCH, LOW);     shiftOut(DATA, CLOCK, LSBFIRST, number[numbers[x]]);     //отключаем LATCH (чтобы регистр не ждал данных)     digitalWrite(LATCH, HIGH);   } } void rpm_mahovik() { /* this code will be executed every time the interrupt 0 (pin2) gets low.*/   rpmmah_count++; } void rpm_shluz() { /* this code will be executed every time the interrupt 0 (pin2) gets low.*/   rpmshl_count++; } void setup() {   // put your setup code here, to run once:   Serial.begin(9600);   attachInterrupt(0, rpm_mahovik, FALLING);   attachInterrupt(1, rpm_shluz, FALLING);   pinMode(CLOCK, OUTPUT);   pinMode(DATA, OUTPUT);   pinMode(LATCH, OUTPUT);   digitalWrite(LATCH, HIGH);   pinMode(19, INPUT_PULLUP);   knopka_m.attach(19); // устанавливаем кнопку   knopka_m.interval(5); // устанавливаем параметр stable interval = 5 мс   pinMode(18, INPUT_PULLUP);   knopka_mah_plus.attach(18); // устанавливаем кнопку   knopka_mah_plus.interval(5); // устанавливаем параметр stable interval = 5 мс   pinMode(17, INPUT_PULLUP);   knopka_mah_minus.attach(17); // устанавливаем кнопку   knopka_mah_minus.interval(5); // устанавливаем параметр stable interval = 5 мс   pinMode(16, INPUT_PULLUP);   knopka_shl_plus.attach(16); // устанавливаем кнопку   knopka_shl_plus.interval(5); // устанавливаем параметр stable interval = 5 мс   pinMode(15, INPUT_PULLUP);   knopka_shl_minus.attach(15); // устанавливаем кнопку   knopka_shl_minus.interval(5); // устанавливаем параметр stable interval = 5 мс } void loop() {   // put your main code here, to run repeatedly:   if (EEPROM.read(0) == 0xFF) {     ee_write ();   }   if ((millis() <= 100) & (ee == 0)) {     mh = EEPROM_int_read(0);     hh = EEPROM_int_read(2);     et_mah = EEPROM_int_read(4);     et_shl = EEPROM_int_read(6);     ot_mah = EEPROM_int_read(8);     ot_shl = EEPROM_int_read(10);     ee = 1;   }   if (millis() - lastmillis_mah == 1000) {     detachInterrupt(0);     rpm_mah = rpmmah_count * 60;     rpmmah_count = 0;     lastmillis_mah = millis();     attachInterrupt(0, rpm_mahovik, FALLING);   }   if (millis() - lastmillis_shl == 5000) {     detachInterrupt(1);     rpm_shl = rpmshl_count * 12;     rpmshl_count = 0;     lastmillis_shl = millis();     attachInterrupt(1, rpm_shluz, FALLING);   }   if (millis() - lastmillis_show == 1000) {     if (menu == 0) {       numbers[0] = rpm_mah / 1000;       numbers[1] = (rpm_mah % 1000) / 100;       numbers[2] = ((rpm_mah % 1000) % 100) / 10;       numbers[3] = ((rpm_mah % 1000) % 100) % 10;       numbers[4] = rpm_shl / 10;       numbers[5] = rpm_shl % 10;     }     if (menu == 1) {       numbers[0] = mh / 1000;       numbers[1] = (mh % 1000) / 100;       numbers[2] = ((mh % 1000) % 100) / 10;       numbers[3] = ((mh % 1000) % 100) % 10;       numbers[4] = 11;       numbers[5] = 11;     }     if (menu == 2) {       numbers[0] = et_mah / 1000;       numbers[1] = (et_mah % 1000) / 100;       numbers[2] = ((et_mah % 1000) % 100) / 10;       numbers[3] = ((et_mah % 1000) % 100) % 10;       numbers[4] = et_shl / 10;       numbers[5] = et_shl % 10;     }     if (menu == 3) {       numbers[0] = ot_mah / 1000;       numbers[1] = (ot_mah % 1000) / 100;       numbers[2] = ((ot_mah % 1000) % 100) / 10;       numbers[3] = ((ot_mah % 1000) % 100) % 10;       numbers[4] = ot_shl / 10;       numbers[5] = ot_shl % 10;     }     show();     lastmillis_show = millis();     Serial.println(lastmillis_show);   }   if (knopka_m.update() && knopka_m.read() == 0) {     if (menu != 3) menu++;     else {menu = 0; ee_write ();} //  Serial.println ("Knopka");   } //////////////////////////////////////////////////////////////////   if (knopka_mah_plus.update() && knopka_mah_plus.read() == 0) {     if (menu == 2) {       if (et_mah < 1000) et_mah = et_mah + 10;     }     if (menu == 3) {       if (ot_mah < 100) ot_mah = ot_mah + 1;     }   }   ////////////////////////////////////////////////////////////////////   if (knopka_mah_minus.update() && knopka_mah_minus.read() == 0) {     if (menu == 2) {       if (et_mah > 800) et_mah = et_mah - 10;     }   }   if (knopka_mah_minus.update() && knopka_mah_minus.read() == 0) {     if (menu == 3) {       if (ot_mah > 10) ot_mah = ot_mah - 1;     }   }   /////////////////////////////////////////////////////////////////////   //////////////////////////////////////////////////////////////////   if (knopka_shl_plus.update() && knopka_shl_plus.read() == 0) {     if (menu == 2) {       if (et_shl < 70) et_shl = et_shl + 1;     }     if (menu == 3) {       if (ot_shl < 20) ot_shl = ot_shl + 1;     }   }   ////////////////////////////////////////////////////////////////////   if (knopka_shl_minus.update() && knopka_shl_minus.read() == 0) {     if (menu == 2) {       if (et_shl > 30) et_shl = et_shl - 1;     }   }   if (knopka_shl_minus.update() && knopka_shl_minus.read() == 0) {     if (menu == 3) {       if (ot_shl > 0) ot_shl = ot_shl - 1;     } } }
    • Мультиметры, лазерные рулетки некоторое количество.
    • Ссылка отсылает на "Инструмент". Никакой "Измерительной техники" на сайте не обнаружил. Ни через меню (крайне неудобные), ни поиском по сайту.
    • А где Вы видели определившегося с выбором клонкостроителя? Как бороться за малое количество гармоник? Не вижу других путей, кроме массивов. Но есть подводные камни. На НЧ сложность одна - надо где то организовывать задние объёмы, пропорционально количеству динамиков. На ВЧ - другая сложность - фазовые приключения. Остаётся  - комплекс мер --строительсво системы --от КдП.
      Ближнее поле, обилие рассеивателей, расстояние от ушей до пищалки не более 2 метров. Тогда хватит одной маленькой пищалки, Герц с 5000, 2-3 порядком. Маленькой, из-за того что клеить к СЧ придётся высоко, и пищалка должна быть как можно более точечной. Хороший частный случай массива - дАпполито. По перегрузочной способности (т.е. и по гармоникам) - выигрыш, с фазой никаких дополнительных приключений в сранении с недапполито.
    • Вот объявление -