2014年6月29日 星期日

chipKit WF32 with IOShield OLED

/*
 BasicIO Shield LED VR oLED test
 */
#include <IOShieldOled.h>

const int BIO_LED0    = 26;
const int BIO_LED7    = 33;
const int BIO_Btn4     = 37;
const int BIO_VR1      = A0;
int sensorValue            = 0;     // variable to store the value coming from the sensor

void setup() {                    
  pinMode(BIO_LED0, OUTPUT);
  pinMode(BIO_LED7, OUTPUT);
  pinMode(BIO_Btn4, INPUT);  

  IOShieldOled.begin();
  IOShieldOled.displayOn();
}

void loop() {
  int i;
  char s[16];
  String ss;
  
  if (digitalRead(BIO_Btn4)) {
     digitalWrite(BIO_LED7, HIGH);   // set the LED on 
    }
  else {
    digitalWrite(BIO_LED7, LOW);    // set the LED off  
    }
  
  sensorValue = analogRead(BIO_VR1 );    
  digitalWrite(PIN_LED1, HIGH);    // set the LED on
  digitalWrite(BIO_LED0, HIGH);    // set the LED on 
  delay(sensorValue);                        // wait for a second
  digitalWrite(PIN_LED1, LOW);    // set the LED off
  digitalWrite(BIO_LED0, LOW);    // set the LED off  
  delay(sensorValue);                       // wait for a second
  
  IOShieldOled.clearBuffer();
  IOShieldOled.setCursor(0, 0);
  IOShieldOled.putString("VR value=");
  IOShieldOled.setCursor(0, 2);  
  ss=String(sensorValue);
  ss.toCharArray(s,16);
  IOShieldOled.putString(s);
  IOShieldOled.putString(" / 1024"); 
}

--------------------------------------------------------------------------------------------------
E:\Arduino\mySketchBook\libraries\IOShieldOled\utility\OledDriver.h

...
#elif defined (_BOARD_WF32_) 
#define prtMosi IOPORT_G
#define prtMiso IOPORT_G
#define prtSck IOPORT_G

#define prtVddCtrl IOPORT_C
#define prtVbatCtrl     IOPORT_D
#define prtDataCmd IOPORT_D
#define prtReset         IOPORT_D

#define bitMosi BIT_8
#define bitMiso BIT_7
#define bitSck BIT_6

#define bitVddCtrl    BIT_4
#define bitVbatCtrl BIT_15
#define bitDataCmd   BIT_14
#define bitReset         BIT_4

#endif
...