初始化提交
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
|
||||
A couple of dices on a tiny 80x160px TFT display
|
||||
|
||||
Author: Alfonso de Cala <alfonso@el-magnifico.org>
|
||||
|
||||
*/
|
||||
|
||||
#include <M5StickCPlus.h>
|
||||
|
||||
#define DOT_SIZE 6
|
||||
int dot[6][6][2] {
|
||||
{{35,35}},
|
||||
{{15,15},{55,55}},
|
||||
{{15,15},{35,35},{55,55}},
|
||||
{{15,15},{15,55},{55,15},{55,55}},
|
||||
{{15,15},{15,55},{35,35},{55,15},{55,55}},
|
||||
{{15,15},{15,35},{15,55},{55,15},{55,35},{55,55}},
|
||||
};
|
||||
|
||||
float accX = 0;
|
||||
float accY = 0;
|
||||
float accZ = 0;
|
||||
|
||||
|
||||
void setup(void) {
|
||||
M5.begin();
|
||||
M5.IMU.Init();
|
||||
|
||||
M5.Lcd.setRotation(1);
|
||||
|
||||
M5.Lcd.fillScreen(TFT_GREEN);
|
||||
|
||||
M5.Lcd.setTextColor(TFT_BLACK); // Adding a background colour erases previous text automatically
|
||||
|
||||
|
||||
M5.Lcd.setCursor(10, 30);
|
||||
M5.Lcd.setTextSize(3);
|
||||
M5.Lcd.print("SHAKE ME");
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
|
||||
void draw_dice(int16_t x, int16_t y, int n) {
|
||||
|
||||
M5.Lcd.fillRect(x, y, 70, 70, WHITE);
|
||||
|
||||
for(int d = 0; d < 6; d++) {
|
||||
if (dot[n][d][0] > 0) {
|
||||
M5.Lcd.fillCircle(x+dot[n][d][0], y+dot[n][d][1], DOT_SIZE, TFT_BLACK);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
|
||||
|
||||
while(1) {
|
||||
M5.IMU.getAccelData(&accX,&accY,&accZ);
|
||||
if (accX > 1.5 || accY > 1.5 ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
M5.Lcd.fillScreen(TFT_GREEN);
|
||||
|
||||
// Draw first dice
|
||||
delay(500); // A little delay to increase suspense :-D
|
||||
int number = random(0, 6);
|
||||
draw_dice(50,30,number);
|
||||
|
||||
// Draw second dice
|
||||
delay(500);
|
||||
number = random(0, 6);
|
||||
draw_dice(125,30,number);
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user