Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Sample code for ICStation.com's PS2 Keyboard Interface Module
- // For the Arduino Uno, using the UART (serial)
- // by Ido Gendel, 2015
- // Share and enjoy!
- // This is adapted to a common-anode RGB LED, so everything is in negative logic.
- // The Red, Green and Blue legs of the LED are connected to pin 9, 10 & 11
- // Make sure to disconnect the module from the Arduino while uploading this sketch!
- byte color[3] = {255, 255, 255};
- byte *ref = NULL;
- void red() { ref = &color[0]; }
- void green() { ref = &color[1]; }
- void blue() { ref = &color[2]; }
- void update() {
- for (byte j = 0; j < 3; j++) analogWrite(j + 9, color[j]);
- }
- // Common Anode - Negative logic!
- void less() {
- if (ref && (*ref < 255)) (*ref)++;
- update();
- }
- // Common Anode - Negative logic!
- void more() {
- if (ref && (*ref > 0)) (*ref)--;
- update();
- }
- void keyState() {
- digitalWrite(13, digitalRead(2));
- }
- void setup() {
- for (byte j = 9; j <= 13; j++) pinMode(j, OUTPUT);
- pinMode(2, INPUT);
- attachInterrupt(0, keyState, CHANGE);
- digitalWrite(13, LOW);
- update();
- Serial.begin(19200);
- }
- void loop() {
- while (!Serial.available());
- char c = Serial.read();
- switch (c) {
- case 45: red(); break;
- case 52: green(); break;
- case 50: blue(); break;
- case 121: more(); break;
- case 123: less(); break;
- }
- Serial.println(c, DEC);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement