久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4612|回復: 2
打印 上一主題 下一主題
收起左側(cè)

arduino+U8glib控制0.96 OLED屏源程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:423234 發(fā)表于 2019-3-18 20:18 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


Arduino源程序如下:
  1. #include "U8glib.h"

  2. #define RIGHT 0
  3. #define UP    1
  4. #define LEFT  2
  5. #define DOWN  3

  6. /*
  7. * OLED
  8.       arduino       OLED
  9.       D9        >     MOSI
  10.       D10      >     SCK
  11.       D11      >     DC
  12.       D12      >     CS
  13.       D13      >     RES
  14. SW SPI COM:
  15. SCK = 10, MOSI = 9 , CS = 12, A0 = 11, RES = 13
  16. */
  17. U8GLIB_SSD1306_128X64 u8g(10, 9, 12, 11, 13);

  18. int score = 0;
  19. int level = 1;
  20. int gamespeed = 100;
  21. int i;

  22. //組成單位,4X4像素點的方塊。
  23. const uint8_t ele[] PROGMEM = {
  24.   0xf0, //B1111000
  25.   0xb0, //B1011000
  26.   0xd0, //B1101000
  27.   0xf0, //B1111000
  28. };

  29. //蛇
  30. void element(int x, int y) {
  31.   u8g.drawBitmapP(x,y, 1,4, ele);
  32. }

  33. struct FOOD {
  34.   int x;
  35.   int y;
  36.   int yes;  
  37. };

  38. FOOD food = {25, 30, 1};

  39. struct SNAKE {
  40.   int x[200];
  41.   int y[200];
  42.   int node;
  43.   int dir;
  44.   int lefe;
  45. };

  46. SNAKE snake = {{9,5}, {30,30}, 2, RIGHT, 0};

  47. //游戲基本界面
  48. void UI() {
  49.   u8g.drawFrame(0,1, 102,62);   //內(nèi)邊界
  50.   u8g.drawFrame(0,0, 102,64);   //外邊界
  51.   u8g.setFont(u8g_font_5x7);    //設(shè)置字體
  52.   u8g.drawStr(104,12, "LEVEL"); //等級提示
  53.   u8g.drawStr(104,40, "SCORE"); //分數(shù)提示
  54. }

  55. void printScore(int x, int y, int s) {
  56.   u8g.setFont(u8g_font_6x10);
  57.   u8g.setPrintPos(x, y);
  58.   u8g.print(s);
  59. }

  60. void key() {
  61.   if(LOW == digitalRead(2)) {
  62.     snake.dir = DOWN;
  63.   }
  64.   if(LOW == digitalRead(3)) {
  65.     snake.dir = RIGHT;
  66.   }
  67.   if(LOW == digitalRead(4)) {
  68.     snake.dir = LEFT;
  69.   }
  70.   if(LOW == digitalRead(5)) {
  71.     snake.dir = UP;
  72.   }
  73. }

  74. void snakeGame() {

  75.   switch(snake.dir) {
  76.     case RIGHT:
  77.           snake.x[0] += 4;
  78.           if(snake.x[0]>=101) {
  79.             snake.x[0] = 1;
  80.           } break;
  81.     case UP:
  82.           snake.y[0] -= 4;
  83.           if(snake.y[0]<=1) {
  84.             snake.y[0] = 58;
  85.           } break;
  86.     case LEFT:
  87.           snake.x[0] -= 4;
  88.           if(snake.x[0]<=0) {
  89.             snake.x[0] = 97;
  90.           } break;
  91.     case DOWN:
  92.           snake.y[0] += 4;
  93.           if(snake.y[0]>=62) {
  94.             snake.y[0] = 2;
  95.           } break;
  96.   }  
  97.   
  98.   if((snake.x[0] == food.x) && (snake.y[0] == food.y)) {
  99.     snake.x[0] = food.x;
  100.     snake.y[0] = food.y;
  101.    
  102.     snake.node++;
  103.     food.yes = 1;
  104.     score += 2;
  105.     level = score/10+1;
  106.   }

  107.   for(i=snake.node-1;i>0;i--) {
  108.     snake.x[i] = snake.x[i-1];
  109.     snake.y[i] = snake.y[i-1];
  110.   }
  111. }

  112. void setup() {
  113.   pinMode(2, INPUT);
  114.   pinMode(3, INPUT);
  115.   pinMode(4, INPUT);
  116.   pinMode(5, INPUT);
  117.   
  118.   digitalWrite(2, HIGH);
  119.   digitalWrite(3, HIGH);
  120.   digitalWrite(4, HIGH);
  121.   digitalWrite(5, HIGH);
  122. }

  123. void loop() {
  124.   u8g.firstPage();
  125.   do {
  126.     UI();

  127. ……………………

  128. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
7Pin0.96 SPIsnake_arduino.rar (453.49 KB, 下載次數(shù): 32)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發(fā)
ID:525651 發(fā)表于 2019-5-1 17:25 | 只看該作者
不錯哦,學習一下
回復

使用道具 舉報

板凳
ID:471632 發(fā)表于 2019-5-1 22:10 | 只看該作者
我手上的是iic通訊的oled 0.96
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www久久| 超碰av在线 | 黄色a级网站| 国产精品美女在线 | 中国一级黄色录像 | 国产欧美精品一区二区色综合 | 国产精品视频专区 | 一区二区免费视频 | 韩日一区二区 | 亚洲免费成人 | 中文天堂av | 亚洲人在线观看 | 99精品在线观看 | 国产寡妇亲子伦一区二区三区四区 | www.色日本| 天天爽天天操 | 中文字幕在线看片 | 国产精品成人一区 | 免费看黄色aaaaaa 片 | 亚洲激情一区 | 日韩一级av毛片 | 久久久精品 | 一级黄色免费看 | 日韩精品视频网站 | 日韩成人在线免费观看 | 激情五月综合 | 天天干网站| 久久久久婷婷 | 欧美片网站yy | 4438xxx| 国产精品黄 | 欧美日韩综合在线 | 国产一区二区在线看 | 精品网站999www| 91最新在线 | 色姑娘综合 | 69er小视频 | 国产黄色片在线观看 | 天天操天天操天天 | 中文字幕伊人 | 亚洲午夜在线观看 |