愛體驗認證

顯示具有 weng 標籤的文章。 顯示所有文章
顯示具有 weng 標籤的文章。 顯示所有文章

2019年8月7日 星期三

Arduino程式語法參考_TCweng


Arduino 程式參考語法


結構:


  1. if
  2. if...else
  3. for


持續增加中,上一次更新時間 2019.8.8 , 11:33




for - arduino程式語法參考_TCweng

for


for 迴圈通常用來執行一連串的重複動作,且配合一個計數器來判斷何時停止這個迴圈的動作,因齊因其擁有重複執行動作的特性,也常被用來處理陣列的資料

for ( 定義計數器,結束條件,計數器計算 ){
}

for ( int a = 1 , a<500 , a++){
  Serial.println(a);
}


以上程式會在序列埠中依序顯示出1~500的數字,也就是說a小於500時,for迴圈裡的程式就會一直被執行,而且執行一次a就會加一

if...else - arduino程式語法參考_TCweng

if...else


if...else 程式在執行時更細微的區分相對應數值的執行動作,例如當x值大於50時要讓燈泡保持明亮,而低於50時則關閉燈泡,程式可以這樣寫

if (x > 50){
  digitalWrite(13,HIGH);
}
else{
  digitalWrite(13,LOW);
}



甚至近一步區分x值是在25~50的區間要使燈泡閃爍,可以添加else if 程式,來進一步判斷x值的大小

if (x > 50){
  digitalWrite(13,HIGH);  //高於50時,保持燈泡明亮
}
else if (x>25){
  digitalWrite(13,HIGH);  //25~50區間時,讓燈泡閃爍
  delay(1000);
  digitalWrite(13,LOW);
  delay(1000);
}
else{
  digitalWrite(13,LOW);  //低於25,讓燈泡保持關閉
}


回總攬
https://tcweng.blogspot.com/2019/08/arduinotcweng.html

if - arduino程式語法參考_TCweng

if (條件)



if 配合條件,可以用來判斷某一段程式執行的時機,例如要在x值大於100的時候讓13腳位保持高電位,讓燈泡亮起,那程式可以這樣寫

if(x>100){
    digitalWrite(13,HIGH);
  }



而 if 條件式存在新手非常容易犯的錯誤!!!!在 if (條件) 裡,不能出現 if (x=60) 這樣的語法,因為這樣會導致x直接變成60,而不是判斷x是否為60,所以要這樣寫才對

loop() - arduino程式語法參考_TCweng

loop()


在Arduino通電並執行完setup()迴圈裡的程式後,便會換成執行loop()迴圈裡的程式,而且這個迴圈裡的程式便會一直重複執行


範例:

int Pin = 3;

void setup(){
  Serial.begin(9600);
  pinMode(Pin, INPUT);

}

void loop(){
  digitalWrite(Pin,HIGH);
  delay(1000);
  digitalWrite(Pin,LOW);
  delay(1000);

}


以上執行時,3號腳位會間隔一秒執行高電壓和低電壓的交替輸出,如果在3號腳位插上一顆燈泡,也就會是間隔一秒的亮跟暗


回總攬



setup() - arduino程式語法參考_TCweng

setup()


在"setup"迴圈裡,程式只會在Arduino通電時執行一次,因此腳位的定義(輸入,輸出),感應器的初始化設定通常在這裡執行

360度連續旋轉伺服馬達_TCweng


360度連續旋轉伺服馬達(MG 996R)教學


















之前在這篇  伺服馬達(Tower Pro SG90) 教學 https://tcweng.blogspot.com/2019/08/tower-pro-sg90-tcweng.html  中,就有提到如何四步驟記清楚控制伺服馬達控制的技巧,不論是哪一種伺服馬達基本上都是一樣,這次可360度旋轉的伺服馬達也不例外

那為何還要寫這篇文章呢??

因為要進一步地跟大家說明"連續旋轉的伺服機"和"一般限制180度的伺服機"控制上有和些微的不同,如果有自己先用上一篇文章的程式實驗過的讀者就知道,連續旋轉的伺服機會一直旋轉停不下來的問題,甚至某些時候還會反過來轉,那為何會這樣呢?

