индикатор уровня сигнала стерео

Ответить
lsm
Рядовой
Сообщения: 34
Зарегистрирован: 16 дек 2018, 21:58
Имя: serg

индикатор уровня сигнала стерео

Сообщение lsm »

Прошу вашей помощи!
Нужно с этого

#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);// 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
0b11110,0b11011,0b11011,0b11110,0b11100,0b11110,0b11011,0b11001};
byte znak_l[8]={ // L
0b11000,0b11000,0b11000,0b11000,0b11000,0b11000,0b11011,0b11111};
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=u_l;
u_r0=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();
}



Создать болк
Аватара пользователя
Phazz
Полковник
Сообщения: 3126
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 233 раза
Поблагодарили: 114 раз

индикатор уровня сигнала стерео

Сообщение Phazz »

[ref]lsm[/ref], Пробуйте
У вас нет необходимых прав для просмотра вложений в этом сообщении.
lsm
Рядовой
Сообщения: 34
Зарегистрирован: 16 дек 2018, 21:58
Имя: serg

индикатор уровня сигнала стерео

Сообщение lsm »

Выдает ошибку
lsm
Рядовой
Сообщения: 34
Зарегистрирован: 16 дек 2018, 21:58
Имя: serg

индикатор уровня сигнала стерео

Сообщение lsm »

Исправил
u_l0=u_l;
u_r0=u_r;
У вас нет необходимых прав для просмотра вложений в этом сообщении.
lsm
Рядовой
Сообщения: 34
Зарегистрирован: 16 дек 2018, 21:58
Имя: serg

индикатор уровня сигнала стерео

Сообщение lsm »

Я извеняюсь,а можна переделат дисплей по I2C,зарание ОГРОМНОЕ спасибо
vovka1973
Подполковник
Сообщения: 1202
Зарегистрирован: 14 фев 2016, 14:16
Откуда: kazahstan
Благодарил (а): 32 раза
Поблагодарили: 6 раз

индикатор уровня сигнала стерео

Сообщение vovka1973 »

/
Последний раз редактировалось vovka1973 30 мар 2020, 18:22, всего редактировалось 2 раза.
Изображение
lsm
Рядовой
Сообщения: 34
Зарегистрирован: 16 дек 2018, 21:58
Имя: serg

индикатор уровня сигнала стерео

Сообщение lsm »

У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость