Урок2-Сенсорная-панель-библиотеки-Микро-С-Резистивный-тип-4Тел

Урок 2: Сенсорная панель библиотеки- Микро С- Резистивный тип 4 Тел

This post is also available in: Türkçe English Azerbaycan Türkcesi

  • В Микро С я написал резистивную сенсорную панель по контролю за библиотекой с 4 выходами.
  • Для использования панели я использовал микроэлектронные цепи. Схему цепи вы можете посмотреть ниже
  • Для того, чтобы ознакомиться с функциями библиотеки просмотрите видео и не забудьте ознакомиться с инструкцией. ;)
  • Сенсорная панель работает от +5В
  • Во время просмотра видео , вы увидите функции « написать» и « пиксели», которые относятся к написанной мною библиотеке. Поэтому, если вы используете стандартные библиотеки микрок, вы должны сами прописать данные функции или же скачать их из моей библиотеки ( MikroC GLCD Библиотека экрана– (SAP1024B – T6963C)).
  • Важно! – В случае , если вы используете аналого- цифровой цикл , рекомендованное напряжение будет являться для вас напряжением питания, из-за чего на линии могут возникать помехи, вам необходимо учесть данные помехи и очистить вашу цепь от помех или же использовать следующую схему (+5v -5v 3.3v SWITCH MOD REGULATOR)
  • Ваши вопросы и замечания ,вы можете изложить в качестве комментария

Материалы необходимые для создания цепи.

  1. 1  штука- 4 Pin FPC соединение ( для выхода сенсорной панели).
  2. 2  штуки- 100 нф полиэстровых конденсатора
  3. 2  штуки- 47 К сопротивление
  4. 8 штук-1 К сопротивление
  5. 2 штуки-10 К сопротивление
  6. 3 штуки –ВС546 транзисторы
  7. 2 штуки- ВС556 Транзисторы

Комментарий! Выхода сенсорных панелей должны быть включены в цепь с использованием подходящих разъёмов, ни в коем случае не старайтесь использовать припой! Потому что во время припоя вы можете расплавить мягкие желатиновые наконечники, а соответственно ваша сенсорная панель станет не рабочей. Данный разъем вы можете приобрести в мастерских по ремонту мобильных телефонов.


Принципиальная электрическая схема

rezistif 4 tel dokunmatik panel devresi
rezistif 4 tel dokunmatik panel devresi

коды

//DOKUNMATİK PANEL PİNLERİ//////////
sbit surucu_a at RA5_bit; //surucu_a pini
sbit surucu_b at RB4_bit; //surucu_b pini
sbit analog_x at RA0_bit; //analog port ucu pini
sbit analog_y at RA1_bit; //analog port ucu pini

sbit surucu_a_Direction at TRISA5_bit; //surucu_a pini
sbit surucu_b_Direction at TRISB4_bit; //surucu_b pini
sbit analog_x_Direction at TRISA0_bit; //analog port ucu pini
sbit analog_y_Direction at TRISA1_bit; //analog port ucu pini

 

en ideal kalibrasyon ölçüleri
en ideal kalibrasyon ölçüleri
//pixel fonksiyonu içerisinde yazan ölçüler en ideal kalibrasyon ölçüleridir(x,y)
//kalibrasyon ölçüleri ile ilgili yukarıdaki resmi inceleyebilirsiniz
void kalbire_et()
{
do
{
SAP1024_YAZI_YAZMA(1,8,"1.Noktaya Dokunun");
SAP1024_PIXEL((GENISLIK_D*20)/100,(YUKSEKLIK_D*80)/100,1);
}while(D_PANEL_KALIBRASYON_NOKTA_1()!=1);
sap1024_lcd_temizle();

do
{
SAP1024_YAZI_YAZMA(1,8,»2.Noktaya Dokunun»);
SAP1024_PIXEL((GENISLIK_D*20)/100,(YUKSEKLIK_D*20)/100,1);
}while(D_PANEL_KALIBRASYON_NOKTA_2()!=1);
sap1024_lcd_temizle();

do
{
SAP1024_YAZI_YAZMA(1,8,»3.Noktaya Dokunun»);
SAP1024_PIXEL((GENISLIK_D*80)/100,(YUKSEKLIK_D*20)/100,1);
}while(D_PANEL_KALIBRASYON_NOKTA_3()!=1);
sap1024_lcd_temizle();

do
{
SAP1024_YAZI_YAZMA(1,8,»4.Noktaya Dokunun»);
SAP1024_PIXEL((GENISLIK_D*80)/100,(YUKSEKLIK_D*80)/100,1);
}while(D_PANEL_KALIBRASYON_NOKTA_4()!=1);
sap1024_lcd_temizle();
}

while(1)
{
x1=D_PANEL_KONUM_X();//dokunulan noktanın x konumunu verir
y1=D_PANEL_KONUM_Y();//dokunulan noktanın y konumunu verir

if(D_PANEL_DOKUNULDU_MU(50)==0)//panele dokunuldumu?
{
SAP1024_PIXEL(x1,y1,0);
}

SAP1024_PIXEL(x1,y1,1);
delay_ms(5);
}

 

while(1)
{
if(D_PANEL_KORDINAT_KONTROL(100,100,10,10)==1)
{
SAP1024_YAZI_YAZMA(5,14,"resme bastin");
delay_ms(500);
SAP1024_LCD_TEXT_TEMIZLE();
}

inttoSTR(D_PANEL_KONUM_X(),yazi);
SAP1024_YAZI_YAZMA(5,8,yazi);

inttoSTR(D_PANEL_KONUM_Y(),yazi);
SAP1024_YAZI_YAZMA(5,10,yazi);
}

 

