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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4587|回復: 2
打印 上一主題 下一主題
收起左側

arduino+U8glib控制0.96 OLED屏源程序

[復制鏈接]
跳轉到指定樓層
樓主


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);   //內邊界
  50.   u8g.drawFrame(0,0, 102,64);   //外邊界
  51.   u8g.setFont(u8g_font_5x7);    //設置字體
  52.   u8g.drawStr(104,12, "LEVEL"); //等級提示
  53.   u8g.drawStr(104,40, "SCORE"); //分數提示
  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, 下載次數: 32)


評分

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

查看全部評分

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区 | 91精品久久久久久久久 | 色偷偷噜噜噜亚洲男人 | 日韩一区二区三区在线 | 精品视频一区二区三区在线观看 | 在线一区二区三区 | 成人在线免费观看 | 一区二区三区精品在线视频 | 亚洲精品一 | 婷婷开心激情综合五月天 | 久久久久久久久久久蜜桃 | 成人免费在线 | 日韩一级黄色片 | 一区二区免费在线 | 国产中文字幕在线观看 | av中文在线 | 欧美一区二区成人 | 91精品久久久久久久久 | 91影视 | 久久久久久99| 91一区二区 | 日本淫视频 | 国产成人精品免费视频 | 亚洲www.| 四虎永久 | 久在线视频 | 久久精品色欧美aⅴ一区二区 | 天天天操天天天干 | 亚洲精品美女在线观看 | 欧美日韩一区二区视频在线观看 | 亚洲高清一区二区三区 | 一区二区三区国产精品 | 久久精品欧美一区二区三区麻豆 | 国产乱码精品1区2区3区 | 国际精品鲁一鲁一区二区小说 | 日韩免费av一区二区 | 欧美一级毛片在线播放 | 九九九视频 | 国产欧美性成人精品午夜 | 亚洲一区二区在线播放 | 一级片毛片 |