Monday, 27 February 2012

ebay lcdshield s tlacitkami vers. arduino 1.0

/* key 0 = right
 * key 1 = up
 * key 2 = down
 * key 3 = left
 * key 4 = select
 */

#include <LiquidCrystal.h>

//lcd pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);


int adc_key_val[5] ={
  30, 150, 360, 535, 760 };
int NUM_KEYS = 5;
int adc_key_in;
int key=-1;
int oldkey=-1;

void setup() {
  lcd.begin(16,2);
  lcd.home();
  lcd.clear();
}

void loop() {
  adc_key_in = analogRead(0);    // read the value from the sensor
  key = get_key(adc_key_in);     // convert into key press
  if (key != oldkey)             // if keypress is detected
  {
    delay(50);          // wait for debounce time
    adc_key_in = analogRead(0);    // read the value from the sensor
    key = get_key(adc_key_in);                  // convert into key press
    if (key != oldkey)
    {
      oldkey = key;
      switch (key)
      {
      case 0:
        // righ
        break;
      case 1:
        // up
        break;
      case 2:
        // down
        break;
      case 3:
        // left
        break;
      case 4:
        // select
        break;
      }

     }
    }
  }

// Convert ADC value to key number
int get_key(unsigned int input)
{
  int k;
  for (k = 0; k < NUM_KEYS; k++)
  {
    if (input < adc_key_val[k])
    {
      return k;
    }
  }
  if (k >= NUM_KEYS)
    k = -1;     // No valid key pressed
  return k;
}




peugeot 206 - alpine CDE-9880R podvolantove ovladanie

alpine CDE-9880R manual: http://www.alpine.ro/fileadmin/user_upload/manuals/car_audio_manuals/CDE-9880R/OM_CDE-9880R_EN.pdf

odvodene z prace Amar Kulo:
http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine

skener pre arduino 0.2x s lcd shieldom z ebayu

program ovladania pre arduino (0.2x)

pripojenie:

// Peugeot 206 1998 steering wheel remote control interface for Apline
// JACK:
//             +--------+
//  OOOO|           |== = - < signal to alpPin
//             +--------+
//                             ^
//                         GND
//
// Arduino:       analogPin0          analogPin1
//                            ^                   ^
//             +-------+    |                    |   +-------+
// +5V o--|  680  |---+    GND      +---|  680   |--o +5V
//             +-------+    |        ^          |    +-------+
//                            |         |           |
//                            ^        ^         ^
// remote:              red     white    blue
//