Перейти к содержанию

Программа Для Моего Кодового Замка


IIuIIa

Рекомендуемые сообщения

Ребят помогите. Нарисовал схему кодового замка но программу сколько не пытался так и не получается написать.

Хочу сделать так: МК в ждушем режиме нажимаеш на любую кнопку он выходит изждушего режима на экране появляется надпись "Введите пин" в нижней строке в вод пароля идет - звездочками. Если введеный код совпадает с тем что в памяти то на экране написать "доступ открыт" и зажигается земеный светодиод и подать напряжени на электромагнит и по истечению 3 сек убирать напряжение. Если введеный код не совпадает то написать "доступ закрыт" и зажеч красный светодиод после в течение 10 сек перейти в ждущий режим. Снутри кнопка открывания.

Вот сылка на схему: http://ifolder.ru/14463596 , в схеме точки А,В - подключение магнита.

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Какой экран используеш? если 16х2, то особой проблемы недолжно вызвать,

какие наработки, в смысле кода, уже есть?

Изменено пользователем Knazev33

Электроника это целый океан творчества...

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Мне лучше на СИ, я немного знаю как сделать, но все вместе не могу сделать! Помогите плиз

Изменено пользователем IIuIIa
Ссылка на комментарий
Поделиться на другие сайты

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Вот код клавиш ща ЛСД выложу помогите чтобы все вместе работало:

#include <mega16.h>
#asm
   .equ __lcd_port=0x15
#endasm

#include <lcd.h>
#include <stdio.h>
#include <delay.h>


// quartz crystal frequency [Hz]
#define F_XTAL 3686400L
// PINB0..3 will be row inputs
#define KEYIN PINB
// PORTB4..7 will be column outputs
#define KEYOUT PORTB
// used for TIMER0 count initialization
#define INIT_TIMER0 TCNT0=0x100L-F_XTAL/64L/500L
#define FIRST_COLUMN 0x80
#define LAST_COLUMN 0x10

typedef unsigned char byte;
// store here every key state as a bit,
// bit 0 will be KEY0, bit 1 KEY1,...
unsigned keys;
// LCD display buffer
char buf[33];

// TIMER 0 interrupt at every 2 ms
interrupt [TIM0_OVF] void timer0_int(void)
{
static byte key_pressed_counter=20;
static byte key_released_counter,column=FIRST_COLUMN;
static unsigned row_data,crt_key;
// reinitialize TIMER0
INIT_TIMER0;
row_data<<=4;
// get a group of 4 keys in in row_data row_data|=~KEYIN&0xf;
column>>=1;
if (column==(LAST_COLUMN>>1))
  {
  column=FIRST_COLUMN;
  if (row_data==0) goto new_key;
  if (key_released_counter) --key_released_counter;
  else
     {
     if (--key_pressed_counter==9) crt_key=row_data;
     else
        {
        if (row_data!=crt_key)
           {
           new_key:
           key_pressed_counter=10;
           key_released_counter=0;
           goto end_key;
           };
        if (!key_pressed_counter)
           {
           keys=row_data;
           key_released_counter=20;
           };
        };
     };
  end_key:;
  row_data=0;
  };
// select next column, inputs will be with pull-up
KEYOUT=~column;
}

// test if a key was pressed
unsigned inkey(void)
{
unsigned k;
if (k=keys) keys=0;
return k;
}

void init_keypad(void)
{
DDRB=0xf0;
INIT_TIMER0;
TCCR0=3;
TIMSK=2;
#asm("sei")
}

main() {
unsigned k;
init_keypad();
lcd_init(16);
lcd_putsf("CVAVR Keypad");
// read keys and display key code
while (1)
     {
     lcd_gotoxy(0,1);
     if (k=inkey())
        {
        sprintf(buf,"Key code=%Xh",k);
        lcd_puts(buf);
        }
     else lcd_putsf("NO KEY        ");
     delay_ms(500);
     }
}

Изменено пользователем wowa
Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Рекомендую в главном цикле замутить структуру из кейсов,

а то что написано у тебя ненужно,

Типо того:

