Jump to content

VU meter на ATMega328


Karl-Ieronim
 Share

Recommended Posts

06.12.2020 в 04:03, resd1981 сказал:

И чем все закончилось, получилось запустить индикатор?

Ещё нет. Индикаторы пришли, но полный завал - времени нет. Постараюсь на днях проверить. 

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

Всё пришло, но время.... 

Link to comment
Share on other sites

  • 1 month later...

индикаторы пришли, немного не такие как у автора, то с таким же выбором адреса (7В-7А) но после прошивки  экраны темные, ничего нет. Проверил в Ардуино адреса - все мои дисплейчики адрес 3С.

Link to comment
Share on other sites

  • 2 weeks later...

Проэкт зашел в тупик. Мне тоже интересен этот проект, но видя ваш неудачный опыт сборки, наверное не буду браться за него.

Edited by resd1981
Link to comment
Share on other sites

Вебинар «Особенности применения литиевых батареек Fanso (EVE) в популярных решениях»(30.11.2021)

Приглашаем 30 ноября всех желающих посетить вебинар о литиевых источниках тока Fanso (EVE). Вы узнаете об особенностях использования литиевых источников питания и о том, как на них влияют режим работы и условия эксплуатации. Мы расскажем, какие параметры важно учитывать при выборе литиевого ХИТ, рассмотрим «подводные камни», с которыми можно столкнуться при неправильном выборе, разберем, как правильно проводить тесты, чтобы убедиться в надежности конечного решения. Вы сможете задать вопросы представителям производителя, которые будут участвовать в вебинаре.

Подробнее

Там оказалась тонкость - я для проверки один дисплей цеплял, а надо два сразу. Поэтому попробую ещё раз - подцеплю два. 

Кроме того, нашел инф как мои первые дисплеи "переобуть" для использования в этом проекте. 

После напишу автору, мож чо подскажет. 

А так, я и платы заказал....

Edited by Karl-Ieronim
Link to comment
Share on other sites

  • 2 weeks later...

Вебинар «Антенны Molex: выбор и применение» (25.11.2021)

Приглашаем всех желающих 25/11/2021 г. принять участие в вебинаре, посвященном антеннам Molex. Готовые к использованию антенны Molex являются компактными, высокопроизводительными и доступны в различных форм-факторах для всех стандартных антенных протоколов и частот. На вебинаре будет проведен обзор готовых решений и перспектив развития продуктовой линейки. Разработчики смогут получить рекомендации по выбору антенны, работе с документацией и поддержкой, заказу образцов.

Подробнее

/*  OLEDMeter was written to utilize any 128x64 display. I have only seen marginal attempts to
 *  animate meters and I hope this one will set a standard. Please feel free to modify and share
 *  this code for any 128x64 LCD or OLED. OLEDMeter sketch was written for use with I2C SH1106.
 *  This code must be modified to work with other display devices.
 *  
 *  Working portion of code was taken from Adafruit Example Sound Level Sketch for the
 *  Adafruit Microphone Amplifier
 * https://learn.adafruit.com/adafruit-microphone-amplifier-breakout/measuring-sound-levels
 *  
 *  Remaining code was written by Greg Stievenart with no claim to or any images or information 
 *  provided in this code. Freely published May 26, 2016.
 *  
 *  Software to convert background mask to 128x64 at: http://www.ablab.in/image2glcd-software/
 *  
 *  IMPORTANT: Sound source must be grounded to the Arduino or other MCU's to work. Usually the
 *  base sleeve contact on TRS or TRRS connector is the ground.
 */

#include <Wire.h>                     // requried to run I2C SH1106
#include <SPI.h>                      // requried to run I2C SH1106
#include <Adafruit_GFX.h>             // https://github.com/adafruit/Adafruit-GFX-Library
#include <Adafruit_SH1106.h>          // https://github.com/wonho-maker/Adafruit_SH1106

#define OLED_RESET 4                  // reset required for SH1106

Adafruit_SH1106 display(OLED_RESET);  // reset required for SH1106

int analogInput = A0;                 // analog input for outside audio source
int hMeter = 65;                      // horizontal center for needle animation
int vMeter = 85;                      // vertical center for needle animation (outside of dislay limits)
int rMeter = 80;                      // length of needle animation or arch of needle travel

