PHP код:
int ledPin = 9;
int sens = 0;
unsigned char i=0;
unsigned long time;
unsigned long oldtime;
unsigned int sensvals[]={0,10,20,30,40,50,60,80,1023};
unsigned char lightvals[]={10,50,100,150,180,210,230,255};
unsigned char target=0;
unsigned char oldtarget=0;
unsigned char currval=0;
boolean flag=false;
void setup()
{
pinMode(ledPin, OUTPUT);
//Serial.begin(57600);
}
void loop()
{
time = millis();
sens = analogRead(0);
for(i=0;i<sizeof(sensvals)-2;i++)
{
if(sens>sensvals[i] && sens<=sensvals[i+1])
{
target=lightvals[i];
break;
}
}
if(flag)
{
if(currval!=target)
{
if(currval<=target)
{
currval=currval++;
analogWrite(ledPin,currval);
}
else
{
currval=currval--;
analogWrite(ledPin,currval);
}
delay(10);
}
else flag=false;
}
if(target!=oldtarget)
{
if(time-oldtime>3000)
{
oldtime=time;
oldtarget=target;
flag=true;
}
}
else
{
oldtime=time;
}
/*
Serial.print(target, DEC);
Serial.print(" ");
delay(100);
*/
}