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

新手之帆 发表于 2018-11-14 13:14

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

本帖最后由 新手之帆 于 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-14 13:31
坐等大佬作品

我渣渣一个

新手之帆 发表于 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_I2Cu8g2(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

新手之帆 发表于 2018-12-15 18:42
#include
#include



代码,接线图我有空就发
页: [1]
查看完整版本: 数字炸弹【创意】星期6更贴