2020年1月31日 星期五

on led blink off led off

const int sw=3;
const int led=2;
int val;
void setup() {   
  pinMode(sw,INPUT);
  pinMode(led,OUTPUT);
}
void loop() {
  val=digitalRead(sw);
  if(val==HIGH)
  {
      digitalWrite(led,HIGH);
      delay(200);
      digitalWrite(led,LOW);
      delay(200);   
  } 
  else
    digitalWrite(led,LOW);   
}

push button

const int led = 2;
const int sw = 3;
int val;
void setup()
{
  pinMode(sw, INPUT);
  pinMode(led, OUTPUT);
}
void loop()
{
  val = digitalRead(sw);
  if (val == HIGH)//我的板子4*4是提昇電阻
  //我要沒按是0V,有按是5v
    digitalWrite(led, LOW);
  else
    digitalWrite(led, HIGH);
}

方法2:
const int led = 2;
const int sw = 3;
int val;
void setup()
{
  pinMode(sw, INPUT);
  pinMode(led, OUTPUT);
}
void loop()
{
  val = digitalRead(sw);
  if (val == LOW)//我的板子4*4是提昇電阻
  //我要沒按是0V,有按是5v
    digitalWrite(led, HIGH);
  else
    digitalWrite(led, LOW);
}

方法3:
const int led = 2;
const int sw = 3;
int val;
void setup()
{
  pinMode(sw, INPUT);
  pinMode(led, OUTPUT);
}
void loop()
{
  val = digitalRead(sw);
  if (val != LOW)//我的板子4*4是提昇電阻,不等於
    //我要沒按是0V,有按是5v
    digitalWrite(led, LOW);
  else
    digitalWrite(led, HIGH);
}

arduino 顯示0~9

