若要顯示3,則讓abgcd,五支腳位通電
=> 把全部腳位接線,以2~10接上控制線,再以function形式呈現1234567890
=> 接好控制線後,不做任何控制(HIGH or LOW),預設是全亮,所以會顯示8
– 為什麼當我們 digitalWrite(a, HIGH) 時,a卻是暗掉的呢?
=>
七段顯示器有共陽or共陰兩種,
開箱/使用心得/技術文章
若要顯示3,則讓abgcd,五支腳位通電
=> 把全部腳位接線,以2~10接上控制線,再以function形式呈現1234567890
=> 接好控制線後,不做任何控制(HIGH or LOW),預設是全亮,所以會顯示8
– 為什麼當我們 digitalWrite(a, HIGH) 時,a卻是暗掉的呢?
=>
七段顯示器有共陽or共陰兩種,
int buzz= 13;
int low[]= {0, 1908, 1701, 1515, 1433, 1276, 1136, 1012};
int middle[]= {0, }
int high[]= {0, }
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(buzz, OUTPUT);
}
void play(int tone, unsigned long howlong){
unsigned long time= millis();
while(millis() – time < howlong){
digitalWrite(buzz, HIGH);
delayMicroseconds(low[tone]);
digitalWrite(buzz, LOW);
delayMicroseconds(low[tone]);
}
delay(10);
};
void play_little_apple(){
play(1, 250);
play(1, 250);
play(5, 250);
play(5, 250);
play(6, 250);
play(6, 250);
play(5, 250);
play(4, 250);
play(4, 250);
play(3, 250);
play(3, 250);
play(2, 250);
play(2, 250);
play(1, 250);
}
void loop() {
// put your main code here, to run repeatedly:
play_little_apple();
}
excel 算音階對應到的頻率
=ROUND(1/E2/2*1000000,0)
1. 以arduino實做一個打地鼠小遊戲,Serial序列顯示分數(可用七段顯示器或LCD替換顯示分數方式),每3秒隨機一個LED發亮,玩家需要在三秒內按到該發亮LED對應的按鈕才算得分,成功得一分,失敗則扣一分。
2. 電路圖:
3. 程式碼:
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led1 = 2;
int led2= 3;
int led3= 4;
int led4= 5;
int led5= 6;
int button1 = 8;
int button2 = 9;
int button3 = 10;
int button4 = 11;
int button5 = 12;
static int score=0;
int keyValue=0;
// the setup routine runs once when you press reset:
void setup() {
Serial.begin(9600);
// initialize the digital pin as an output.
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4 ,OUTPUT);
pinMode(led5 ,OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
pinMode(button4, INPUT);
pinMode(button5, INPUT);
initial();
}
void initial(){
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
Serial.println(“—–Welcome to Whack-a-mole Game!—–“);
}
// the loop routine runs over and over again forever:
void loop() {
int a = random(2,7); //隨機選取五個LED之一發亮
digitalWrite(a, HIGH);
unsigned long time = millis();
while( millis()-time < 3000){ // 三秒換一次LED發亮
keyValue= digitalRead(a+6);
if(keyValue){
break;
}
//Serial.println(keyValue);
delay(10);
}
if(keyValue){
score++;
}else{
score–;
}
digitalWrite(a, LOW);
Serial.print(“Score: “);
Serial.println(score);
}
參考:
1. Autodesk circuit: (提供接線、coding模擬,功能完整,使用上方便,不會有爆炸危險XD)
https://circuits.io/circuits/
nslookup: 查DNS,也就是說可以把網址丟進去查IP => 替代指令: dig
1. nslookup [OPTIONs] HOST [SERVER]-debug
-d2
-port=VALUE
-type=VALUE
A: IPv4
AAAA: IPv6
A+AAAA: 同時IPv4 + IPv6
NS: 查Name Server(當然HOST也要填入name server)
PTR: 查HOST對應到的domain name, 也就是IP轉出URL
CNAME: 查HOST的別名
ps. 某些URL會對應多組IP,所以建議先查出IP
dig: 查DNS
2. dig [@SERVER] {Q_OPTIONs} {D-OPTIONs} HOST
8. 環境變數?自訂變數?
– 自訂變數只能在當個process使用
ex. 我在終端機裡面設定
=> variable=”hello”
=> echo $variable
會跑出 hello
但是開了別的終端機時,echo $variable,就沒東西囉
ps. 即使在同一個終端機下,終端機的child process也讀取不到$variable
=> 利用export variable
能夠使同一個終端機下的child process也能使用$variable
但開啟別的終端機,還是無法使用$variable
有關環境變數問題集:
1. 到底有哪些變數是環境變數?
2. 自訂變數export後就是環境變數了嗎?
3. 如何讓自訂變數能夠永久存在?
4. PS1是環境變數嗎?
9.
在system call之外的應用程式,都是shell(廣義)
2. 什麼是bash?
常聽到的 Bourne SHell (sh) 、在 Sun 裡頭預設的 C SHell、 商業上常用的 K SHell、, 還有 TCSH 等等,每一種 Shell 都各有其特點
-> Bourne Again SHell (簡稱 bash)
3. 為什麼要用bash?
優點:
1) 能查詢history(之前在資工系用的工作站就不支援查詢,每次指令都要重打,超煩XD)
=> less ~/.bash_history
裡面有之前輸入過的指令(被駭客取得root權限後,查看裡面就可能得知某某伺服器帳密)
2) tab補足指令或檔案名稱(完全是福音,使用沒有tab補足功能的shell會死掉哈哈)
tab按一下:補足指令或檔名
tab按兩下:顯示接下來有哪些選項是符合的
3) alias指令別名(可以把常使用的指令設成更簡單好懂好打的方式)
=> alias lm = ‘ls -al’
4) job control, background, foreground
5) shell script 程式化腳本(批次檔的感覺,把一連串的連續指令寫成script,之後只要執行script就不用一行一行keyin)
6) wildcard 萬用字元
4. 查詢某指令是否為bash shell內建命令
-> type [-tpa] command
ex. type -t ls
顯示file -> 外部命令
顯示alias -> 別名
顯示builtin -> 內建命令
-p: 若command為外部命令時,會顯示完整檔案路徑
-a: 把$PATH中,含有command的指令都列出來
ex. type -a pwd
ps. which指令,也有類似的功能哦
5. $PATH 環境變數在幹麻的?
=> 當我們在終端機輸入指令後,shell會到$PATH中的資料夾中尋找相對應的指令,若找不到指令就執行不了。
6. 如何改變命令提示字元的預設顯示呢?
herongsendeMacBook-Air:~ RongSonHo$
改變PS1這個環境變數
我的PS1長這樣:
7. 如何永久改變PS1?
=> cd ~
=> ls -a
=> vim .bash_profile
=>
參考:
1. 鳥哥:
http://linux.vbird.org/linux_basic/0320bash.php#ps2
1. single (direction) linked list:
– linkedlist.c:
1. 打開terminal:
2.
git init
3.
git add README.md
4.
git commit -m "first commit"
5.
git remote add origin https://github.com/shrimp509/test.git
6.
git push -u origin master
參考:
1.Git教學(1): Git的基本使用:
http://blog.gogojimmy.net/2012/01/17/how-to-use-git-1-git-basic/
apt/ apt-get/ brew/ homebrew/ yum/ wget/ dpkg/ rpm/ curl 該怎麼選擇? 怎麼知道哪個能用,要一個一個試嗎?
參考:
1. 讓mac也能擁有apt-get:
http://fanli7.net/a/fuwuqiruanjian/Tomcat/20101005/48696.html