| Ваш IP: 54.80.247.119 | Online(19) - гости: 9, боты: 10 | Загрузка сервера: 3.33 ::::::::::::

Индикатор уровня сигнала (Arduino)

На рисунке показана схема линейного индикатора уровня сигнала, уст-во основано на Arduino Nano, индикатор LCD 1602. Индикатор способен отображать 30 уровней входного сигнала, входной сигнал не должен превышать 1.1 В, так как вход АЦП имеет внутреннее опорное напряжение 1.1 В. При большом уровне входного сигнала используйте делитель напряжения.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// RS,E,D4,D5,D6,D7
byte a1[8]={ 
  0b11011,0b11011,0b11011,0b11011,0b11011,0b11011,0b11011,0b11011};
byte a2[8]={ 
  0b11000,0b11000,0b11000,0b11000,0b11000,0b11000,0b11000,0b11000};
byte a3[8]={
  0b00011,0b00011,0b00011,0b00011,0b00011,0b00011,0b00011,0b00011};
byte znak_r[8]={ // R
  0b00000,0b00000,0b11111,0b00101,0b00101,0b11010,0b00000,0b00000};
byte znak_l[8]={ // L
  0b00000,0b00000,0b11111,0b10000,0b10000,0b10000,0b00000,0b00000};
int u_r,u_l,i=1,x,u_maxr,u_maxl,z,z1,u_r0[15],u_l0[15];
unsigned long time1; 
void setup(){  
  analogReference(INTERNAL);
  lcd.begin(16, 2);// LCD 16X2
  lcd.createChar(0,a1); 
  lcd.createChar(1,a2); 
  lcd.createChar(2,znak_r); 
  lcd.createChar(3,znak_l);
  lcd.createChar(4,a3); 
  pinMode(A0,INPUT);
  pinMode(A2,INPUT);
}

void loop(){  
  lcd.setCursor(0,0);// R 
  lcd.write((uint8_t)2);
  lcd.setCursor(0,1);
  lcd.write((uint8_t)3);// L

  u_r = analogRead(A0); // измерение R
  u_l = analogRead(A2); // измерение L

  for(int z=1,z1=0,z2=30;z<=15;z++,z1=z1+30,z2=z2+30){ // l+r
    if(u_l>z1){
      lcd.setCursor(z,1);
      lcd.write((uint8_t)1);
    } 
    if(u_r>z1){
      lcd.setCursor(z,0);
      lcd.write((uint8_t)1);
    } 
    if(u_l>z2){
      lcd.setCursor(z,1);
      lcd.write((uint8_t)0);
    } 
    if(u_r>z2){
      lcd.setCursor(z,0);
      lcd.write((uint8_t)0);
    } 
  }

  i++;
  if(i<=15){
    u_l0[i]=u_l;
    u_r0[i]=u_r;
  }
  else{
    i=1;
  }
  if(i==15){
    u_maxr=0;
    u_maxl=0;
    for(x=1;x<=15;x++){
      u_maxl=max(u_maxl,u_l0[x]);
      u_maxr=max(u_maxr,u_r0[x]);
    }
  }

  if(u_maxl<=u_l){
    u_maxl=u_l;
  } 
  if(u_maxr<=u_r){
    u_maxr=u_r;
  }

  for(z=1,z1=0;z<=15;z++,z1=z1+30){
    if(u_maxl > z1 && u_maxl <= z1+15){
      lcd.setCursor(z,1);
      lcd.write((uint8_t)1);
    }
    if(u_maxl > z1+15 && u_maxl <= z1+30){
      lcd.setCursor(z,1);
      lcd.write((uint8_t)4);
    }

    if(u_maxr > z1 && u_maxr <= z1+15){
      lcd.setCursor(z,0);
      lcd.write((uint8_t)1);
    }
    if(u_maxr > z1+15 && u_maxr <= z1+30){
      lcd.setCursor(z,0);
      lcd.write((uint8_t)4);
    }
  } 
  delay(75);
  lcd.clear();
}


Добавить комментарий

Случайные статьи

  • Индикаторы потребляемой мощности

    Основой индикаторов потребляемой мощности является трансформатор тока, на один из сетевых проводов надевают кольцевой магнитопровод с обмоткой который и образует трансформатор тока. В трансформаторе тока сетевой провод является первичной обмоткой, а обмотка на магнитопроводе вторичной. При подключении нагрузки через сетевой провод протекает ток и на вторичной обмотке появляется переменное напряжение. …Подробнее...
  • УМЗЧ на 50Вт на полевых MOSFET транзисторах

    УМЗЧ на 50Вт на полевых MOSFET транзисторах

    На рисунке показана схема 50 Вт усилителя с выходными полевыми MOSFET транзисторами. Первый каскад усилителя представляет собой дифференциальный усилитель на транзисторах VT1 VT2. Второй каскад усилителя состоит из транзисторов VT3 VT4. Оконечный каскад усилителя состоит из МОП-транзисторов IRF530 и IRF9530. Выход усилителя через катушку L1 соединен с нагрузкой 8 Ом. Цепь состоящий …Подробнее...
  • Импульсные регуляторы напряжения MC34063A, MC33063A, NCV33063A

    Импульсные регуляторы напряжения MC34063A, MC33063A, NCV33063A

    Импульсные регуляторы напряжения MC34063A, MC33063A, NCV33063A — специально разработанные микросхемы для DC-DC преобразователей с минимальным количеством внешних элементов. Технические параметры Диапазон входных напряжений 3…40 В Диапазон выходных напряжений 1.25…40 В Максимальный выходной ток 1.5 А Рабочая частота 33 кГц На рисунках показаны типовые схемы подключения регуляторов напряжения, повышающий, понижающий и инверсный. Основные элементы …Подробнее...
  • Акустическое реле

    Акустическое реле

    Акустическое реле может работать от любого стабилизированного источника питания 5…12В. Акустическое реле срабатывает от любого громкого звука (хлопка), содержит минимальное кол-во элементов, коммутирует нагрузку в зависимости от типа выбранного реле. R1 определяет чувствительность акустического реле. В качестве датчика выбран электретный микрофон. Оригинал статьи и схемы — http://www.electroschematics.com/704/sound-activated-switch/Подробнее...
  • К140УД2А, К140УД2Б (справочные данные)

    К140УД2А, К140УД2Б (справочные данные)

    К140УД2А, К140УД2Б относят к ОУ средней точности. Электрические параметры: Uпит. ном — 2*12,6В (А), 2*6,3 (Б) I пот — 16мА (А), 10мА(Б) Ku — 35*10³(А), 3*10³(Б) Uсм — 5мВ Iвх — 700нА ΔIвх — 150нА Кос.сф — 60дБ f1 — 1МГц Vu — 0,2В/мкс Uвых.мах — 10В(А), 3В(Б) Rвх — …Подробнее...