switch (Mode) {

case :1

lcd_gotoxy(0,0); lcd_putsf("Please Enter Code"); //просьба ввода кода

lcd_gotoxy(place,1); lcd_putsf("*");

//if((place<10) &(press any key)){place++; delay_ms(10);} //сдвигать звёздочки при любом нажатии

break;

case :2

lcd_gotoxy(0,0); lcd_putsf("Code is OK"); //режим вывода правельного кода

break;

case :3

lcd_gotoxy(0,0); lcd_putsf("Invalid Code"); //код неверен

break;

};

Структура клавиатуры както фигова заделана.

Изменено пользователем Knazev33

Электроника это целый океан творчества...

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

Вот как примерно у меня получилось только ошибку выдет:

#include <mega16.h>
#include <stdio.h>
#include <delay.h>
#include <stdlib.h>
// Буквенно-цифровой ЖК-модуль функции
#asm  

  .equ __lcd_port=0x15;PORTC
#endasm
#include <lcd.h>
#case <>
// Кварцевый резонатор
#define F_XTAL 4000000UL
// PINB0..3 входы
#define KEYIN PINB
// PORTB4..6 выходы
#define KEYOUT PORTB 
// Таймер 0
#define INIT_TIMER0 TCNT0=0x100L-F_XTAL/64L/500L
#define FIRST_COLUMN 0x80
#define LAST_COLUMN 0x10

typedef unsigned char byte;
unsigned keys;
// LCD display buffer
char buf[33];

interrupt [TIM0_OVF] void timer0_int(void)
{

static byte key_pressed_counter=20;
static byte key_released_counter,column=FIRST_COLUMN;
static unsigned row_data,crt_key;
// reinitialize TIMER0
INIT_TIMER0;
row_data<<=4;
// get a group of 4 keys in in row_data
row_data|=~KEYIN&0xf;
column>>=1;
if (column==(LAST_COLUMN>>1))
  {
  column=FIRST_COLUMN;
  if (row_data==0) goto new_key;
  if (key_released_counter) --key_released_counter;
  else
  {
  if (--key_pressed_counter==9) crt_key=row_data;
  else
	 {
	 if (row_data!=crt_key)
		{
		new_key:
		key_pressed_counter=10;
		key_released_counter=0;
		goto end_key;
		};
	 if (!key_pressed_counter)
		{
		keys=row_data;
		key_released_counter=20;
		};
	 };
  };
  end_key:;
  row_data=0;
  };
// select next column, inputs will be with pull-up
KEYOUT=~column;
}

// test if a key was pressed
unsigned inkey(void)
{
unsigned k;
if (k==keys) keys=3100;
return k;
}

void init_keypad(void)
{
DDRB=0xf0;
INIT_TIMER0;
TCCR0=3;
TIMSK=2;
#asm("sei")
}

