Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - top

Pages: [1] 2
1
     สวัสดีครับพี่ๆ ทุกท่าน

    คือผมต้องการตั้งเวลา 5 ช่วงเวลา  ( เหมือนนาฬิกาปลุกครับ )

แต่ผมต้องการให้มันแสดงค่าเวลา ที่จะปลุกในรอบทัดไปครับ

   เช่น   เวลาปัจจุบัน               2:50 
           เวลาปลุกในรอบทัดไป   6:00

แต่ปัญหาคือ เวลาที่ตั้งปลุกไม่ได้เรียงกันครับ

   เช่น    เวลาที่ 1      6:00
            เวลาที่ 2      5:40
            เวลาที่ 3      5:30
            เวลาที่ 4      21:00
            เวลาที่ 5      7:30

ผมจะลำดับค่าเวลา  ต้องทำอย่างไรดีครับ
นอกเหนือจากที่ นำค่าเวลามาบวกกัน
ใครพอมีวิธีที่ดึกว่านี้  ขอคำแนะนำด้วยครับ
ผมใช้ LCD ในการแสดงผลและ CCS Compiler 
   
     ขอบคุณมากครับ




2
 สวัสดีครับพี่ๆ ทุกท่าน

คือผมต้องการที่จะเพิ่ม Ram ให้กับ 18f4550 โดยใช้ EEprom 24C512

จะต้องทำไงดี ขอคำแนะนำด้วยครับ

ผมใช้ CCS ครับ

    ขอบคุณครับ



           

3

      ขายบอร์ด HY-Smart STM32 สภาพใหม่ครับ 

มีอุปกรณ์ ดังนี้

   - ตัวบอร์ด HY-Smart STM32
   - Adaptor
   - RS232 Cable
   - แผ่น CD Program

http://www.micro4you.net/product-HYSmartSTM32-147994-1.html

ผมใช้งานไม่กีครั้งเองครับ

เสนอราคาที่  1000 บาท ฟรีค่าส่งครับ

  สนใจติดต่อ 082-498-2516 > pat ครับ   

  pat56yit@hotmail.com


4

 สวัสดีครับพี่ๆทุกท่าน

คือผม ต้องการที่จะแสดงรูปภาพบนหน้าจอ GLCD128x64 ทำอย่างไรดีครับ

ควบคุมผ่าน IC 74HC595 ครับ

แต่ถ้าควบคุม I/O Port ธรรมดา สามารถแสดงรูปภาพได้ครับ

ขอคำแนะนำด้วยครับ

     ขอบคุณมากครับ

http://320volt.com/en/ccs-c-74hc595-cd4094-128x64-4x20-lcd-kullanimi/

ด้านล่าง คือ Code ที่สามารถแสดงรูปภาพได้ครับ

Code: [Select]
void printf_bmp(char select)
{
   unsigned int16 i,j;
   for(i=0;i<8;i++)//8
   {
         output_low(GLCD_DI);                        // Set for instruction
         glcd_writeByte(GLCD_LEFT, 0x40);    // Set horizontal address to 0
         glcd_writeByte(GLCD_RIGHT,0x40);
         glcd_writeByte(GLCD_LEFT, i | 0xb8);// Set page address
         glcd_writeByte(GLCD_RIGHT, i | 0xb8);
         output_high(GLCD_DI);   
         
         // Loop through the horizontal sections
         for(j=0;j<64;j++)
         {
            if(select==1)
            {
               glcd_writeByte(GLCD_LEFT,img[j+(i*128)]);      // Turn pixels on or off
            } 
         }
         for(j=64;j<128;j++)
         {
            if(select==1)
            {
               glcd_writeByte(GLCD_RIGHT,img[j+(i*128)]);      // Turn pixels on or off
            }
         }       
   }
}





5
   
   สวัสดีปีใหม่ไทยครับ
 
  วันสงกรานต์ปีนี้ หลายๆคนก็ได้กลับบ้านไปหาครอบครัวกัน

  เล่นน้ำกันสนุกสนาน แต่ผมตรงข้ามครับไม่ได้กลับบ้าน ไม่ชอบเล่นน้ำ

 นอนเล่นอยู่ที่ห้อง นั่งทดลองไป ว่างๆก็พาครอบครัวไปเทียวห้าง

 วันสงกรานต์ในปีนี้ คุณได้สังเกตุเห็นอะไรบ้างครับ

 ผมสังเกตุเห็น รอยยิ้มและเสียงหัวเราะ คนไทยมีความมากขึ้น

 วันสงกรานต์เป็นวันรวมผลของเด็กเวร  ซิ่งรถยกล้อกันสนุก

 เมื่อวานเห็น ซิ่งรถจนเกิดอุบัติเหตุ ก็เจ็บกันไป

 วันหยุดยาวแบบนี้ ถนนหลายเส้นทาง รถไม่ค่อยมีดีจังเลยครับ

สุดท้ายนี้ขอให้ทุกคน มีความสุข ในวันสงกรานต์ปีนี้ ครับ

   เดินทาง โดยสวัสดิภาพ นะครับ

 

 

6
Microchip PIC / Encoder 1000/r + PIC
« on: January 30, 2014, 04:44:04 pm »
   
          สวัสดีครับพี่ๆทุกท่าน
   
   ผมต้องการนับ Pulse จาก Encoder ที่มีความลเอียด 1000 P/r

