2018年4月15日星期日

arduino 红外接收源码



#include <IRremote.h>

int RECV_PIN = 11;
int ledPin=12;

int ledState = LOW;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);

  irrecv.enableIRIn();  
Serial.println("Enabled IRin");
pinMode(ledPin,OUTPUT);
 irrecv.blink13(true);
}

void loop() {

 if (irrecv.decode(&results))
 {

  switch(results.value)
  {
    case 0xFF12ED:
if(ledState==LOW)
{
  ledState=HIGH;
}
else
{
  ledState=LOW;
}
digitalWrite(ledPin,ledState);
Serial.println(results.value, HEX);
delay(50);
    irrecv.resume();
    break;

    case 0xFFFFFFF:
    irrecv.resume();
return;
    break;
 }


}
}

2018年4月8日星期日

LCD1602汉字5*8点阵字库(for arduino) 持续更新

北={0x0A,0x0A,0x0A,0x1B,0x0A,0x0A,0x0A,0x1B,}
京={0x04,0x1F,0x0E,0x0A,0x0E,0x15,0x15,0x0C,}
市={0x04,0x1F,0x04,0x1F,0x15,0x15,0x15,0x04,}
和={0x08,0x13,0x0B,0x1F,0x0B,0x1F,0x1C,0x08,}
九={0x08,0x08,0x1E,0x0A,0x0A,0x0A,0x0A,0x13,}
小={0x04,0x04,0x15,0x15,0x15,0x15,0x04,0x0C,}
学={0x15,0x1F,0x11,0x0F,0x02,0x1F,0x04,0x0C,}
生={0x02,0x0A,0x0A,0x17,0x02,0x0F,0x02,0x0F,}
守={0x04,0x1F,0x11,0x02,0x1F,0x02,0x0A,0x06,}
则={0x1D,0x15,0x1F,0x1F,0x1F,0x0B,0x15,0x13,}
五={0x1E,0x08,0x08,0x1E,0x0A,0x0A,0x0A,0x1F,}
年={0x04,0x0C,0x0F,0x12,0x0F,0x0A,0x1F,0x02,}
王={0x1F,0x04,0x04,0x1F,0x04,0x04,0x04,0x1F,}
孚={0x1F,0x15,0x0E,0x02,0x04,0x1F,0x04,0x0C,}
吉={0x04,0x1F,0x04,0x1F,0x00,0x1F,0x11,0x1F,}
上={0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x1F,}
下={0x1F,0x04,0x04,0x06,0x05,0x04,0x04,0x04,}
午={0x08,0x08,0x0E,0x14,0x04,0x1F,0x04,0x04,}
大={0x04,0x04,0x1F,0x04,0x04,0x0A,0x11,0x11,}
多={0x02,0x0F,0x05,0x1F,0x02,0x0F,0x05,0x1F,}
少={0x04,0x04,0x15,0x15,0x0D,0x02,0x04,0x18}
左={0x04,0x1F,0x04,0x08,0x17,0x02,0x02,0x0F,}
右={0x04,0x1F,0x04,0x08,0x1F,0x09,0x09,0x0F,}
天={0x0E,0x04,0x04,0x1F,0x04,0x0A,0x0A,0x11,}
气={0x08,0x17,0x06,0x00,0x0F,0x02,0x04,0x0F,}
云={0x00,0x0E,0x00,0x1F,0x08,0x0A,0x11,0x1D,}
雨={0x1F,0x04,0x1F,0x15,0x1F,0x15,0x1F,0x15,}
雷={0x1F,0x04,0x1F,0x15,0x04,0x1F,0x15,0x1F,}
闪={0x17,0x01,0x15,0x15,0x15,0x1B,0x11,0x13,}
电={0x04,0x1F,0x15,0x1F,0x15,0x1F,0x04,0x07,}
月={0x0F,0x09,0x0F,0x09,0x0F,0x09,0x09,0x13,}
日={0x00,0x1F,0x11,0x11,0x1F,0x11,0x11,0x1F,}
时={0x01,0x1D,0x17,0x1D,0x15,0x17,0x1D,0x03,}
分={0x0A,0x0A,0x11,0x00,0x1F,0x09,0x09,0x13,}
间={0x17,0x01,0x1F,0x1B,0x1F,0x1B,0x1F,0x11,}
问={0x17,0x01,0x11,0x1F,0x1B,0x1F,0x11,0x13,}
人={0x02,0x02,0x04,0x04,0x04,0x0A,0x0A,0x11,}
中={0x04,0x04,0x1F,0x15,0x15,0x1F,0x04,0x04,}
正={0x1F,0x04,0x04,0x07,0x14,0x14,0x14,0x1F,}
写={0x1F,0x11,0x0E,0x08,0x0F,0x01,0x1F,0x01,}
字={0x04,0x1F,0x11,0x0E,0x02,0x1F,0x04,0x0C,}
文={0x04,0x1F,0x0A,0x0A,0x0A,0x04,0x0A,0x11,}
件={0x06,0x0E,0x1A,0x0F,0x0A,0x0F,0x0A,0x0A,}
子={0x1F,0x02,0x04,0x04,0x1F,0x04,0x04,0x0C,}
了={0x1F,0x01,0x02,0x04,0x04,0x04,0x04,0x0C,}
点={0x04,0x07,0x04,0x1F,0x11,0x1F,0x00,0x15,}
阵={0x1A,0x1F,0x1A,0x16,0x1F,0x1A,0x17,0x12,}
库={0x04,0x1F,0x12,0x1F,0x17,0x1A,0x1F,0x12,}
电={0x04,0x1F,0x15,0x1F,0x15,0x1F,0x04,0x07,}
压={0x0F,0x08,0x0A,0x0F,0x0A,0x0B,0x0A,0x17,}
工={0x00,0x1F,0x04,0x04,0x04,0x04,0x04,0x1F,}
作={0x09,0x12,0x0B,0x0A,0x0B,0x0A,0x0B,0x0A,}
态={0x04,0x1F,0x04,0x0A,0x19,0x04,0x11,0x0F,}
第 1 页
5×8点阵汉字库
分={0x0A,0x0A,0x11,0x00,0x1F,0x09,0x09,0x13,}
开= {0x1F,0x0A,0x0A,0x0A,0x1F,0x0A,0x0A,0x12,}
关= {0x11,0x0A,0x1F,0x04,0x1F,0x04,0x0A,0x11,}
习={0x1F,0x01,0x11,0x0B,0x05,0x09,0x11,0x03,}
车={0x04,0x1F,0x08,0x12,0x1F,0x02,0x1F,0x02,}
东={0x04,0x1F,0x08,0x14,0x1F,0x04,0x15,0x0C,}
西={0x00,0x1F,0x0A,0x1F,0x1B,0x1B,0x11,0x1F,}
南={0x04,0x1F,0x04,0x1F,0x1B,0x15,0x1F,0x15,}
不={0x00,0x1F,0x04,0x08,0x16,0x05,0x04,0x04,}
有={0x04,0x1F,0x08,0x1F,0x09,0x0F,0x0F,0x09,}
出={0x04,0x15,0x15,0x1F,0x04,0x15,0x15,0x1F,}
完={0x04,0x1F,0x11,0x0E,0x00,0x1F,0x0A,0x1B,}
几={0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x13,}
个= {0x04,0x04,0x0A,0x15,0x04,0x04,0x04,0x04,}
阳={0x18,0x1F,0x1D,0x17,0x1D,0x1D,0x17,0x10,}
光={0x04,0x15,0x04,0x1F,0x0A,0x0A,0x0A,0x1B,}
力={0x08,0x08,0x1F,0x09,0x09,0x09,0x09,0x13,}
艾={0x0A,0x1F,0x0A,0x11,0x0A,0x04,0x0A,0x11,}
可={0x00,0x1F,0x02,0x1E,0x16,0x1E,0x02,0x06,}
口={0x00,0x00,0x1F,0x11,0x11,0x11,0x1F,0x00,}
区={0x00,0x1E,0x10,0x1A,0x14,0x1A,0x10,0x1F,}
回={0x00,0x1F,0x11,0x1F,0x1B,0x1F,0x11,0x1F,}
去={0x04,0x1F,0x04,0x04,0x1F,0x0A,0x11,0x1E,}
玉={0x1F,0x04,0x04,0x1F,0x04,0x06,0x05,0x1F,}
于={0x1F,0x04,0x04,0x1F,0x04,0x04,0x14,0x0C,}
显={0x1F,0x11,0x1F,0x1F,0x0A,0x1B,0x0A,0x1F,}
示= {0x0E,0x00,0x1F,0x04,0x0E,0x15,0x04,0x0C,}
张={0x00,0x1A,0x0B,0x1A,0x17,0x1A,0x0B,0x1A,}
志={0x04,0x1F,0x04,0x1F,0x00,0x12,0x19,0x0E,}
忠={0x04,0x1F,0x15,0x1F,0x04,0x16,0x11,0x0E,}
首={0x0A,0x1F,0x04,0x1F,0x11,0x1F,0x11,0x1F,}
长={0x0A,0x0C,0x08,0x1F,0x08,0x0C,0x0A,0x0D,}
水={0x04,0x04,0x1D,0x06,0x0C,0x16,0x05,0x0C,}
平={0x1F,0x04,0x15,0x15,0x04,0x1F,0x04,0x04,}
行={0x08,0x0B,0x10,0x0B,0x19,0x09,0x09,0x0B,}
为= {0x14,0x04,0x1F,0x05,0x09,0x0B,0x09,0x1B,}
功={0x02,0x1E,0x0A,0x0F,0x0B,0x1D,0x05,0x0B,}
先={0x14,0x1E,0x14,0x04,0x1F,0x0A,0x0A,0x1B,}
后={0x01,0x0E,0x08,0x0F,0x08,0x0F,0x0D,0x17,}
击={0x04,0x1F,0x04,0x1F,0x04,0x15,0x15,0x1F,}
白={0x04,0x08,0x1F,0x09,0x0F,0x09,0x09,0x0F,}
毛={0x04,0x18,0x08,0x1E,0x08,0x1E,0x09,0x0F,}
女={0x08,0x0A,0x1F,0x0A,0x12,0x0A,0x04,0x0A,}
凡={0x0E,0x0A,0x0A,0x0E,0x0A,0x0A,0x0A,0x13,}
百={0x1F,0x04,0x08,0x1F,0x09,0x0F,0x09,0x0F,}
头={0x14,0x0C,0x04,0x1F,0x04,0x04,0x0A,0x11,}
手={0x01,0x1F,0x04,0x1F,0x04,0x1F,0x04,0x0C,}
书={0x0A,0x09,0x1E,0x0A,0x1F,0x09,0x09,0x0B,}
店={0x04,0x1F,0x14,0x16,0x14,0x1F,0x19,0x1F,}
甲={0x1F,0x15,0x1F,0x15,0x1F,0x04,0x04,0x04,}
乙={0x1F,0x01,0x02,0x04,0x08,0x10,0x11,0x0E,}
丙={0x1F,0x04,0x04,0x1F,0x15,0x1B,0x11,0x13,}
丁={ 0x1F,0x04,0x04,0x04,0x04,0x04,0x14,0x0C,}
空={0x04,0x1F,0x11,0x0A,0x11,0x0E,0x04,0x1F,}
万={0x1F,0x08,0x08,0x0F,0x09,0x09,0x09,0x13,}
第 2 页
5×8点阵汉字库
众={0x04,0x04,0x0A,0x11,0x0A,0x0A,0x15,0x00,}
创={0x09,0x09,0x15,0x03,0x1F,0x17,0x11,0x0D,}
业={0x0A,0x0A,0x1B,0x1B,0x1B,0x0A,0x0A,0x1F,}
上={0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x1F,}
大={0x04,0x04,0x1F,0x04,0x04,0x0A,0x11,0x11,}
人={0x02,0x02,0x04,0x04,0x04,0x0A,0x0A,0x11,}
孔={0x02,0x1E,0x06,0x0A,0x0E,0x1A,0x0A,0x1B,}
乙={0x1F,0x01,0x02,0x04,0x08,0x10,0x11,0x0E,}
己={0x1F,0x01,0x11,0x1F,0x10,0x10,0x11,0x1F,}
丑={0x1E,0x02,0x0A,0x1

2018年3月18日星期日

DIY 可校准光敏电阻


// 從腳位A0讀取光敏電阻的值。
// 以腳位13控制LED。
void setup(){
  Serial.begin(9600);
  pinMode(A0, INPUT);
  pinMode(13, OUTPUT);

  digitalWrite(13, LOW);
}

int pr_min = 400;

void loop(){
  // 以analogRead()讀取光敏電阻的值,會回傳0~1023之間的值。


  int pr = analogRead(A0);

  // 並且把值輸出到序列埠,請用手遮蔽光敏電阻,看看變化。

  Serial.println(pr);

  // 若大於這個值,熄滅LED,若小於就點亮。
  // 請視需求修改pr_min。
  digitalWrite(13, pr > pr_min ? LOW : HIGH);

  delay(1000);
}

2018年3月3日星期六



Servo myservo;
int pos = 90;   // initial position
int sens1 = A1; // LRD 1 pin
int sens2 = A0; //LDR 2 pin
int tolerance = 2;

void setup()
{
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  pinMode(sens1, INPUT);
  pinMode(sens2, INPUT);
  myservo.write(pos);
  delay(2000); // a 2 seconds delay while we position the solar panel


void loop()
{
  int val1 = analogRead(sens1); // read the value of sensor 1
  int val2 = analogRead(sens2); // read the value of sensor 2

  if((abs(val1 - val2) <= tolerance) || (abs(val2 - val1) <= tolerance)) {
    //do nothing if the difference between values is within the tolerance limit
  } else {   
    if(val1 > val2)
    {
      pos = --pos;
    }
    if(val1 < val2)
    {
      pos = ++pos;
    }
  }

  if(pos > 170) { pos = 170; } // reset to 180 if it goes higher
  if(pos < 0) { pos = 0; } // reset to 0 if it goes lower
 
  myservo.write(pos); // write the position to servo
  delay(50);
}?