Arduino upplåsningsmönster (4 / 4 steg)
Steg 4: kod
#include "PCD8544.h" int y1 = A0; booleska point1; Boolean upplåst; int jag = 0; stift 7 - seriell klocka ut (SCLK) en bitmapp med en 16 x 16 frukt ikon void setup(void) { pinMode (11, OUTPUT); Nokia.init(); } int readX() { digitalWrite (x2, låg); Delay(5); paus för att tillåtas att driva upp återvända analogRead(y1); int readY() { pinMode (y1, produktionen); digitalWrite (y1, låg); Delay(5); paus för att tillåtas att driva upp återvända analogRead(x2); void slinga (void) { int x = readX(); nokia.setCursor (0, 0); om (x < = 970 & x > = 870 & y < = 250 & y > = 150) { } IF(Point1 == true) { om (point1 == true & x < = 200 & x > = 90 & y < = 930 & y > = 830) {
int x2 = A1;
int y2 = A2;
int x1 = A3;
booleska poäng2;
booleska point3;
booleska point4;
booleska point5;
stift 6 - seriell data ut (DIN)
stift 5 - Data/kommandot Välj (D/C)
stift 4 - LCD chip Välj (CS)
stift 3 - LCD reset (RST)
PCD8544 nokia = PCD8544 (7, 6, 5, 4, 3);
static unsigned char __attribute__ ((progmem)) logo16_glcd_bmp [] = {
0x30, 0xf0, 0xf0, 0xf0, 0xf0, 0x30, 0xf8, 0xbe, 0x9f, 0xff, 0xf8, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
0x20, 0x3c, 0x3f, 0x3f, 0x1f, 0x19, 0x1f, 0x7b, 0xfb, 0xfe, 0xfe, 0x07, 0x07, 0x07, 0x03, 0x00,};
#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
digitalWrite (11, hög).
Du kan ändra kontrasten runt för att anpassa displayen
för bästa visning!
nokia.setContrast(50);
Aktivera alla pixlar (ett praktiskt test)
Nokia.Command(PCD8544_DISPLAYCONTROL | PCD8544_DISPLAYALLON);
Delay(500);
tillbaka till det normala
Nokia.Command(PCD8544_DISPLAYCONTROL | PCD8544_DISPLAYNORMAL);
pinMode (y1, ingång);
pinMode (x2, produktionen);
pinMode (y2, ingång);
pinMode (x1, produktionen);
digitalWrite (x1, hög);
}
pinMode (x2, ingång);
pinMode (y2, produktionen);
pinMode (x1, ingång);
digitalWrite (y2, hög);
}
int y = readY();
Nokia.Print ("Rita låsa upp");
nokia.setCursor (0, 10);
Nokia.Print("Pattern");
Nokia.display();
Point1 = sant;
nokia.setCursor(0,25);
Nokia.Print ("gå till punkt 2").
i ++;
nokia.setCursor(0,40);
Nokia.Print(i);
}
poäng2 = sant;
nokia.setCursor(0,25);
Nokia.Print ("gå till punkt 3").
}
om (poäng2 == true & x < = 165 & x > = 90 & y < = 250 & y > = 120) {
point3 = sant;
nokia.setCursor(0,25);
Nokia.Print ("gå till punkt 4").
}
om (point3 == true & x < = 999 & x > = 865 & y < = 950 & y > = 800) {
point4 = sant;
nokia.setCursor(0,25);
Nokia.Print ("gå till punkt 5").
}
om (point4 == true & x < = 970 & x > = 870 & y < = 250 & y > = 150) {
point5 = sant;
olåst = sant;
Point1 = false;
Nokia.Clear();
nokia.setCursor(0,25);
Nokia.Print ("olåst");
}
om (jag > = 150) {
Point1 = false;
poäng2 = false;
point3 = false;
point4 = false;
point5 = false;
nokia.setCursor(0,25);
Nokia.Print ("för långsamt!");
}
}