ปัญหาคือ ในขณะที่หมุนรอบ Encoder เร็วๆ ( ใช้มือหมุน ) PIC ตรวจจับสัญญาณไม่ทัน จะแก้ไขปัญหายังดีครับ

ถ้ามีวิธีการตรวจจับสัญญาแบบที่ดีกว่านี้ ขอตัวอย่างด้วยนะครับ

ขอคำแนะนำด้วยครับ 

   coder

Code: [Select]
#include <16F877a.h>
#fuses  HS,NOLVP,NOWDT,NOPROTECT
//#fuses  HSPLL,PLL5,NOLVP,WDT,NOPROTECT
#use delay(clock=20000000)
//#fuses INTRC_IO,PUT,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT     
#include <lcd420.c>

#define CHA1 PIN_C1
#define CHB1 PIN_C0

#define CHA2 PIN_B0
#define CHB2 PIN_B1

unsigned short canalA1,canalB1;
unsigned short canalA2,canalB2;
unsigned short B_libda1=0,B_libda2=0;
unsigned short A_libda1=0,A_libda2=0;
signed int16 qbe_puleoA1=0,qbe_puleoA2=0;
signed int16 angle1=0,angle2=0;

#zero_ram
void main(void)
{
  lcd_init();
  delay_ms(200);
 
  //angle1=0;
  //angle2=0;
  output_high(PIN_D0);
  output_low (PIN_D2);
 
  lcd_gotoxy(1,2);
  printf(lcd_putc,"  Test  Rotary  ");
  lcd_gotoxy(1,3);
  printf(lcd_putc,"     Encoder    ");
  //lcd_gotoxy(1,1);
 // printf(lcd_putc,"............... ");
  delay_ms(1000);
 
  while(true)
  {
     canalA1=input_state(CHA1);
     canalB1=input_state(CHB1);
     
   //  canalA2=input_state(CHA2);
  //   canalB2=input_state(CHB2);
     
     if(canalA1==1)
     {
       if(A_libda1==0)
       {
          A_libda1=1;
         
          if(B_libda1==0)
             {
                   if(canalB1==1)
                   {
                     qbe_puleoA1=qbe_puleoA1+1;
                     B_libda1=1;
                   }
                   
                   if(canalB1==0)
                   {
                     qbe_puleoA1=qbe_puleoA1-1;
                     B_libda1=1;
                   }
               
             }
       }
     }else if(canalA1==0)
           {
               if(A_libda1==1)
               {
                  A_libda1=0;
               
                   if(B_libda1==1)
                      {
                            if(canalB1==1)
                            {
                               B_libda1=0;
                            }else if(canalB1==0)
                                     {
                                       B_libda1=0;
                                     }
                   
                     }
               }
     }
/*                     if(canalA2==1)
                       {
                           if(A_libda2==0)
                           {
                              A_libda2=1;
                           
                            if(B_libda2==0)
                               {
                                     if(canalB2==1)
                                     {
                                      qbe_puleoA2=qbe_puleoA2+1;
                                       B_libda2=1;
                                     }
                                     
                                     if(canalB2==0)
                                     {
                                       qbe_puleoA2=qbe_puleoA2-1;
                                       B_libda2=1;
                                     }
               
                               }
       }
     }
                       if(canalA1==0)
                          {
                              if(A_libda2==1)
                              {
                                 A_libda2=0;
                               
                               if(B_libda2==1)
                                  {
                                        if(canalB2==1)
                                        {
                                          B_libda2=0;
                                        }
                                       
                                        if(canalB2==0)
                                        {
                                          B_libda2=0;
                                        }
                                     
                                  }
                            }
                          }
*/                         
                                 angle1=qbe_puleoA1;
                                 angle2=qbe_puleoA2;
                                 
                  lcd_gotoxy(1,1);                 //
                  printf(lcd_putc," Rotary Encoder ");
                  lcd_gotoxy(1,2);
                  printf(lcd_putc,"----------------");
                  lcd_gotoxy(1,3);                 //
                  printf(lcd_putc,"Cha_1 =  %ld    ",angle1);
                  lcd_gotoxy(1,4);
                  printf(lcd_putc,"Cha_2 =  %ld    ",angle2);
  }//while
 
}//main
 


 
   

7
 สวัสดีครับพี่่ๆทุกท่าน
   
       เครื่อง Program ที่ผมใช้อยู่ไม่มี IC 18f46k80 ทำไงดีครับ

ใช้เครื่อง Program ตัวนี้ครับ  http://www.etteam.com/product/pic/et-pic-isp-usb-v1.html

เราสามารถเพิ่มเบอร์ IC ได้มั้ย หรือมีวิธีอืนที่พอจะแก้ปัญหาตรงนี้ได้ครับ

ขอคำแนะนำด้วยครับ

8
Microchip PIC / สวัสดีครับ ชาว Electoday
« on: October 04, 2013, 08:09:58 am »
เข้าเรื่องเลยนะครับ
  ผมต้องการส่งค่า  ADC แบบไร้สายทำไงดีครับ

หมายถึง ตัวลูก 3 ตัว ส่งให้ตัวแม่อ่านค่า แล้วมาแสดงบน LCD ครับ

ตอนนี้ผมคิดไว้ว่าจะส่งผ่าน RF Module จะได้หรึอเปล่าครับ

มีวิธีอืนที่ดีกว่านี้ไหม ขอคำแนะนำด้วยครับ


ขอขอบคุณมาก ครับ

Pages: [1] 2