Урок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 ERCAN KOÇLAR

Çalışmalarım çocukken başladı kolonyalı kağıtları yakmak, ilaçları birbirine katmak gibi değişik deneylerim vardı. Kimya kitabında elektroliz ile suyun hidrojen ve oksijene ayrıldığı ve hidrojenin yandığını yazıyordu, o zamanlarda aklım almıyordu sudan nasıl yanan....Devamını okumak için tıklayınız ;)