距離センサ.
#include<Wire.h>
#define LCD_ADRS 0x3e
void setup() {
Wire.begin();
init_LCD(3);
}
char moji[]="AQM1602XA-RN-GBW";
void loop() {
for( int i=0; i<16; i++ ){
writeData(moji[i]);
}
writeCommand(0x40+0x80);
for( int i=0;i<16; i++ ){
writeData(i+0xb1);
}
while(1){}
}
void writeData( byte t_data ){
Wire.beginTransmission(LCD_ADRS);
Wire.write(0x40);
delay( 5 );
Wire.write(t_data);
Wire.endTransmission();
delay( 1 );
}
void writeCommand( byte t_command ){
Wire.beginTransmission(LCD_ADRS);
Wire.write(0x00);
delay( 5 );
Wire.write(t_command);
Wire.endTransmission();
delay( 10 );
}
byte init_cmd[]={
0x38, 0x39, 0x14, 0x73, 0x54, 0x6c, 0x38, 0x01, 0x0c
};
void init_LCD( int contrast )
{
contrast &= 0xff;
init_cmd[4] = 0x54 | (contrast >> 4);
init_cmd[3] = 0x70 | (contrast & 0xf);
delay(100);
for( int i=0; i<9; i++ ){
writeCommand( init_cmd[i] );
delay( 20 );
}
}