const int sampleWindow = 50;          // sample window width in mS (50 mS = 20Hz)
unsigned int sample;

// VU meter background mask image:
static const unsigned char PROGMEM VUMeter[] = { 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x09, 0x04, 0x80, 0x21, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x01, 0x98, 0x08, 0x06, 0x03, 0x80, 0x21, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xA4, 0x10, 0x09, 0x00, 0x80, 0x21, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xA4, 0x10, 0x06, 0x03, 0x00, 0x20, 0xC0, 0x00, 0x80, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x71, 0x80, 0xA4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x0A, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3C, 0x00, 0x00,
  0x00, 0x00, 0x3A, 0x40, 0x00, 0x00, 0x02, 0x01, 0x00, 0x40, 0x80, 0x07, 0x00, 0x20, 0x00, 0x00,
  0x00, 0x00, 0x42, 0x40, 0x00, 0x08, 0x02, 0x01, 0x08, 0x40, 0x80, 0x00, 0x00, 0x38, 0x00, 0x00,
  0x00, 0x00, 0x79, 0x80, 0x04, 0x08, 0x02, 0x01, 0x08, 0x81, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x02, 0x01, 0x08, 0x81, 0x11, 0x04, 0x00, 0x38, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x02, 0x01, 0x08, 0x81, 0x21, 0x04, 0x00, 0x00, 0x08, 0x00,
  0x00, 0x00, 0x00, 0x84, 0x02, 0x04, 0x0F, 0xFF, 0xFF, 0xC3, 0xE2, 0x04, 0x00, 0x00, 0x08, 0x00,
  0x00, 0x00, 0x00, 0xC2, 0x01, 0x07, 0xF0, 0x00, 0x00, 0x3B, 0xFE, 0x08, 0x40, 0x40, 0x08, 0x00,
  0x00, 0xFE, 0x00, 0x62, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xE8, 0x40, 0x80, 0x7F, 0x00,
  0x00, 0x00, 0x00, 0x21, 0x1E, 0x00, 0x04, 0x00, 0x80, 0x00, 0x7F, 0xFE, 0x80, 0x80, 0x08, 0x00,
  0x00, 0x00, 0x03, 0x31, 0xE0, 0x00, 0x04, 0x00, 0x80, 0x04, 0x01, 0xFF, 0xC1, 0x00, 0x08, 0x00,
  0x00, 0x00, 0x07, 0x1E, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x1F, 0xFA, 0x00, 0x08, 0x00,
  0x00, 0x00, 0x07, 0xF0, 0x00, 0x40, 0x3B, 0x07, 0x60, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x34, 0x81, 0x90, 0xCC, 0xC0, 0x00, 0x3F, 0xC0, 0x00, 0x00,
  0x00, 0x00, 0x0C, 0x00, 0x03, 0x30, 0x0C, 0x82, 0x90, 0x53, 0x20, 0x00, 0x07, 0xF8, 0x00, 0x00,
  0x00, 0x00, 0x70, 0x40, 0x00, 0xC8, 0x3B, 0x02, 0x60, 0x53, 0x20, 0x00, 0x00, 0xFE, 0x00, 0x00,
  0x00, 0x01, 0x80, 0x20, 0x01, 0xC8, 0x00, 0x00, 0x00, 0x4C, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00,
  0x00, 0x06, 0x00, 0x00, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00,
  0x00, 0x08, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x00,
  0x00, 0x30, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00,
  0x00, 0x00, 0x40, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
  0x00, 0x00, 0xA0, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x02, 0x02, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x06, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x8C, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x70, 0x19, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

void setup(){

  pinMode(analogInput, INPUT);                             // analog input for outside audio source
  display.begin(SH1106_SWITCHCAPVCC, 0x3C);                // needed for SH1106 display
  display.clearDisplay();                                  // clears display from any library info displayed
}

void loop(){

/***********************************************************************
 Start of code taken from Adafruit Example Sound Level Sketch for the 
 Adafruit Microphone Amplifier
************************************************************************/
  
  unsigned long startMillis = millis();                    // start of sample window
  unsigned int PeaktoPeak = 0;                             // peak-to-peak level
  unsigned int SignalMax = 0;
  unsigned int SignalMin = 1024;

  while ( millis() - startMillis < sampleWindow ){

    sample = analogRead(analogInput);
    if (sample < 1024) {

      if (sample > SignalMax){

        SignalMax = sample;                                // saves just the max levels
      }

      else if (sample < SignalMin){

        SignalMin = sample;                                // saves just the min levels
      }
    }
  }

  PeaktoPeak = SignalMax - SignalMin;                      // max - min = peak-peak amplitude
  float MeterValue = PeaktoPeak * 330 / 1024;              // convert volts to arrow information

/****************************************************
 End of code taken from Adafruit Sound Level Sketch
*****************************************************/
  
  MeterValue = MeterValue - 34;                            // shifts needle to zero position
  display.clearDisplay();                                  // refresh display for next step
  display.drawBitmap(0, 0, VUMeter, 128, 64, WHITE);       // draws background
  int a1 = (hMeter + (sin(MeterValue / 57.296) * rMeter)); // meter needle horizontal coordinate
  int a2 = (vMeter - (cos(MeterValue / 57.296) * rMeter)); // meter needle vertical coordinate
  display.drawLine(a1, a2, hMeter, vMeter, WHITE);         // draws needle
  display.display();
}

 

Link to comment
Share on other sites

Вебинар «Новые тенденции сетевых технологий: Ethernet по одной витой паре» (09.12.2021)

Приглашаем всех желающих посетить вебинар, посвященный технологии Ethernet и её новому стандарту 10BASE-T1S/L. Стандарт 802.3cg описывает передачу данных на скорости до 10 Мбит в секунду по одной витой паре. На вебинаре будут рассмотрены и другие новшества, которые недавно вошли в семейство технологий Ethernet: SyncE, PTP, TSN. Не останется в стороне и высокоскоростной 25G+ Ethernet от Microchip.

Подробнее

  • 1 month later...

Бюджетный и надежный источник питания для маломощного устройства? – Mornsun!

Компактные источники питания Mornsun изготавливаются как в виде миниатюрных открытых печатных плат, устанавливаемых на основную плату устройства, так и в виде корпусированных модулей с повышенным уровнем защиты и надежности. Их отличительными особенностями являются небольшая потребляемая мощность, компактные размеры и круглосуточный режим работы, в то время как класс безопасности, уровень излучения электромагнитных помех и условия эксплуатации могут существенно отличаться в зависимости от конкретного назначения прибора.

Подробнее

Posted (edited)

Победил я это. 

Вернее внимательно почитал. 

Суть: надо подключать два индикатора, с одним не будет работать. А я на тесты один подключал. 

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

Далее, нашел в сети как один наш импортный коллега, изучив даташит 1306,  к этому проекту прикрутил. Суть переделки - перерезать две дорожки и два проводка кинуть. Так что можно покупать любые и прикручивать. 

На фото я просто подключил индикаторы к ардуине. 

Заказал платы, пришло пять шт. Так что три могу комунить подарить(но пересылка за счет одариваемого). 

DSC_0589.JPG

Edited by Karl-Ieronim
Link to comment
Share on other sites

Хотя с двухцветным смотрится симпатичнее. 

Вот бы шкалу сместить в программе вниз или вверх. Было б круто. 

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

Screenshot_20210304-223500.png

Link to comment
Share on other sites

19 часов назад, Геннадий сказал:

Все в Ваших руках. Редактируйте static const unsigned char PROGMEM VUMeter[] и скорректируйте отрисовку стрелки.

Хех. Пробовал, но увы... 

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Сообщения

    • В Spectra PLUS?  Понятия не имею. Там есть функции SNR и SINAD. Но, я ими никогда не пользовался и понятия не имею, как они работают. Для конкретного устройства проще взять RMAA. Она даст отношение С/Ш, в дб. Зная уровень сигнала, который Вы подавали на вход устройства при измерении, можно вычислить напряжение шума, приведенное ко входу. А спектральную плотность напряжения шума Вы видите на спектрограмме. Для приведения её ко входу надо разделить значения на Ку, на соответствующей частоте. Поскольку все компьютерные программы привязаны к абстрактным dBFS, то, для получения реальных значений, надо дать 1 кГц и посмотреть его уровень, в дБ Далее, этот уровень надо вычитать из значений спектральной плотности. Или, откалибровать программу так, чтобы конкретный уровень был равен 0 дБ, по шкале программы.
    • так коммутатор и делает на экране осциллографа нужное количество каналов. собирай, ничего сложного.   а при помощи обычного самого дешевого 2х канального можно и обойтись. к одному анализатор, а вторым каналом смотреть форму...одновременно смотреть 8 - глазьев не хватит))))
    • Вопрос сродни тому, надо ли точить деталь из металла, если можно напечатать дома на 3D принтере? Прочность, конечно, не та. Но, как то работать будет. Устал перечислять лежащие на поверхности недостатки такого подхода, с точки зрения корректного конструирования ламповых усилителей и их выходных трансформаторов. Единственная причина делать "по Комарову" - у Вас уже есть все трансформаторы со схемы. Или, их можно очень дёшево купить. И, Вам наплевать на качество. Лишь бы работало. Как там, у Коммарова? Быстро и дешево изготовить легкоповторяемый ламповый усилитель. Вспоминается реклама - Делаем быстро, качественно, дёшево. Выберите две любые опции. К стати, обещанные Комаровым 80 и 100 Ватт - бред сивой кобылы. Данные он берёт из справочника на 6L6 GC. Для которой максимально допустимые напряжения анода и второй сетки, 450 Вольт. А мощность рассеяния анода - 30 Ватт.  6П3С, в этом смысле, рядом не стоит. Однако, работать в таком режиме будет. 100 Ватт "выдавите". Но, недолго. Так что, повторяя весьма нестандартную конструкцию, не забудьте запастись ящиком ламп. Он Вам пригодится и для подбора выходного квартета. Или, двух, для стерео. Задача, поверьте, не из тривиальных. А если поставить лампы без подбора, результат может оказаться очень неожиданным. И, к стати, в фазоинверторе на 6Н8С, должны стоять в анодах не 30 и 30 кОм, а 30 и 36. Иначе, хорошие искажения, по чётным гармоникам, Вам гарантированы. Без этого, симметрия схемы существует только в воображении Комарова. К стати, есть заводские трансляционные усилители на квартете 6П3С. 50 ватт. И, всё. Забавная мысль. Хотя и попахивает лохотроном.  Получается, если взять 196 двухтактов на 6П14П и трансформаторах от "Симфонии", соединить их по 14 последовательно, потом 14 групп в параллель, получим килоВатт самого "правильного" лампового звука. За счет усреднения и компенсации.
    • Роспил! Это такая традиция, пилить бюджет! Есть такая байка от одного нехорошего человека. Так вот, когда когда в Роснано работал Чубайс якобы там же работали несколько агентов ЦРУ под прикрытием. Прикрытие заключалось в том, что они воровали также как и все. А байка смешна тем, что агентов по возвращении в США судили за коррупцию!
    • Идея хорошая. Но мне нужен осциллограф и только он,6ть каналов на 6ть цилиндров.Плюс планирую смотреть осцилом форму входных сигналов в ЭБУД. Это придумано давно и не мной. В известных мне дизельных двигателях нет датчика детонации. Как я смогу посмотреть анализатором форму сигнала?
    • ну вот и цепляй анализатор на эти сигналы обратной связи. при стабильной работе - все сигналы должны быть одинаковой длительности. не думаю что датчик детонации работает на столько избирательно, что рулит длительностью каждой отдельной форсунки, ну а при работе акселератором - длительность как понимаю должна увеличиваться у всех пропорционально... ну а если делать, то схемотехника реально простая. берем импульс с первого цилиндра, ставим регистр сдвига на 6 выходов, на выходы вешаем обычную  R-2R  матрицу, и шесть ключей. на входы ключей входные сигналы, выходы ключей на вход осциллографа, а с выхода резистивной матрицы на вертикальное отклонение, дабы смещать каналы один относительно другого...   Кружок пионеров справиться.   
    • И длительность и форма по силе тока (в амперах) ,думал запитать форсу через шунт и с шунта снимать форму сигнала тока. Сигнал напряжения с форсунке мне особо не важен,это второстепенный показатель при диагностике дизельной форсунки. Дизельная форсунка имеет обратную связь с ЭБУД по силе тока. 

  • Цифровой мультиметр UNI-T UT89XD

  • Similar Content

    • By fander36
      Здравствуйте. Возник ниже стоящий вопрос.
      Cуществующие технологии отладочных плат для AVR.
      Хотелось бы узнать больше об этом, но в интернете не нашел ничего дельного.
    • By _Nikotin_
      Доброго времени суток, господа. Никик я не могу прошить атмегу. Всегда выводится такая ошибка:
      avrdude: Yikes!  Invalid device signature.
               Double check connections and try again, or use -F to override
               this check.
      Раньше у меня получалось прошивать ее,  но на 16 МГц. Решил, что способен прошить и на 8 МГц. Скачал пару библиотек и.... ничего, выдало ошибку. Первым делом я подумал, что все плохо с проводкой. У меня, кстати, TQFP32 адаптер, но я подумал, что контакт через макетную плату и UNO слишком слаб, поэтому припаял к выводам адаптера провода и вставил их в UNO. Как итог - ничего не поменялось. Менял я и UNO на NANO, переделывал схему (вставлял резистор от RES до VCC и наоборот, вставлял конденсатор  между RES и GND у UNO), подключал резонатор на 16 МГц. А ошибка вся таже. Чё делать?
    • By Olga Kovin
      Индикатор ИН-16. Хороший демонтаж.  Проверенные. В наличии: 220шт. Цена: 250р/шт. 
      Саратовская обл., г. Энгельс.
      Отправим: почтой, транспортной компанией, в Москву на Митино  - привезем сами.
      Наличный-безналичный расчет
      Контакты: 
      Ольга
      Моб. тел.:+7904-240-51-17.
      E-mail: olgalosewa86@mail.ru


    • By kasatik
      Всем привет.
      Ранее уже выставлял по ошибке фьюзы на тактирование с внешнего резонатора (Ext. Crystal Osc.), но тогда обошелся малой кровью, т.к. удалось затактировать "с пальца" и программатор хотя бы увидел камень. Но в этот раз поставил тактирование с внешнего сигнала (Ext. Clock), и фокус не удался. Программа крутится, светодиоды моргают, а комп не видит. С пальца не вышло, также как и с кварцем на 4Мгц. Подавал просто 1кГц c генератора на XTAL1. Вывести пациента из комы не удалось  Вопрос: почему прошлый раз прокатило, и в чем принципиальное отличие от этого режима? Что он ожидает от меня на вход?


    • By Дмитрий239
      Создал секцию:
      SECTIONS { .rodata : { . = ALIGN(16); _start_cmdList = .; *(.cmdList) KEEP(*(.cmdList)) _stop_cmdList = .; } } объявил структуру и указатель на начало:
      typedef struct { const char *cmdName; const void (*const commandVoid)(uint8_t, char *[], char[]); } CommandHandler; extern const CommandHandler _start_cmdList[]; для теста занёс одну функцию:
      const void kek(uint8_t argc, char *argv[], char answ[]) { strcpy_P(answ, PSTR("wow")); } static PROGMEM const char __attribute__((__used__)) kekAlias[] = "lol"; const CommandHandler __attribute__((section(".cmdList"))) __attribute__((__used__)) CMDHandler_kek = {.cmdName = kekAlias, .commandVoid = kek}; и проверяю:
      const CommandHandler *in = &_start_cmdList[0]; const CommandHandler *out = &CMDHandler_kek; if (in == out) uart.println(F("ok")); uart.println((unsigned int)(in), HEX); uart.println((unsigned int)(out), HEX); uart.println((unsigned int)out->cmdName); uart.println((unsigned int)out->commandVoid); uart.println((unsigned int)in->cmdName); uart.println((unsigned int)in->commandVoid); Выводит:
      1560
      1560
      124
      801
      12800
      0

      МК атмега168.
      Platform IO
      Avr gcc 11
      Линкер скрипт стандартный, с добавкой сверху

      Вопрос: как получить первый элемент массива в секции?
×
×
  • Create New...