//compiled for teensy 3.2 with keyboard support #include OneWire ds(10); #include #include #include #include #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin) #define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); byte addr[8]; void setup() { Serial.begin(115200); pinMode(14,INPUT_PULLUP); // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } // Show initial display buffer contents on the screen -- // the library initializes this with an Adafruit splash screen. display.display(); // Clear the buffer display.clearDisplay(); display.setTextSize(1); // Normal 1:1 pixel scale display.setTextColor(SSD1306_WHITE); // Draw white text display.setCursor(0,0); display.print("Hallo Vorstand!"); display.setCursor(0,20); display.print("Gib mir 1 Key Hoschie"); display.display(); while ( !ds.search(addr)) { delay(10); } } void printchar(int num, int posx, int posy) { display.setCursor(posx,posy); if(num<16) { display.print('0'); } display.print(num, HEX); } void keychar(int num) { if(num<16) { Keyboard.print('0'); } Keyboard.print(num, HEX); } void loop() { display.clearDisplay(); display.setTextSize(2); // Normal 1:1 pixel scale display.setTextColor(SSD1306_WHITE); // Draw white text display.setCursor(0,0); // Start at top-left corner display.cp437(true); // Use full 256 char 'Code Page 437' font printchar(addr[0],0,0); display.print("-"); printchar(addr[6],0,20); printchar(addr[5],28,20); printchar(addr[4],56,20); printchar(addr[3],0,40); printchar(addr[2],28,40); printchar(addr[1],56,40); display.display(); Serial.println(""); if(!digitalRead(14)) { keychar(addr[0]); Keyboard.print('-'); for( int i = 6; i >0 ; i--) { keychar(addr[i]); } delay(1000); } }