色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

聚豐項目 > 無線充電卡通鬧鐘

無線充電卡通鬧鐘

將普通的指針式卡通鬧鐘,改造成電子LED矩陣顯示無線充電的卡通鬧鐘。因為矩陣式LED顯示屏耗電較大需要經(jīng)常充電,用普通充電器充要經(jīng)常插拔電源線很麻煩,用了IDT的15W無線充電套件就不用這么麻煩了,鬧鐘沒電了只要將它放在無線充電底座上就可以方便的充電了,隨放隨充相當(dāng)方便,非常便利。這個鬧鐘還有改進的地方,后續(xù)可以將無線充電狀態(tài)從I2C總線讀取并顯示在顯示屏上,這樣就可以直觀的了解充電情況。(本項目采用的是IDT 15W無線充電開發(fā)套件)

expertss expertss

分享
2 喜歡這個項目
團隊介紹

expertss expertss

團隊成員

羅鵬 硬件工程師

分享
項目簡介
將普通的指針式卡通鬧鐘,改造成電子LED矩陣顯示無線充電的卡通鬧鐘。因為矩陣式LED顯示屏耗電較大需要經(jīng)常充電,用普通充電器充要經(jīng)常插拔電源線很麻煩,用了IDT的15W無線充電套件就不用這么麻煩了,鬧鐘沒電了只要將它放在無線充電底座上就可以方便的充電了,隨放隨充相當(dāng)方便,非常便利。這個鬧鐘還有改進的地方,后續(xù)可以將無線充電狀態(tài)從I2C總線讀取并顯示在顯示屏上,這樣就可以直觀的了解充電情況。(本項目采用的是IDT 15W無線充電開發(fā)套件)
硬件說明


 

硬件組成:

  1. IDT 15W  無線充電套件

  2. AVR單片機控制LED顯示屏,后續(xù)讀取15W套件接收板I2C總線數(shù)據(jù),并顯示。

  3. TI的電源管理芯片,負責(zé)鋰電池充電,電池和無線電源供電的切換。

軟件說明

軟件部分:

開發(fā)平臺:ICCAVR  AVRSTUDIO

部分顯示代碼:

 

void initia_gram(unsigned char *ledgram)
{
 unsigned char i;
 
 for(i = 0;i < 64;i++)
   {
    *ledgram = 0xff;
    ledgram++;
   }
}


void refresh_timeonled(unsigned char *datedata,unsigned char *ledgram,const unsigned char *BufferPoint)
{
  const unsigned char *zikubuffertemp;
  unsigned char *ledgramtemp;
  unsigned char i,j;
 
  zikubuffertemp = BufferPoint;
  ledgramtemp = ledgram + 4;
  // 顯示在第二行開始 +4
 
  datedata += 5;
  //指向小時  5   指向分鐘 3
 
  for(i = 0;i < 4;i++)
    {
  zikubuffertemp += *datedata * 8;
  ledgramtemp += i;
 
  for(j = 0;j < 8;j++)
    {
     switch(i)
    {
     case 0:
       if(*datedata == 0)
      *(ledgramtemp + j * 4) = 0xFF;
    else
         *(ledgramtemp + j * 4) = (*zikubuffertemp >> 1) | 0x80;
          zikubuffertemp++;
     break;
     case 1:
       if(j == 1)
         *(ledgramtemp + j * 4) = *zikubuffertemp & 0xFE;
    else if(j == 5) 
      *(ledgramtemp + j * 4) = *zikubuffertemp & 0xFE;
    else
      *(ledgramtemp + j * 4) = *zikubuffertemp;
          zikubuffertemp++;
     break;
     case 2:
       if(j == 1)
         *(ledgramtemp + j * 4) = ((*zikubuffertemp >> 2) | 0xC0) & 0x7F;
    else if(j == 5)
      *(ledgramtemp + j * 4) = ((*zikubuffertemp >> 2) | 0xC0) & 0x7F;
    else
      *(ledgramtemp + j * 4) = (*zikubuffertemp >> 2) | 0xC0;
          zikubuffertemp++;
     break;
     case 3:
       *(ledgramtemp + j * 4) = (*zikubuffertemp >> 1) | 0x80;
          zikubuffertemp++;
     break;
     default:
     break;
    }
    }
  --datedata;
  zikubuffertemp = BufferPoint;
     ledgramtemp = ledgram + 4;
 }
}

 


