MakerBotWatch.h
/* * MakerBotWatch.h * * MakerbotWatch definitions and class */ #ifndef MAKERBOTWATCH_H_ #define MAKERBOTWATCH_H_ 1 #include <stdint.h> /* piezo speaker is attached to pin #2 */ #define SPEAKER 2 /* input buttons are attached to analog inputs, so use * analogRead() to get their values. */ #define BUTTON1 4 /* S1 is at 10 o'clock */ #define BUTTON2 5 /* S2 is at 7 o'clock */ #define BUTTON3 3 /* S3 is near 4 o'clock */ /* to light a LED, set the row to HIGH and the column to LOW. To turn * off all LEDs, set all of the columns to HIGH and all of the rows to * LOW. */ #define COL0 3 #define COL1 4 #define COL2 5 #define COL3 6 #define COL4 7 #define ROW0 8 #define ROW1 9 #define ROW2 10 #define ROW3 11 #define ROW4 12 #define ROW5 13 /* these define the ROW, COL values for the outer and inner LEDs at * each of the 12 clock positions. In these macros, 0 o'clock is the * same as 12 o'clock. */ #define OUTER_0 ROW0, COL0 #define OUTER_1 ROW1, COL0 #define OUTER_2 ROW2, COL0 #define OUTER_3 ROW3, COL0 #define OUTER_4 ROW4, COL0 #define OUTER_5 ROW5, COL0 #define OUTER_6 ROW0, COL1 #define OUTER_7 ROW1, COL1 #define OUTER_8 ROW2, COL1 #define OUTER_9 ROW3, COL1 #define OUTER_10 ROW4, COL1 #define OUTER_11 ROW5, COL1 #define OUTER_12 ROW0, COL0 #define INNER_0 ROW0, COL2 #define INNER_1 ROW1, COL2 #define INNER_2 ROW2, COL2 #define INNER_3 ROW3, COL2 #define INNER_4 ROW4, COL2 #define INNER_5 ROW5, COL2 #define INNER_6 ROW0, COL3 #define INNER_7 ROW1, COL3 #define INNER_8 ROW2, COL3 #define INNER_9 ROW3, COL3 #define INNER_10 ROW4, COL3 #define INNER_11 ROW5, COL3 #define INNER_12 ROW0, COL2 /* LEDs A-D are defined with A being closest to 12 o'clock */ #define LED_A ROW3, COL4 #define LED_B ROW2, COL4 #define LED_C ROW1, COL4 #define LED_D ROW0, COL4 class MakerBotWatch { public: MakerBotWatch(); void clear(); void lightLED(int8_t rowNum, int8_t colNum); void unlightLED(int8_t rowNum, int8_t colNum); void showTime(); void setTime(int8_t hours, int8_t minutes); private: int8_t mHoursRow, mHoursCol; int8_t mMinutesRow, mMinutesCol; }; #endif // MAKERBOTWATCH_H_
page revision: 5, last edited: 21 Nov 2011 22:53