数字炸弹【创意】星期6更贴
本帖最后由 新手之帆 于 2018-11-16 13:12 编辑在社区待了这么久,也改为社区做贡献了。现在打算用arduino来做数字炸弹。
材料:arduino开发板,OLED0.96寸,3个按键,一些电阻,杜邦线,面包板,1个蜂鸣器(也可以不用)。目前程序已经快写好了,电路图比较容易。
采用的是u8g2的库,没有的在arduino库管理器下载。(见最下面)
这个星期六开始慢慢更贴,直到我做完。
望管理员不要删,谢谢。
然后在搜索 u8g2就可以了
坐等大佬作品 单片机菜鸟 发表于 2018-11-14 13:31
坐等大佬作品
我渣渣一个 目前初步试验好了,还可以,只是还要略微修改。 没人围观吗 #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:42
#include
#include
代码,接线图我有空就发
页:
[1]