發表文章

目前顯示的是 8月, 2025的文章

陣列 (C++)

圖片
C++ Arrays  陣列 (array) 是用來儲存相同資料型態元素的集合,陣列中所有元素會使用記憶體中連續的空間來儲存,且陣列必須明確定義其大小,執行期間不能更改。  一維陣列 (One Dimensional Arrays) 一維陣列可視為一組線性系列元素。假設有一組整數資料:10 、20、30 、40 以及 50 存入一名為 A 的陣列,其對應的索引值、位址以及元素名稱如圖一所示。在此,每一整數佔記憶體空間為 4 個位元組 (Bytes),且 C/C++ 語言中陣列的起始索引值為 0。此ㄧ維陣列元素 A[0] 的位址,被稱為 基底位址 (base address)。

分壓偏壓 BJT 放大電路的直流分析及其近似解的條件

圖片
  DC Analysis of a Voltage Divider BJT Bias Circuit and Its Conditions of Approximate Method  如圖一所示為一 分壓偏壓 BJT 放大電路  (Voltage Divider BJT Bias Circuit),下面我們將分別介紹如何以精確分析法以及近似解方法來進行該類型放大電路的直流分析,同時也會說明使用近似解的先決條件為何。 圖一     分壓偏壓 BJT 放大電路 精確分析法 (Exact Method) 要作直流分析,如圖二所示得先將圖一的 分壓偏壓 BJT 放大電路中 電晶體基極左側部分,進行 戴維寧等效電路 ( Thévenin Equivalent Network) 的轉換,以方便分析。

Arduino:抽獎器

圖片
Electronic Raffle Machine Arduino 開發板:Uno 程式撰寫語言:C 功能 電源打開,四位數七段顯示器如圖一所示,顯示「 ---- 」。按鈕按下後, 四位數七段顯示器的每一位數會快速地各自從一隨機數值開始持續遞加一顯示,如圖二所示。一段時間後,千位數的數字先停止 遞加一,該位數顯示數字不動,其餘位數則仍繼續 快速地 持續 遞加一顯示 ,如圖三所示 。再 一段時間後,百位數 的數字也停止 遞加一 ,該位數 顯示數字不動,而其餘位數則仍繼續 快速地 持續 遞加一顯示 ,如圖四所示 。又 再 一段時間後,十位數 的數字也停止 遞加一 ,該位數 顯示數字不動,剩下的個位數則仍繼續 快速地 持續 遞加一顯示 ,如圖五所示 。接著再過一段時間, 個位數 的數字也停止 遞加一 ,該位數 顯示數字不動 ,如圖六所示 。 最終,抽獎抽到的號碼其所有位數就靜止 顯示在顯示器上。 圖一    四位數七段顯示器一開始顯示「----」

Arduino:可指定範圍亂數號碼產生器

圖片
 Arduino 開發板:Uno 程式撰寫語言:C 功能 在數字 0~999 範圍內,設定好欲選取亂數的號碼範圍 (範圍至多可涵蓋 500 個連續數字) 後,最多可連續選取 500 個不同的亂數號碼顯示。 電源打開後,四位數七段顯示器顯示「     0 」,如圖一所示。 按鍵 1  ( 最小號碼設定鍵 ) 初次按下,如圖二所示顯示器閃爍顯示「 L  0 」,表示可以開始調整可選取的亂數最小號碼。短按該按鍵後放開,號碼會逐次遞加一並閃爍顯示;長按按鍵不放,號碼快速連續遞加一閃爍顯示。調整亂數最小號碼完成後,按下 按鍵 3  ( 設定鍵 ),亂數最小號碼就會完成設定,顯示器會靜態顯示「 L  X 」(X 為能選取亂數最小號碼的最終設定值)。 按鍵 2  ( 最大號碼設定鍵 ) 初次按下,如圖三所示顯示器閃爍顯示「 H  Y 」,表示可以開始調整亂數最大號碼 (Y為能選取的最小亂數號碼設定值再加一)。短按按鍵後放開,號碼逐次遞加一閃爍顯示;長按按鍵不放,號碼快速連續遞加一閃爍顯示。調整亂數最大號碼完成後,按下按鍵 3 ( 設定鍵 ),亂數最大號碼就會完成設定,顯示器靜態顯示「 H  Y 」(Y 為能選取亂數最小號碼的最終設定值)。 按鍵 4  ( 亂數號碼選擇鍵 ) 每按下一次,如圖四所示顯示器會顯示指定範圍內不重複的亂數號碼。 若已無不重複的亂數可選時,顯示器如圖五所示會顯示「 End  」。

Arduino:四位數七段顯示器顯示按鈕按下的計數值

圖片
 Arduino 開發板:UNO 程式碼撰寫語言:C 功能 電源打開的初始狀態,四位數七段顯示器僅一位數顯示,顯示 0。 當按鈕 1 (SW1) 每按下一次,計數值從 0 開始逐次遞加一,並顯示於七段顯示器上。且若計數值為一位數,則四位數七段顯示器只顯示一位數數值;若計數值為二位數,則四位數七段顯示器只顯示二位數數值,…。例如計數值為 12,顯示器不會顯示 0012,只會顯示12。 當按鈕 2 (SW2,Reset 鍵) 每次按下,計數值就會被重新歸零。

Arduino:電子輪盤

圖片
Electronic Roulette Arduino 控制板:Uno 程式碼編寫語言:C 語言 功能 按鈕按下不放,八顆 LED 會快速地以跑馬燈方式依序循環單顆點亮,形成單一亮點快速的循環移動。且每一顆 LED 點亮時,會伴隨「答」的一聲聲響;按鈕一旦鬆開,LED 仍會因先前按鈕按下時持續加速累積的動能,繼續以跑馬燈方式依序循環點亮,但是亮點移動速度會阻力的存在而慢慢變慢,亮點最終會停止移動並停留於隨機位置的 LED 上。 電路接線 硬體電路接線如圖一所示,八顆 LED 的陽極皆接至 $+5V$,陰極分別透過八顆 $220$ $ \Omega$ 電阻接至 Uno 的 pin 9,pin 8,pin 7,pin 6,pin 5,pin 4,pin 3 以及 pin 2。

Arduino:控制多顆 LED 依序漸亮與漸熄且循環不已

圖片
  Arduino 控制板:Uno 程式碼編寫語言:C 語言 功能 六顆 LED 依序輪流單顆漸亮後漸熄,如此循環不已。 電路接線圖