char SAPTRIS at trisd;//data portları
char SAPDATA_giris at portd;
char SAPDATA_cikis at latd;
sbit SAP1024_RD at RC1_bit ; //GLCD RD UCU BAĞLANTI PİNİ
sbit SAP1024_CE at rc2_bit ; //GLCD CE UCU BAĞLANTI PİNİ
sbit SAP1024_CD at Rc3_bit ; //GLCD C/D UCU BAĞLANTI PİNİ
sbit SAP1024_RST at Rc4_bit ; //GLCD RST UCU BAĞLANTI PİNİ
sbit SAP1024_FS at Rc5_bit ; //GLCD FS UCU BAĞLANTI PİNİ
sbit SAP1024_WR at RC0_bit ; //GLCD wr UCU BAĞLANTI PİNİ
sbit SAP1024_RD_Direction at TRISC1_bit; //GLCD RD UCU BAĞLANTI PİNİ
sbit SAP1024_CE_Direction at TRISC2_bit; //GLCD CE UCU BAĞLANTI PİNİ
sbit SAP1024_CD_Direction at TRISC3_bit; //GLCD C/D UCU BAĞLANTI PİNİ
sbit SAP1024_RST_Direction at TRISC4_bit; //GLCD RST UCU BAĞLANTI PİNİ
sbit SAP1024_FS_Direction at TRISC5_bit; //GLCD FS UCU BAĞLANTI PİNİ
sbit SAP1024_WR_Direction at TRISC0_bit; //GLCD FS UCU BAĞLANTI PİNİ

//DOKUNMATİK PANEL PİNLERİ//////////
sbit surucu_a at RA5_bit; //dokunmatik panel surucu_a pini
sbit surucu_b at RB4_bit; //dokunmatik panel surucu_b pini
sbit analog_x at RA0_bit; //dokunmatik panel analog port ucu pini
sbit analog_y at RA1_bit; //dokunmatik panel analog port ucu pini

sbit surucu_a_Direction at TRISA5_bit; // surucu_a pini
sbit surucu_b_Direction at TRISB4_bit; // surucu_b pini
sbit analog_x_Direction at TRISA0_bit; //analog port ucu pini
sbit analog_y_Direction at TRISA1_bit; //analog port ucu pini

void kalbire_et()
{
do
{
SAP1024_YAZI_YAZMA(1,8,»1.Noktaya Dokunun»);
SAP1024_PIXEL((GENISLIK_D*20)/100,(YUKSEKLIK_D*80)/100,1);
}while(D_PANEL_KALIBRASYON_NOKTA_1()!=1);
sap1024_lcd_temizle();

do
{
SAP1024_YAZI_YAZMA(1,8,»2.Noktaya Dokunun»);
SAP1024_PIXEL((GENISLIK_D*20)/100,(YUKSEKLIK_D*20)/100,1);
}while(D_PANEL_KALIBRASYON_NOKTA_2()!=1);
sap1024_lcd_temizle();

do
{
SAP1024_YAZI_YAZMA(1,8,»3.Noktaya Dokunun»);
SAP1024_PIXEL((GENISLIK_D*80)/100,(YUKSEKLIK_D*20)/100,1);
}while(D_PANEL_KALIBRASYON_NOKTA_3()!=1);
sap1024_lcd_temizle();

do
{
SAP1024_YAZI_YAZMA(1,8,»4.Noktaya Dokunun»);
SAP1024_PIXEL((GENISLIK_D*80)/100,(YUKSEKLIK_D*80)/100,1);
}while(D_PANEL_KALIBRASYON_NOKTA_4()!=1);
sap1024_lcd_temizle();
}
void main()
{
char yazi[8];
int x1,y1;

//GENEL PORT AYARLARI
ADCON0=0x09;
ADCON1&=0xF0;
cmcon|=7;
//——————

SAP1024_INIT(240,128,8);
ADC_Init();
D_PANEL_INIT(240,128,0,1);
kalbire_et();
SAP1024_DORTGEN(100,100,110,110,1,1);
while(1)
{
x1=D_PANEL_KONUM_X();
y1=D_PANEL_KONUM_Y();

if(D_PANEL_DOKUNULDU_MU(50)==0)
{
SAP1024_PIXEL(x1,y1,0);
}
SAP1024_PIXEL(x1,y1,1);
delay_ms(5);

if(D_PANEL_KORDINAT_KONTROL(100,100,10,10)==1)
{
SAP1024_YAZI_YAZMA(5,14,»resme bastin»);
delay_ms(500);
SAP1024_LCD_TEXT_TEMIZLE();
}

inttoSTR(D_PANEL_KONUM_X(),yazi);
SAP1024_YAZI_YAZMA(5,8,yazi);

inttoSTR(D_PANEL_KONUM_Y(),yazi);
SAP1024_YAZI_YAZMA(5,10,yazi);
}
}


Важные замечания:

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

Необходимые документы:


Мои документы




About Ерджан Кочлар

Мои первые опыты начались еще в детстве, с поджигания бумаги с одеколоном и смешивания различных лекарств. Перешел в лицей,1-й год обучения. В учебнике по химии было написано, что вода с помощью гидролиза разделяется на водород и кислород, и водород возгорается. В то время я не понимал, каким образом из воды может образоваться нечто, способное к возгоранию. .Нажмите здесь, чтобы читать далее ... ;)