int seg7[] = { 2, 3, 4, 5, 6, 7, 8};
int table[] = { 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
int i, j;
int delaytime = 500;

void setup()
{
  // put your setup code here, to run once:
  for (i = 0; i < 7; i++)
  {
    pinMode(seg7[i], OUTPUT);
  }
}

void loop()
{
  // put your main code here, to run repeatedly:
  for (i = 0; i < 10; i++)
  {
    out(~table[i]); delay(delaytime);//我的板子是共陰極+npn電晶體
  }
}
void out(byte data)
{
  for (j = 0; j < 7; j++)
  {
    if (data % 2 == 1)
      digitalWrite(seg7[j], HIGH);//共陰極,1亮
    else
      digitalWrite(seg7[j], LOW);
    data = data / 2;
  }
}

2020年1月30日 星期四

電位器控制led閃爍

const int led=2;
int val;
float volts;
void setup()
{
  pinMode(led,OUTPUT);
  digitalWrite(led,HIGH);
}
void loop()
{
  val=analogRead(0);
  val=map(val,0,1023,0,255);
  digitalWrite(led,HIGH);
  delay(val);
  digitalWrite(led,LOW);
  delay(val);

數位電壓表

const int led[]={2,3,4,5,6,7,8,9,10,11};
int i;
int val;
void setup()
{
  for(i=0;i<10;i++)
  {
    pinMode(led[i],OUTPUT);
  }
}
void loop()
{
  val=analogRead(0);
  val=map(val,0,1023,0,9);
  for(i=0;i<=val;i++)
  {
    digitalWrite(led[i],HIGH);
  }
  for(i=val+1;i<10;i++)
  {
    digitalWrite(led[i],LOW);
  }
}

https://www.colorspire.com/rgb-color-wheel/

https://www.colorspire.com/rgb-color-wheel/

雨滴燈實習

const int led[] ={3,5,6,9,10,11};
int i;
int j;
const int rain[12][6]=
  {{250,  0,  0,  0,  0,  0},   
   {200,250,  0,  0,  0,  0},
   {150,200,250,  0,  0,  0},
   {100,150,200,250,  0,  0},
   { 50,100,150,200,250,  0},
   {  0, 50,100,150,200,250},
   {  0,  0, 50,100,150,200},
   {  0,  0, 50,100,150,200},
   {  0,  0,  0, 50,100,150},
   {  0,  0,  0,  0, 50,100},
   {  0,  0,  0,  0,  0, 50},
   {  0,  0,  0,  0,  0,  0}};
void setup()
{
}
void loop()
{
    for(i=0;i<13;i++)
    {
      for(j=0;j<6;j++)
        analogWrite(led[j],rain[i][j]);
      delay(100); 
    }
}

例2
const int led[] ={3,5,6,9,10,11};
int i;
int j;
const int rain[19][6]=
  {{250,  0,  0,  0,  0,  0},     
   {200,250,  0,  0,  0,  0},
   {150,200,250,  0,  0,  0},
   {100,150,200,250,  0,  0},
   { 50,100,150,200,250,  0},
   {  0, 50,100,150,200,250},
   {  0,  0, 50,100,150,200},
   {  0,  0, 50,100,150,200},
   {  0,  0,  0, 50,100,150},
   {  0,  0,  0,  0, 50,100},
   {  0,  0,  0,  0,  0, 50},
   {  0,  0,  0,  0,  0,  0},
   {0,0,0,0,0,255},
   {0,0,0,0,200,255},
   {0,0,0,0,200,255},
   {0,0,0,150,200,255},
   {0,0,100,150,200,255},
   {0,50,100,150,200,255},
   {0,0,0,0,0,255},

   };
void setup() 
{
}
void loop() 
{
    for(i=0;i<19;i++)
    {
      for(j=0;j<6;j++)
        analogWrite(led[j],rain[i][j]); 
      delay(100);   
    }
}

pwm 來回

const int led[] = {3, 5, 6, 9, 10, 11};
int x = 0;
int change = 0;
int delaytime = 1;
void setup()
{
  // put your setup code here, to run once:
  for (int i = 0; i < 6; i++)
  {
    pinMode(led[i], OUTPUT);
  }
}
void loop()
{
  // put your main code here, to run repeatedly:
  if (change == 0)
  {
    for (int i = 0; i < 256; i++)
    {
      analogWrite(led[x], i); delay(delaytime);
    }
    for (int i = 254; i >= 0; i--)//led真的關掉,才不會有微亮
    {
      analogWrite(led[x], i); delay(delaytime);
    }
    x++;
    if (x == 6)
    {
      x = 4;//......回來要從第5顆回來
      change=1;
    }
  }
  else if(change==1)
  {
    for (int i = 0; i < 256; i++)
    {
      analogWrite(led[x], i); delay(delaytime);
    }
    for (int i = 254; i >= 0; i--)//led真的關掉,才不會有微亮
    {
      analogWrite(led[x], i); delay(delaytime);
    }
    x--;
    if (x == 0)
    {
      x = 0;
      change=0;
    }
  }
}

pwm

const int led = 3;
void setup()
{
  // put your setup code here, to run once:
  pinMode(led,OUTPUT);
}

void loop()
{
  // put your main code here, to run repeatedly:
 analogWrite(led,255);delay(1000);
 analogWrite(led,128);delay(1000);
 analogWrite(led,64);delay(1000);
 analogWrite(led,32);delay(1000);
 analogWrite(led,16);delay(1000);
 analogWrite(led,8);delay(1000);
 analogWrite(led,4);delay(1000);
}

例2:
const int led = 3;
void setup()
{
  // put your setup code here, to run once:
  pinMode(led,OUTPUT);
}

void loop()
{
  // put your main code here, to run repeatedly:
  for(int i=0;i<256;i++)
  {
    analogWrite(led,i);delay(15);
  }
  for(int i=254;i>0;i--)
  {
    analogWrite(led,i);delay(15);
  }
}

例3
const int led1 = 9;
const int led2 = 10;
int x = 0;
void setup()
{
  // put your setup code here, to run once:
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
}

void loop()
{
  // put your main code here, to run repeatedly:
  if (x == 0)
  {
    for (int i = 0; i < 256; i++)
    {
      analogWrite(led1, i); delay(15);
    }
    for (int i = 254; i >= 0; i--)//led真的關掉,才不會有微亮
    {
      analogWrite(led1, i); delay(15);
    }
    x=1;
  }
  else if(x==1)
  {
    for (int i = 0; i < 256; i++)
    {
      analogWrite(led2, i); delay(15);
    }
    for (int i = 254; i >= 0; i--)
    {
      analogWrite(led2, i); delay(15);
    }
    x=0;
  }
}

例4: pili燈+呼吸燈
const int led[] ={3,5,6,9,10,11};
int x=0;
int delaytime=5;
void setup()
{
  // put your setup code here, to run once:
  for(int i=0;i<6;i++)
  {
   pinMode(led[i], OUTPUT);
  }
}
void loop()
{
  // put your main code here, to run repeatedly:
    for (int i = 0; i < 256; i++)
    {
      analogWrite(led[x], i); delay(delaytime);
    }
    for (int i = 254; i >= 0; i--)//led真的關掉,才不會有微亮
    {
      analogWrite(led[x], i); delay(delaytime);
    }
    x++;
    if (x== 6)x=0;
}

100000 110000 111000 111100 111110 111111亮

const int led[]={2,3,4,5,6,7};
int i;
int j;
int k;
const int ledmap[6][6]=
{  {1,0,0,0,0,0},
   {1,1,0,0,0,0},
   {1,1,1,0,0,0},
   {1,1,1,1,0,0},
   {1,1,1,1,1,0},
   {1,1,1,1,1,1}
   }; 
void setup()
{   
  for(i=0;i<6;i++)
    pinMode(led[i],OUTPUT);
}
void loop()
{
  for(i=0;i<6;i++)
  {   
    for(j=0;j<6;j++)
    {
      if(ledmap[i][j]==1)
      {
        digitalWrite(led[j],HIGH);
      }
      delay(100);      //不加六個燈會一直亮
    }
  }
  delay(1000);//停個1秒,再把led全部歸零
  for(k=0;k<6;k++)
     digitalWrite(led[k],LOW); 
}

Servo

#include <Servo.h>
Servo myservo;
int angle;
void setup()
{
  myservo.attach(9);
}
void loop()
{
  for(angle=0;angle<=180;angle++)
  {
    myservo.write(angle);delay(10);
  }
  for(angle=180;angle>=0;angle--)
  {
    myservo.write(angle);delay(10);
  }
}

pili led來回跑






































const int led[]={2,3,4,5,6,7};//一維陣列,const不可更改led[0]內容值
int i,j;
void setup()
{
  // put your setup code here, to run once:
 for(i=0;i<6;i++)
 {
  pinMode(led[i],OUTPUT);
 }
}

void loop()
{
  // put your main code here, to run repeatedly:
 for(j=0;j<6;j++)
 {
  digitalWrite(led[j],HIGH);delay(100);
  digitalWrite(led[j],LOW);
 }
 for(j=4;j>0;j--)
 {
  digitalWrite(led[j],HIGH);delay(100);
  digitalWrite(led[j],LOW);
 }
}

方法二:
const int led[]={2,3,4,5,6,7};
int i;
int j=0;
int way=0;
void setup()
{
 for(i=0;i<6;i++)
 {
  pinMode(led[i],OUTPUT);
 }
}

void loop()
{
  for(i=0;i<6;i++)
  {
    digitalWrite(led[i],LOW);
  }
 
  digitalWrite(led[j],HIGH);delay(500);
  if(way==0)
  {
    j++;
    if(j==5)way=1;
  }
  else
  {
    j--;
    if(j==0)way=0;
  }
}

2020年1月29日 星期三

https://lidemy.com/courses/js101-javascript/lectures/5901723 javascript課程

https://lidemy.com/courses/js101-javascript/lectures/5901723

#define




#define PI 3.14159
#define area(x) PI*x*x
void setup()
{
  // put your setup code here, to run once:
 Serial.begin(9600);
}

void loop()
{
  // put your main code here, to run repeatedly:
  float result=area(2);
  Serial.println(result);
}

陣列傳引數






































void setup()
{
  // put your setup code here, to run once:
 Serial.begin(9600);
}
int sum(int a[],int size)
{
  int i;
  int result=0;
  for(i=0;i<size;i++)
    result=result+a[i];
  return result;
}
void loop()
{
  // put your main code here, to run repeatedly:
  int result;
  int a[5]={1,2,3,4,5};
  int size=5;
  result = sum(a,size);
  Serial.println(result);
}

二維陣列



































#include <stdio.h>
int main()
{
int v[3][3]={{1,2,3},
       {4,5,6},
       {7,8,9}};
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d",v[i][j]);
}
printf("\n");
}
return 0;
}