在同一個程式裡,面對兩種的伺服機,myservo.write(i);  這句話代表著兩種不同的含意,在180度限制的伺服機裡,這句話直接告訴伺服機要轉到哪裡,也就是說你叫他轉到90度,他就轉到90度,而連續旋轉的伺服機就不一樣了,myservo.write(i);  這句話是命令他的速度,所以你在程式裡面要讓他轉到某一個位置時,就不能直接命令他要到哪個角度,而是要給他一個速度和時間,讓他轉到你要的位置


舉個例子:

#include <Servo.h>

Servo myservo; // 建立Servo物件

void setup() 

  myservo.attach(9); // 伺服馬達的訊號線


void loop() {
    myservo.write(60); 
    delay(600);
myservo.write(90); 

}


前面的語法跟普通伺服馬達一模一樣,不一樣的是在loop迴圈裡面,命令他以"60"的速度旋轉0.6秒後停下來的意思


在速度的部分

正轉是0~89之間
反轉是91~180之間
而要讓馬達停下來就是90
當然每個馬達都可以能有誤差
可能要寫到92,93他才會處於暫停的狀態


接線一樣是棕色(黑)接到arduino的GND,紅色接到5V,橘色接到arduino的9號

























下圖兩種馬達長的一模一樣,但有一顆是360度旋轉的,有一顆是180度限制旋轉的,所以在購買的時候要看清楚,才不會買到自己不需要的形式




伺服馬達(Tower Pro SG90) 教學_TCweng


伺服馬達 (Tower Pro SG90) 教學


伺服馬達也可以叫做伺服機,常常用來製作舵機....等等



而關於轉速,扭矩,角度範圍,就得依據不同廠商的商品而定,並不是每一家廠商的伺服機都一模一樣,但大部分的伺服機都似在0~180度的範圍,甚至還有360度旋轉的伺服機


至於怎麼控制伺服機這件事情,就比選擇伺服機還要來的簡單,因為不管是一般180度限制範圍旋轉的伺服機或是可以360度不同旋轉的伺服機,用的語法幾乎一模一樣只有用的時間點的不同


360度旋轉的伺服機可以到這個網址參考:
https://tcweng.blogspot.com/2019/08/360tcweng.html



底下直接給一個程式當作例子:


#include <Servo.h>

Servo myservo; // 建立Servo物件

void setup()
{
myservo.attach(9); // 伺服馬達的訊號線接腳
}

void loop()
{
for(int i = 0; i <= 180; i+=1){
myservo.write(i); // 使用write,告訴伺服機角度,從0度轉到180度
delay(20);
}
for(int i = 180; i >= 0; i-=1){
myservo.write(i);// 使用write,告訴伺服機角度,從180度轉到0度
delay(20);
}
}




上面這個程式是較伺服機從0轉到180度,再從180度反轉回來,如此反覆,而從這個程式裡面我們可以分解出四大部分,每次只要記住這四個步驟,操控伺服機就沒什麼問題了


第一步就是呼叫我們的 函示庫
#include <Servo.h>


第二步是建立一個伺服機物件
Servo myservo;



以上這兩句都必須要在void setup() 之前


第三步定義伺服機接腳,表示伺服機訊號線接到9號的意思
myservo.attach(9);


最後一步就是告訴伺服機要轉到哪裡啦~~
所以這句話放在哪裡都可以,只要在myservo.attach(9);這句話之後就沒問題了


接線的部分



















棕色(黑色)接到arduino的GND
紅色就是arduino的5V(大部分)
而橘色或是其他顏色的線就是我們的訊號線
範例裡面我們接到9號的位置



最後再舉個例子複習一下:

#include <Servo.h>

Servo myservo; // 建立Servo物件

void setup()
{
myservo.attach(9); // 伺服馬達的訊號線接腳
myservo.write(180);// 使用write,告訴伺服機轉到180度
}

void loop() {
delay(2000);//延遲兩秒
myservo.write(0); // 使用write,告訴伺服機轉到0度
}




補充伺服機控制的小知識:

一般伺服機透過訊號線傳送PWM脈波來控制旋轉角度,而這個訊號必須每秒重複50次(50Hz),而訊號持續的長短便代表了伺服機該轉動到什麼位置,假設範圍從1.0ms到2.0ms(millisecond,毫秒,千分之一秒),則中間值是1.5ms;那1.0ms就是角度0度,1.5ms就是90度,2.0ms則是轉到底180度。

使用前也必須先了解伺服機電壓,以及最大旋轉角度...等等,如果超出了範圍,可能導致伺服機的損壞

2019年6月26日 星期三

考機車駕照懶人包-體檢篇


前幾天去體檢的時候,去丟臉了一波…………跟我說體檢跟考照的照片要一樣,我體檢拿了兩張不一樣大小的照片去體檢,就被打槍回來了,而且櫃檯的人還不會處理,害我尷尬了很久阿阿阿……

所以就幫大家整理一下體檢、考照需要準備什麼,還有什麼需要注意的~

1. 首先,每個區域的都有特定的體檢醫院,不是每一家醫院都可以,所以一定要先查好附近的那一家醫院可以再過去,不然會跟我一樣丟臉😅😭

這裡附上一個網站
可以查詢自己地區的體檢醫院
https://tcweng.blogspot.com/2019/06/tcweng.html

還有醫院體檢的時間也要查一下,每個醫院都不太一樣

2. 身份證,健保卡
身份證一定要帶,健保卡因為我沒去過那家醫院,所以那時候他也有跟我要,所以以防萬一,還是都帶著比較好


3. 一吋照片兩張
這邊的兩張照片一定要一樣的,跟考照要交的照片也必須一樣,大小不同其實也行,不過他會問你考照要用那一張什麼的,會有點麻煩,所以還是都帶一樣的會好一點


4. 掛號
我去的醫院有服務櫃臺,跟他說一下要考駕照體檢,他就會拿兩張表給你填,填好之後就可以抽號碼牌掛號了,那天繳了150元,不知道其他醫院是不是都一樣


5. 體檢內容
主要就是檢驗你的視力,單眼左.右兩眼裸視目力達0.5以上.矯正後視力各達0.6以上者.兩眼裸視力達0.6以上.矯正視力達0.8以上
還有兩耳的辨聲能力跟四肢活動靈活等等




2019年5月10日 星期五

5G時代來臨 你了解它了嗎? TCweng_科技大小事004


你知道什麼是5G嗎?
你知道未來是5G的時代嗎?
你知道5G科技就要來了嗎?

現在科技的發展總是比我們想像的還快,還記得不久前電信業者還在廣告說把3G換4G之類的...轉眼間又聽說5G要來了!現在在世界各地,不管是業者還是客戶此話題都討論得沸沸揚揚,許多業者也積極的發展5G技術,希望搶占這塊市場大餅


要了解這項未來的趨勢
首先我們要先了解到5G是什麼
5G是第5代行動通訊技術的意思,其中的"G"有第...代的意思,且有許多人預估5G時代會在2020來臨,甚至有人大膽地提出明年就會在某些國家推出


那5G的特色有什麼特色?
根據目前的實驗及報導,很多5G技術都是採用超高頻率的技術,以目前的手機很多都是在700到3500 MHz左右來說,5G採用的頻率大概是目前手機幾十倍到一兩百倍左右,而且5G速度將會是4G的幾十倍上下,當然這是實驗時的數據,還沒在現實生活中實現之前,這都還有很多的變數,不過相較於4G,5G一定是毫不遜色


5G會改變我們的生活嗎?
想像我們現在擁有一個幾十倍速度的網路,那除了看影片不會卡,我們還可以幹嘛?其實現在科技發展有很多阻礙都是因為網路的速度,如果沒有了這個阻礙,"主機"就可以在短時間內,回傳跟接收更多的訊息,這也就代表著他可以更快的分析眾多的數據


把這項技術放到現在的AR或VR的話,原本因為要處理大量數據而有發展限制的情況,是否就此改變?說不定我們在家就能用VR體驗逛街的樂趣,根本不需要到實體店面,就能看到商品的布料以及質感....等等