//------------------------------------------------------------------------------
//
//  將顯示緩沖區(qū)內(nèi)的數(shù)據(jù)發(fā)送到LED點陣上 點陣32 * 16
//  輸入: 指向顯示緩沖區(qū)的指針
//  輸出: 無
void ShowPicONLED(unsigned char *BufferPoint,unsigned char x_wide,unsigned char y_high,unsigned char x_pos,unsigned char y_pos,unsigned char roll_switch)
{
   unsigned char i = 8;
   unsigned int j = 0;
   unsigned long cycleposition = 0x80000000;
   unsigned char *BufferPointbuffer;
   BufferPointbuffer  = BufferPoint;
  
   while(j < 16)
     {
   HC595_DataOut(0xFFFFFFFF,cycleposition);
      PORTA =  i;
      HC595_DataOutPut(BufferPoint,cycleposition);
      delayofftimeonus();
      i++;
      BufferPoint += 4;
   if(BufferPoint == BufferPointbuffer + 64)//64
     BufferPoint = BufferPointbuffer;
      if(i == 16)
      i = 0;//8
   j++;
   if(j == 16)
     {
   HC595_DataOut(0xFFFFFFFF,cycleposition);
      //cycleposition >>= 1;
   //if(cycleposition == 0)
   //  cycleposition = 0x80000000;
   //j = 0;
  }
  }
}


//
//  輸出32位的數(shù)據(jù)到4片74HC595上
//  輸入:要輸出的32位數(shù)據(jù)
//  輸出:無
void HC595_DataOutPut(unsigned char *GRAMPoint,unsigned long Position)
{
  unsigned long cycle = Position;
  unsigned long databuffer = 0;
  unsigned char i = 0,j = 0;
 
  databuffer |= (unsigned long)*GRAMPoint;
  GRAMPoint++;
  databuffer <<= 8;
  databuffer |= (unsigned long)*GRAMPoint;
  GRAMPoint++;
  databuffer <<= 8;
  databuffer |= (unsigned long)*GRAMPoint;
  GRAMPoint++;
  databuffer <<= 8;
  databuffer |= (unsigned long)*GRAMPoint;
 
  LED_MRH;
  LED_OEH;
  LED_STCPL;
  LED_SHCPL;
  for(i = 1;i <= 32;i++)
    {
  if(cycle & databuffer)
    LED_MOSIH;
  else
    LED_MOSIL;
  LED_SHCPH;
  cycle >>= 1;
  if(cycle == 0)
    cycle = 0x80000000;
  LED_SHCPL;
 }
  LED_STCPH;
  LED_OEL;
  LED_STCPL;
  LED_SHCPL;
}

 

演示效果

expertss1f.jpg


expertss1g.jpg

 

評論區(qū)(1 )
  • wenhua2020: 可否提供一下原理圖參考參考下呢

    回復(fù)

主站蜘蛛池模板: 韩国女人高潮嗷嗷叫视频 | 一个人在线观看免费高清视频在线观看 | 99久久国产免费福利 | 高h肉文np| 国产精品久久久久久无码专区 | 欧美A级肉欲大片XXX | 久久99热只有频精品 | 三级网站视频在线观看 | 亚洲欧美成人无码久久久 | 伊人大香人妻在线播放 | 亚洲日韩精品AV中文字幕 | YY600800新视觉理论私人 | 国产精选视频在线观看 | 在线播放av欧美无码碰 | 2018久久视频在线视频观看 | 在线综合 亚洲 欧美 | 国产色无码精品视频国产 | xxx69欧美| 理论片87福利理论电影 | 99久久免费看少妇高潮A片 | 7m凹凸国产刺激在线视频 | 亚洲第一色网 | xxxxx69hd杨幂| 久久99视热频国只有精品 | 欧美做真爱欧免费看 | 阿离被扒开双腿疯狂输出 | 少妇系列之白嫩人妻 | 武侠艳妇屈辱的张开双腿 | 国产69精品9999XXXX | 91精品国产色综合久久 | 一道本在线伊人蕉无码 | 国产精品色欲AV亚洲三区软件 | 日本熟妇乱妇熟色A片蜜桃亚洲 | 日韩精品一卡二卡三卡四卡2021 | 亲嘴扒胸摸屁股视频免费网站 | 日本午夜福利无码高清 | 人与人特黄一级 | 精品含羞草免费视频观看 | 蜜桃人妻无码AV天堂三区 | 伊人久久综合影院首页 | 亚洲AV无码乱码国产精品品麻豆 |