2020年1月28日 星期二

function































#include <stdio.h>
int area(int x,int y)
{
int s;
s=x*y;
return s;
}
int main()
{
  int x,y;
  int sum;
  x=9;y=9;
  sum = area(x,y);
  printf("sum=%d\n",sum);
  return 0;
}

switch case






































#include <stdio.h>
int main()
{
int score;
int value;
scanf("%d",&score);
value = score/10;
switch(value)
{
case 10:
printf("grade='A'\n");
break;
case 9:
printf("grade='A'\n");
break;
    case 8:
printf("grade='B'\n");
break;
    case 7:
printf("grade='C'\n");
break;
    case 6:
printf("grade='D'\n");
break;
    default:
printf("grade='E'\n");
break;

}

}

for





























#include <stdio.h>
int main()
{
  int cnt;
  int sum=0;
  for(cnt=1;cnt<=10;cnt++)
  {
  sum = sum + cnt;
  }
  printf("%d\n",sum);
}

if else



#include <stdio.h>
int main()
{
  int num1,num2;
  char op;
  float ans;
  scanf("%d %c %d", &num1 ,&op ,&num2);
  if(op == '+')
  {
  ans = num1 + num2;
  }
  else if(op == '-')
  {
  ans = num1 - num2;
  }
  else if(op == '*')
  {
  ans = num1 * num2;
  }
  else if(op == '/')
  {
  ans = (float)num1 / num2;
  }
  printf("ans: %f\n",ans);
return 0;
}