main() {
unsigned k;
init_keypad();
lcd_init(16);
lcd_putsf("CVAVR Keypad");




while (1)
	{ 
   switch (mode){
case :1 
lcd_gotoxy(0,0); lcd_putsf("Please Enter Code"); //просьба ввода кода
lcd_gotoxy(place,1); lcd_putsf("*"); 
if((place<10) &(press any key)){place++; delay_ms(10);} //сдвигать звёздочки при любом нажатии
break; 
case :2 
lcd_gotoxy(0,0); lcd_putsf("Code is OK"); //режим вывода правельного кода
break;
case :3 
lcd_gotoxy(0,0); lcd_putsf("Invalid Code"); //код неверен
break;
};  {


   while if(PINB.7==0)
		   {
		   lcd_gotoxy(0,1);
		   lcd_putsf("OPEN");}
	  if else lcd_gotoxy(0,1)
			lcd_putsf("CLOSET");

};
}
   ";

Изменено пользователем IIuIIa
Ссылка на комментарий
Поделиться на другие сайты

Что за ошибку?, а левая процедура опроса кнопок работает?

На счёт кода, у тебя необьявлена переменная Mode,

строка if((place<10) &(press any key)){place++; delay_ms(10);} является примером!,

флаговая переменая press_any_key выступает в роли определителя нажатия любой кнопки,

если она равна1 и place<10, то добавилять * на экран, флаг press_any_key должен выставлятся и сбрасоватся

в функции опроса кнопок, и тоже должна быть объявлена,

такие фишки как цикл while if(PINB.7==0) ненужно делать в данной проге.

Электроника это целый океан творчества...

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

написал еще код кнопок но выдает ошибки:

1.invalid expression.

1.undefined symbol 'port'

#include <mega16.h>
#include <delay.h>
#asm
  .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>


void decodecod (int code)
{
unsigned char symbol;
switch (code)
{
case 11: symbol = ‘1?; break;
case 21: symbol = ‘2?; break;
case 31: symbol = ‘3?; break;
case 12: symbol = ‘4?; break;
case 22: symbol = ‘5?; break;
case 32: symbol = ‘6?; break;
case 13: symbol = ‘7?; break;
case 23: symbol = ‘8?; break;
case 33: symbol = ‘9?; break;
case 14: symbol = ‘0?; break;
case 24: symbol = ‘*’; break;
case 34: symbol = ‘#’; break;
default : break;
}
UDR = symbol;
}

/*Фунуция чиатающих портов*/
void keyread()
{
int byte=0;
delay_us(400);
//Читаем линию [1]
if (PIND.2 == 0)
{
byte = port + 1;
port = 0;
}

//Читаем линию [2]
if (PIND.3 == 0)
{
byte = port + 2;
port = 0;
}

//Читаем линию [3]
if (PIND.4 == 0)
{
byte = port + 3;
port = 0;
} 

//Читаем линию [4]
if (PIND.5 == 0)
{
byte = port + 4;
port = 0;
}
if (byte > 0)
{
decodecod(byte);
}
}

/*Функция сканирующих портов*/
void keyscan()
{
//Сканируем столбик [1]
PORTD.4=0;
PORTD.5=1;
PORTD.6=1;
port = 30;
keyread();
delay_ms(1000);

//Сканируем столбик [2]
PORTD.4=1;
PORTD.5=0;
PORTD.6=1;
port = 20;
keyread();
delay_ms(1000);
//Сканируем столбик [3]
PORTD.4=1;
PORTD.5=1;
PORTD.6=0;
port = 10;
keyread();
delay_ms(1000);
}

void main(void)
{
PORTA=0x03;
DDRA=0x03;
PORTB=0x00;
DDRB=0x03;

PORTC=0x00;
DDRC=0x00;

PORTD=0x8F;
DDRD=0x70;

TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

MCUCR=0x00;
MCUCSR=0x00;

TIMSK=0x00;

ACSR=0x80;
SFIOR=0x00;

lcd_init(16);

while (1)
     {
           };
}

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

А как переменную MODE обьявить а то я незнаю как ее обьявить?

<_< Если незнаеш как обьявлять переменные то, весь последующий разговор превращается в метод тыка ;) , советую почетать какую нибудь книжку про программирование мк,

объявляется в начале проги unsigned char MODE; .

Электроника это целый океан творчества...

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

нужно читать не просто про какой попало Си, а си ореентированный на совместную работу с МК,

Если пишеш прогу в CodeVisionAVR, то прочти книгу А.В Белова,(Создаём ус-ва на МК),

или хороший самоучитель на сайте Николаева .

А то что у вас написанно в проге неимеет смысла.

Электроника это целый океан творчества...

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

вот код написал клава опрашивается но на лсд ни чего не выводится подскажите что может быть:

#include <mega16.h>


#asm
  .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

#include <stdio.h>
#include <delay.h>

#define F_XTAL 3686400L
// PIND0..3 will be row inputs
#define KEYIN PIND
// PORTD4..7 will be column outputs
#define KEYOUT PORTD
// used for TIMER0 count initialization
#define INIT_TIMER0 TCNT0=0x100L-F_XTAL/64L/500L
#define FIRST_COLUMN 0x80
#define LAST_COLUMN 0x10
typedef unsigned char byte;
// store here every key state as a bit,
// bit 0 will be KEY0, bit 1 KEY1,...
unsigned keys;
// TIMER 0 interrupt at every 2 ms