再舉一個例子,你能想像你的電腦不需要硬碟就可以存取無限大小的檔案嗎,或許在5G技術推出之後,我們電腦存取檔案的位置就全部都在雲端了,包刮了玩電腦遊戲時,根本不需要下載下來,只需要點一下,安裝在雲端的遊戲軟體就會力馬打開,不會像現在下載一個word檔也需要等待一下


5G技術會發展多快?
面對5G這個新技術的發展,對很多產業都可以算是一大突破,從手機晶片來說,要可以使用5G的技術,勢必要發展新的晶片,而要趕得上5G的發展也是要克服的一大關鍵,如果手機晶片沒有跟上5G的發展,想必5G應用在手機的方面,成本就會大大提升,這也會減緩其發展的速度




你能體會5G的強大了嗎?是不是也跟TC一樣期待5G時代的來臨



參考資料:

BBC 新聞  5G就要來了 你需要知道的都在這裏

聯合新聞網  5G技術到底能做什麼? 將帶給20個產業重大影響





2019年5月9日 星期四

TCweng_各式“開關”大集合 讓你一次了解內部原理 幾刀幾擲怎麼看?

市面上開關百百種,是不是多到讓你摸不著頭緒呢(>﹏<)?什麼時侯該用哪種開關,這個開關又該怎麼用,讓這篇文章一次告訴你~

市面上常看到的開關大致可以分成四種,分別是:


輕觸開關














微動開關














搖頭開關














滑動開關(撥動開關)











在這四種開關裡面,也各有分成幾刀幾擲,簡單來說,一個刀(pole)就是一個輸入點,兩個刀就是兩個輸入點,像上圖撥動(滑動)開關一樣,它是由被動元件組成的兩個刀,至於擲(throh)呢,就是有幾個輸出點,它是由導體組成

舉例一下
一個雙刀雙擲的開關,在兩側的其中一側中接5V的電,另一側接3.3V的電,那在開關打開後,5V那側的另外一孔就會輸出5V,同理另一側就會輸出3.3V




💬💬💬💬💬💬💬💬💬💬
開關小知識:

Q:你知道常開是通路還是斷路嗎?


Ans:

常開(N.O.):
平常是斷路的,只有按下按鈕時才會形成斷路

常閉(N.C.):
平常即時接通的,按下按鈕時,開關會斷開



再舉個例子:

像是以下有雙擲的微動開關,一個接正極VCC,那其他兩個接頭,一個就是N.O.,另外一個就是N.C.也就是說,一個原本就會有電流流出,另外一個則要按下才會形成通路














💬💬💬💬💬💬💬💬💬💬

2019年5月7日 星期二

告訴你奈米銀抗菌 火熱的原因 TCweng_科技大小事002

古代人們就常常用各種銀器來盛裝液體,防止腐敗,而古代真炙用的針也是用銀製成,可見從古代,人們就開始知道銀具有這些功效!



而現今奈米銀的尺寸只有數十奈米,在這種情況下,相較普通的銀,它具有更強的活性與殺菌能力,在各種纖維,布料,顏料或是物體中加入少量的奈米銀便可得到抗菌的能力。

奈米銀抗菌原理:

銀原子是一種極易失去電子的原子,因此加上奈米技術後,表面積加大,就可以讓這個效果更加倍,產生大量的銀離子

而這種銀離子就是抗菌的主要來源,因為這些銀離子可以穿透細菌的細胞膜,和內部的酶蛋白中的硫醇基(-SH)產生鍵結,這樣細菌就無法順利地進行RNA和DNA的複製,也就是說可以有效的抑制細菌的孳生

而且利用這種方式殺菌,細菌並不會產生抗藥性,這也是近期奈米銀殺菌那麼火紅的原因了




那奈米銀可以應用在什麼東西上呢?

在各種布料製品,口罩,內衣,襪子....等等需要抗菌的東西上很多都可以看到它的蹤跡

像是我們使用的奈米銀除臭襪,
在製作襪子之前,要先製作出它的原料(纖維),而這個纖維需要先讓銀箔膜包覆,製得銀纖維,然後再用這些纖維用各種方式製作成我們需要的產品