---------------------------------------------------------------------------------------------------------------------





































#include <stdio.h>
int main()
{
int score;
char grade;
scanf("%d",&score);
if(score>=90 && score<=100)
{
printf("grade = A\n");
}
else if(score>=80 && score<90)
{
printf("grade = B\n");
}
else if(score>=70 && score<80)
{
printf("grade = C\n");
}
else if(score>=60 && score<70)
{
printf("grade = D\n");
}
else
{
printf("grade = E\n");
}
}

while猜錯繼續做(成立),不成立才結束

#include <stdio.h>
int main()
{
int ans = 4;
int guess;
printf("Please enter your guess:");
scanf("%d",&guess);
while(guess != ans)
{
if(guess>ans)
{
printf("Too large!\n");
}
else
{
printf("Too small!\n");
}
printf("Please enter your guess:");
scanf("%d",&guess);
}
printf("Correct!\n");
return 0;
}

---------------------------------------------------------------------








































#include <stdio.h>
int main()
{
int ans = 4;
int guess;
do
{
printf("Please enter your guess:");
         scanf("%d",&guess);
if(guess>ans)
{
printf("Too large!\n");
}
else if(guess<ans)
{
printf("Too small!\n");
}
else
{
printf("Correct!\n");
}
}
while(guess != ans) ;//猜錯繼續做(成立),不成立才結束
return 0;
}

2020年1月13日 星期一

beep 3 times

#include <at89x52.h>
sbit bz = P3^1;
void delay_500us(int k)
{
 int i,j;
 for(i=0;i<k;i++)
  for(j=0;j<60;j++)
        ;
}
void pulse_bz()
{
 int i;
 for(i=0;i<100;i++)//T=1ms run 100 times
 {
  bz=0;delay_500us(1);
  bz=1;delay_500us(1);
 }
}
main()
{
 pulse_bz(); delay_500us(500);
 pulse_bz(); delay_500us(500);
 pulse_bz(); delay_500us(500);
 while(1);
}

2020年1月9日 星期四

https://www.beauty321.com/post/16494

IG電腦版也能傳訊息聊天(小盒子)、下載圖片!3款IG網頁版免費功能教學,在電腦更方便使用

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...