interrupt [TIM0_OVF] void timer0_int(void)
{
static byte key_pressed_counter=20;
static byte key_released_counter,column=FIRST_COLUMN;
static unsigned row_data,crt_key;

INIT_TIMER0;
row_data<<=4;

row_data|=~KEYIN&0xf;
column>>=1;
if (column==(LAST_COLUMN>>1))
  {
  column=FIRST_COLUMN;
  if (row_data==0) goto new_key;
  if (key_released_counter) --key_released_counter;
  else
     {
     if (--key_pressed_counter==9) crt_key=row_data;
     else
        {
        if (row_data!=crt_key)
           {
           new_key:
           key_pressed_counter=10;
           key_released_counter=0;
           goto end_key;
           };
        if (!key_pressed_counter)
           {
           keys=row_data;
           key_released_counter=20;
           };
        };
     };
  end_key:;
  row_data=0;
  };
// select next column, inputs will be with pull-up
KEYOUT=~column;
}
unsigned inkey(void)
{
unsigned k;
if(k=3100)keys=0;
return k;
}
void main(){
{
PORTA=0x03;
DDRA=0xFF;

PORTB=0x00;
DDRB=0xFF;

PORTC=0x00;
DDRC=0x00;

PORTD=0x0F;
DDRD=0xF0;

TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

MCUCR=0x00;
MCUCSR=0x00;

TIMSK=0x00;

ACSR=0x80;
SFIOR=0x00;

lcd_init(16);
}
{
unsigned char Mode;
      unsigned char place;


while (1)
     {
     {switch (Mode) {
case 1 :
lcd_gotoxy(0,0);
lcd_putsf("Please Enter Code"); //просьба ввода кода
lcd_gotoxy(place,1); lcd_putsf("*");
break;
case 2 :
lcd_gotoxy(0,0);
lcd_putsf("Code is OK"); //режим вывода правельного кода
break;
case 3 :
lcd_gotoxy(0,0); lcd_putsf("Invalid Code"); //код неверен
break;
default :
};       
}
};
}  
}

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

Что уже так быстро прочитал книжку? :rolleyes:

В коде всё не так :huh: ,

Вот примерный код твоего кодового замка:

#include <mega16.h>
#include <delay.h>
// x    выход бегущего нуля
#define x1 PORTA.0
#define x2 PORTA.1
#define x3 PORTA.2
// y    вход для  бегущего нуля
#define y1 PINA.3
#define y2 PINA.4
#define y3 PINA.5 
#asm
  .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

unsigned char Mode=1;       
unsigned char place;
bit press;
unsigned char m1[4] ={0, 1, 1, 1};     //массив матрицы
unsigned char m2[4] ={1, 0, 1, 1};
unsigned char m3[4] ={1, 1, 0, 1};
unsigned char Key_count=0;          //счётчик матрицы
unsigned char Baza[5];
unsigned char i;


interrupt [TIM2_COMP] void timer2_key_counter(void)
{ 
x1=m1[Key_count]; 
x2=m2[Key_count]; 
x3=m3[Key_count]; 
if(Key_count>4){Key_count=0;}
// опрос ккнопок 1-3 
if((!x1)&(!y1)){press=1;   i++; Baza[i]=1;     delay_ms(200);  }     //1
if((!x2)&(!y1)){press=1;   i++; Baza[i]=2;     delay_ms(200);  }
if((!x3)&(!y1)){press=1;   i++; Baza[i]=3;     delay_ms(200);  }  
//   4-6
if((!x1)&(!y2)){press=1;   i++; Baza[i]=4;   delay_ms(200); } 
if((!x2)&(!y2)){press=1;   i++; Baza[i]=5;   delay_ms(200);  }
if((!x3)&(!y2)){press=1;   i++; Baza[i]=6;  delay_ms(200);  }  
//   6-9
if((!x1)&(!y3)){press=1;   i++; Baza[i]=7;  delay_ms(200);  } 
if((!x2)&(!y3)){press=1;   i++; Baza[i]=8;   delay_ms(200);  }
if((!x3)&(!y3)){press=1;   i++; Baza[i]=9;  delay_ms(200);  } 

if(i>5)
{
i=0; lcd_clear();  Mode=5;     //переход
}
}   

