数字炸弹【创意】星期6更贴-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3827|回复: 6

数字炸弹【创意】星期6更贴

[复制链接]
发表于 2018-11-14 13:14 | 显示全部楼层 |阅读模式
本帖最后由 新手之帆 于 2018-11-16 13:12 编辑

在社区待了这么久,也改为社区做贡献了。现在打算用arduino来做数字炸弹。

材料:arduino开发板,OLED0.96寸,3个按键,一些电阻,杜邦线,面包板,1个蜂鸣器(也可以不用)。目前程序已经快写好了,电路图比较容易。
采用的是u8g2的库,没有的在arduino库管理器下载。(见最下面)

这个星期六开始慢慢更贴,直到我做完。
望管理员不要删,谢谢。

然后在搜索 u8g2就可以了




第一步

第一步
发表于 2018-11-14 13:31 | 显示全部楼层
坐等大佬作品
 楼主| 发表于 2018-11-15 20:09 | 显示全部楼层

我渣渣一个
 楼主| 发表于 2018-11-15 20:09 | 显示全部楼层
目前初步试验好了,还可以,只是还要略微修改。
 楼主| 发表于 2018-11-16 13:11 | 显示全部楼层
没人围观吗
 楼主| 发表于 2018-12-15 18:42 | 显示全部楼层
#include <Arduino.h>
#include <U8g2lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif

#define bu1 D3//定义宏
#define bu2 D4
#define bu3 D7
U8G2_SSD1306_128X64_NONAME_F_HW_I2C  u8g2(U8G2_R0 ,16);//u8g2的配置
int num=0,a=101,b=0,b1,b2,b3;//不用说吧
int i=0,r,ok=1;
void setup(){
  Serial.begin(9600);//波特率9600
  pinMode(bu1,INPUT_PULLUP);//上拉
  pinMode(bu2,INPUT_PULLUP);
   pinMode(bu3,INPUT_PULLUP);
  u8g2.begin();
  u8g2.enableUTF8Print();  
  r=random(0,101);
}
void loop(){
  u8g2.setFont(u8g2_font_unifont_t_chinese2);
  u8g2.setFontDirection(0);
  /*int b1=digitalRead(bu1);
  int b2=digitalRead(bu2);
  int b3=digitalRead(bu3);
  if(b1==HIGH)
  num++;  
  if(b2==HIGH)num+=10;*/
  u8g2.setFontDirection(0);
  u8g2.firstPage();//说明一下,因为do while会一直循环下去,所以你不放在do while里面只会执行1次
  do {
  b1=digitalRead(bu1);//比较容易的输入
  b2=digitalRead(bu2);
  b3=digitalRead(bu3);
  if(b1==LOW){
  delay(80);
  Serial.println("b1");
  num++;  }
  if(b2==LOW){
  num=num+3;
  delay(80);
  Serial.println("b2");}

/*  if(num==r){
   if(b3==LOW)ok=0;
   else ok=1;
   if(ok==0){
  u8g2.setCursor(0,55);
  u8g2.print("you lose!");            
} }*/
if(b3==LOW){
     //程序的主要部
  if(num!=r){
  if(num<a&&num>r){a=num;
  num=0;break;}//一个判断数值
  if(num>b&&num<=r){ b=num;num=0;break;}
}else ok=0;
delay(100);
}
  if(ok==0){
  u8g2.setCursor(0,55);
  u8g2.print("you lose!");
  }
  if(a-b==2){
    u8g2.setCursor(0,55);
    u8g2.print("you win!");
}
   /*if(a-b==2&&bu3==HIGH){
   ok=1;
   a=101;
   b=0;
   u8g2.clearBuffer();   
}*/
/* if(ok==0&&bu3==HIGH){
   ok=1;
   a=101;
   b=0;
   u8g2.clearBuffer();   
}*/
  if(num>=100)num=0;
  u8g2.setCursor(0,15);
  u8g2.print(num);
  u8g2.setCursor(0,30);
  u8g2.print("num is>=");u8g2.print(b);u8g2.print('<');u8g2.print(a);
  /*u8g2.setCursor(20,15);
  u8g2.print(r);*/
} while ( u8g2.nextPage() );//输出
}
 楼主| 发表于 2018-12-15 18:43 | 显示全部楼层

代码,接线图我有空就发
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:45 , Processed in 0.213683 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表