void main(void)
{

PORTA=0x3F;
DDRA=0x07;

PORTB=0x00;
DDRB=0xFF;

//   вкл счётчик №2
TCCR2=0x0F;                              //  предделитель для таймера2 
TCNT2=0x20;                              //  начальное значение
OCR2=0xFF;                               //   вершина таймера
//

TIMSK=0x80; 


ACSR=0x80;
SFIOR=0x00;

#asm("sei") 
lcd_init(16);

while (1)
     {
switch (Mode)   //переключения между режимами
{
case 1 :lcd_gotoxy(0,0);lcd_putsf("Please Enter Cod"); //просьба ввода кода
if((place<5) &(press)){place++; lcd_gotoxy(place,1); lcd_putsf("*"); press=0; delay_ms(10); }
if(place>4){place=0; lcd_clear();}
break;
case 2 :
lcd_gotoxy(0,0);lcd_putsf("Code is OK"); //режим вывода правельного кода
break;
case 3 :
lcd_gotoxy(0,0); lcd_putsf("Invalid Code"); //код неверенbreak;
delay_ms(3000);   lcd_clear(); place=0;  Mode=1;
break;
case 4 :
if((Baza[1]==3)&(Baza[2]==5)&(Baza[3]==2)&(Baza[4]==1)){lcd_clear(); Mode=2;}
else
{lcd_clear(); Mode=3;}
// COD=*3521*
break;
           }
     };
}

Электроника это целый океан творчества...

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

А почему в порт C ни чего не подается лсд молчит

А как ты проверяеш?, случаем не в Протеусе случайно...

Электроника это целый океан творчества...

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

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

Электроника это целый океан творчества...

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

  • 1 месяц спустя...

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Приветствую. Ревер запустил, побаловался - ну, такое себе. Не именно качество пружинного ревера, а сама по себе идея эха не понравилась. Зачем? Хорошая гитара с хорошими активными звучками и так звучит отлично. Причем, довольно объемно и без эха. Наваял вот такой девайс для управления ревером по схеме отсюда: https://sound-au.com/project34.htm Схема такая: Данная схема приглянулась тем, что можно отдельно регулировать уровень "чистого" сигнала и добавлять к нему сигнал ревера. Все заработало с первого раза. Если кому-то интересно - выложу мой вариант схемы и печатку сюда. На моей схеме и плате (при помощи джамперов) предусмотрел возможность использования схемы с разными реверами согласно таблице: Данная схема не понравилась тем, что ревер в ней всегда работает "на всю мощь" - регулируется только его громкость. Мне кажется, если схему добавить возможность ограничения усиления перед ревером, то это даст возможность регулировать итенсивность эха. Или нет? Стоит по этому поводу заморочиться и дать схеме еще один шанс? Интерес к данному проекту я потерял, планирую попробовать цифровой ревер. Если кому-то интересно продолжить проект или просто поэкспериментировать - могу поделиться новым ревером и спаянной платой. Советы и замечания по прежнему принимаются - может я не туда копаю? Кстати, сам ревер установлен внутри комбика и совершенно не зависит от его громкости и вибрации корпуса. Как говорили выше. Опробовано на практике. Звук, да - как из консервной банки. Но я еще пока не занимался настройкой схемы и самим ревером.
    • Тут ещё какая штука- сечение от диаметра имеет квадратичную зависимость. Увеличение диаметра в 2 раза даёт увеличение сечения в 4. Поэтому ошибка получается очень большая.  ПЕРЕСЧЁТ ДИАМЕТРА ПРОВОДА НА ПОПЕРЕЧНОЕ СЕЧЕНИЕ.xls
    • Хорошо, если вам хочется называть проценты попугайчиками, то пожалуйста. Но, хотелось бы спросить. Вы всё-таки понимаете разницу между измерением напряжения 1 В с точностью +-0,1% и измерением отношения напряжений Х В и 0,5Х В с такой же точностью? 
    • Про R20 Я тоже думал поставить постоянный на 800 ом и 200 ом переменником крутить
    • Скажите в данный вольт-амперметр реально прикрутить дисплей на чипе ST7735/ST7789. так как экран на чипе SSD1309 стоит как колесо от боинга.
×
×
  • Создать...