發表文章

[Arduino] Acquisition of MPU6050 raw data by using Mega2560/使用Mega2560擷取MPU6050原始資料

圖片
This example shows how read the raw data of MPU6050 by using Arduino Mega2560. There are several steps: 1. Download and install MPU6050 library. (refer to:  http://www.i2cdevlib.com/devices/mpu6050#source ) 2. Introduce the source code. 3. Connect MPU6050 to Mega2560. (refer to:  https://fishark.pixnet.net/blog/post/42021475 ) 4. Print raw data (ax, ay, az, gx, gy, gz) to the serial port monitor. 這個範例說明如何使用Mega2560來讀取MPU6050的原始資料。 步驟如下: 1. 下載與安裝MPU6050函式庫。(參考:  http://www.i2cdevlib.com/devices/mpu6050#source ) 2.  程式碼簡介。 3. 連接MPU6050 與Mega2560。 (參考:  https://fishark.pixnet.net/blog/post/42021475 ) 4. 列印原始資料 (x, y, z的加速度與角加速度)到序列埠監控視窗。

[Arduino][FreeRTOS]Use vTaskDelay to implement tasks running in different priorities/使用延時函數實現不同優先順序的任務執行

圖片
This example explain what are tick, tick ISR, task states (Running, Ready, Blocked, and Suspended) and how to use two task delay functions (vTaskDelay and vTaskDelayUntil) to elimanate starving state while two tasks are called with different priorities . 這個範例說明什麼是時脈、時脈中斷服務、任務狀態(執行、就緒、阻塞與掛起),以及如何使用任務延時的函數(相對延時vTaskDelay與 絕對延時vTaskDelayUntil)去消除呼叫兩個不同優先順序的任務時產生的餓死狀態。 Hardware: Arduino Mega2560 Software: VS Code

[FreeRTOS][Arduino]Create FreeRTOS task in Arduino with VS Code/使用VS code在Arduino中創建任務

圖片
  This example shows how to create FreeRTOS task, call scheduler and implement task function in Arduin. 這個範例說明如何在Arduino中創建FreeRTOS的任務、呼叫調度器,以及實現任務函數。 1. Only one task in the running state at any one time, the others are in the not running time. 2. Create two print tasks with the same priority. 3. Create two print tasks with different priorities. Only higher priority task is running. (Staved situation happens.) 1. 在任意的時間點只有一個任務能在執行狀態執行,其他的任務都在非執行狀態。 2. 建立兩個任務,有一樣的優先順序。 3. 建立兩個任務,有不同的優先順序。只有優先順序高的任務會被執行。(會有"餓死"的狀況發生。)

[Arduino] Edit Arduino code to control RGB LED in VS code/使用VS code編輯Arduino程式碼來控制RGB LED

圖片
  This video show the blinking of RGB LED controlled by Mega2560. 本影片展示用Mega2560控制RGB LED閃爍的狀況。 Next video will express how to implement it by editing the Arduino code in the VS Code. 下一個影片將說明如何使用VS Code來編寫Arduino code來實現這樣的控制。 This video shows how to write the Arduino code of RGB LED blinking by using the VS code. 本部影片展示如何使用VS code去編輯控制RGB LED閃爍的Arduino程式碼。 Hardware: Mega2560 硬體: Mega2560 Steps: 1. Use command "Arduino: Initialize" to create .ino file. 2. Modify "c_cpp_properties.json" to add the content of include path and setup other parameters. 3. Modify "arduino.json" to add build file for fast compilaton. 3. Edit code in VS code. 4. Upload code to Mega2560 board. 5. View Blink.ino in Arduino IDE. 步驟: 1. 使用"Arduino: Initialize" 去建立 .ino檔。 2. 修正 "c_cpp_properties.json" 去新增 include path的內容和設置其他參數。 3. 修正"arduino.json" 去新增 build資料夾讓編譯速度加快。 3. 在 VS code中編輯程式碼。 4. 上傳程式碼到Mega2560板中。 5. 在Arduino IDE中察看 Blink.ino檔案。

[Arduino]Install FreeRTOS in Arduino/在Arduino中安裝FreeRTOS

圖片
This video shows how to install FreeRTOS library in Arduino IDE.  這影片說明如何在Arduino IDE中安裝FreeRTOS的程式庫。

[LabVIEW][Arduino] Read/Write data between BLED112 dongle and ESP32/在BLED112適配器和ESP32間讀寫資料

圖片
This example shows how BLED112 dongle receive data from ESP32 development board and then send data back to ESP32 and print data on the COM port monitor. 這個範例說明BLED112 dongle如何從ESP32開發版上收取資料,以及將資料送回ESP32並將資料列印在串列埠監控視窗上。 The next video will show to edit Labview program of BLED112 and Arduino code of ESP32. 下一個影片我們將說明如何轉寫BLED112的LabVIEW程式,以及ESP32的Arduino程式碼。 1. Introduce LabVIEW example code of BLED112 dongle and Arduino code of ESP32 development board. 2. BLE Scan and connection between BLED112 and ESP32. 3. Find Service UUID and Characteristic UUID Rx/Tx of ESP32 in LabVIEW program. Next video will shows how BLED112 dongle reads and write string to ESP32. 1. 簡介BLED112 dongle的LabVIEW程式內容和ESP32開發版的Arduino程式碼。 2. BLED112 and ESP32之間的低功號藍芽掃描與連結。 3. 在LabVIEW程式中找到ESP32的Service UUID和Characteristic UUID Rx/Tx。 下一個影片將說明BLED112 dongle何和讀寫字串到ESP32開發版上。 1. Add while loop in LabVIEW code to read/write data to ESP32 continuously. 2. Convert unit8 value to 3 digits ASCII code in LabVIEW code. 3. Wr...

[AI2][Arduino][ESP32] Classic Bluetooth connection between ESP32 and AI2 App/傳統藍芽傳輸使用ESP32與AI2

圖片
This example demonstrates how to use the classic Bluetooth of ESP32 to read and write data from App created by App Inventor 2. 這個範例說明如何使用經典的藍芽連線方式,在ESP32開發版與App Inventor 2開發出來的 App間進行資料的讀寫。 1. Upload SerialToSerialBT code to ESP32 DevKitc_V4 2. Input string to the serial port monitor to transmit data to App. 3. Input a string to the Write Textbox and tap the Write Button in the App to send data to ESP32 board. 1. 上傳SerialToSerialBT.ino程式碼到ESP32 DevKitc_V4開發版 2. 在Arduino串列埠監控視窗輸入文字,傳送到App中。 3. 在App的 寫入文字方塊中輸入文字,按下寫入的按鈕,將資料傳輸到ESP32開發版上。 In the next video, I will demonstrate how to implement the classic bluetooth app by using App Inventor 2. 下一個影片,我們將展示如何使用App Inventor 2寫一個經典藍芽傳輸的App。 1. Start new project to create designer and blocks windows 開啟新專案建立designer與block視窗 2. Place ListPicker for displaying address and name of bluetooth and Label for showing the result of connection 放置ListPicker顯示藍芽的地址以及名稱,放置Label顯示藍芽連線的結果。 3. Place buttons and texboxes for reading and writing texts 放置讀與寫的按...

[Arduino][VS Code][Voice] Edit Arduino code in the VS code/在VS Code中編輯Arduino程式碼

圖片
This example shows how to install Arduino extension and edit Arduino code in the VS code. 這個範例說明如何在VS Code中安裝Arduino extension以及編輯Arduino程式碼。 1. Install Arduino extension in the VS code. 在VS code中安裝Arduino extension。 2. Set Arduino installation Path. 設定 Arduino的安裝路徑。 3. Ctrl+Shift+P to input command " Arduino: Examples". 使用 Ctrl+Shift+P去輸入"Arduino: Examples"指令。 4. Open Blinky example 打開Blink的範例 5. Select COM port and board type "Mega2560". 選擇COM port, 以及Mega2560開發版。 6. Modify code and upload to Mega2560. 修改程式碼然後上傳到Mega2560上。 We will share more tutorial videos with people who want to learn LabVIEW and Python welcome to subscribe this channel. 未來會陸續更新影片,讓想學習LabVIEW和Python的朋友可以看影片學習,歡迎訂閱此頻道。 其他網址/related websites: https://labview-tech.blogspot.com/ https://fishark.pixnet.net/blog email: jacklee3633@gmail.com Line: lvnet

[Python][Voice]Integrate a plot of matplotlib into tkinter GUI/整合matplotlib的繪圖到 tkinter圖形視窗中

圖片
This example shows how to integrate a plot or figure on matplotlib into the graphic user interface of tkinter. 1. Import tkinter 2. Import matplotlib 3. Import FigureCanvasTkAgg 4. Import Figure 5. Build a window named "win". 6. Window format 1: title() 7. Window format 2: geometry() determine size and initial position(x,y) 8. Window format 3: maxsize() set max size of a window 9. Build a figure with figsize = (Width: inch, Length: inch) and dpi = pixel per inch 10. Add the subplot to the figure. 11. Generate x array 12. Generate y array 13. Use plot() to draw the graph 14. Use FigureCanvasTkAgg(figure,win) to put figure on the win (window) 15. Use get_tk_widget().pack() to place figure on the win (window) 16. Build close_win function to end the window 17. Build Button component and give a string to text, and use command to call the function 18. Use pack to arrange Button on bottom side 19. Use mainloop() to keep window running for monitoring and handling events 這個範例說明如...

[TouchGFX][STM32F4] Use TextArea to display the value changing on the LCD/使用文字區塊將變動的數值顯示在LCD上(一)

圖片
This example shows how to use TextArea to dispaly the increasing value on the LCD of STM32F429I Disc1. 1. Set parameters of the TextArea: Color, Wildcard. 2. Use snprinf() function to display the TextArea buffer on the LCD. 3. Use handleTickEvent() to update the value periodically. 4. Redraw by using TextArea.invalidate(). 這個範例說明如何使用TextArea,將一個遞增的數值顯示在STM32F429I Disc1開發版的LCD上。 1. 設定TextArea的參數,如顏色、Wildcard。 2. 使用snprinf()將 TextArea buffer的資輛顯示在LCD上。 3. 使用handleTickEvent()去更新數值。 4. 使用TextArea.invalidate()去重繪畫面。 We will share more tutorial videos with people who want to learn LabVIEW and Python welcome to subscribe this channel. 未來會陸續更新影片,讓想學習LabVIEW和Python的朋友可以看影片學習,歡迎訂閱此頻道。 其他網址/related websites: https://labview-tech.blogspot.com/ https://fishark.pixnet.net/blog email: jacklee3633@gmail.com Line: lvnet

[TouchGFX] [STM32F4] Use TouchGFX to design GUI on STM32F429I Disc1/使用TouchGFX設計STM32F429I Disc1開發板的圖形介面

圖片
This example shows how to use TouchGFX to design GUI on LCD of STM32F429I Disc1 Board. One progress indicator and two buttons are used in this example. There are two examples of demonstrating interactions of the button to interact with the circleProgress indicator: 1. setValue 2. Call New Virtual Function --> Use VS code to modify code generated by TouchGFX Tab "Run Simulator" to see the effect of the code. Tab "Run Target" to download the code to STM32F429I Disc1 board. 這個範例說明如何使用TouchGFX設計STM32F429I-Disc1 開發板上LCD的圖形介面。 有兩個按鈕與一個circle Progress顯示項被使用在這的範例上, 有兩個範例說明按鈕與circle Progress顯示項的互動: 1. 設定數值 2. 呼叫新的虛擬函數 -->使用VS code去修改TouchGFX產生的程式碼 按下Run Simulator去看看模擬的效果。 按下Run Target去將程式燒錄在STM32F429I Disc1開發版。   We will share more tutorial videos with people who want to learn LabVIEW and Python welcome to subscribe this channel. 未來會陸續更新影片,讓想學習LabVIEW和Python的朋友可以看影片學習,歡迎訂閱此頻道。 其他網址/related websites: https://labview-tech.blogspot.com/ https://fis...

[Python][tkinter]使用Button中的command呼叫函數 Use Button Command Call Function

圖片
This example shows how to use "command" in button to call a function with or without parameters 1. Import tkinter 2. build a window named "win". 3. window format 1: title() 4. window format 2: geometry() determine size and initial position(x,y) 5. window format 3: maxsize() set max size of a window 6. Build Label component and give a string to text 7. Build close_win function to end the window 8. Build add_label_num function to deliver paramters for increasing the text of the label and use lbl.config to change the label status 9. Build Button component and give a string to text, and use command to call the function 10. Build Button component and give a string to text, and use command to call the function with parameters 11. Use pack to arrange Button on bottom side 12. Use pack to arrange Button on left side 13. Use pack to arrange Build Label on right side 14. Use mainloop() to keep window running for monitoring and handling events 這個範例說明如何使用Button...

[Python][tkinter] Build tkinter GUI 使用tkinter建立圖形視窗

圖片
This example shows how to build a GUI by using tkinter. 1. Import tkinter 2. build a window named "win". 3. window format 1: title() 4. window format 2: geometry() determine size and initial position(x,y) 5. window format 3: maxsize() set max size of a window 6. Build Button component and give a string to text 7. Use pack to arrange Button on left side 8. Build Label component and give a string to text 9. Use pack to arrange Build Label on right side 10. use mainloop() to keep window running for monitoring and handling events 這個範例介紹如何使用tkinter建立圖形視窗。 #1. 引入tkinter #2. 建立一個名為win的新視窗 #3. 視窗格式: 標題 Title() #4. 視窗格式: 設定視窗啟動時的大小與位置 geometry("寬x長+x位移+y位移") #5. 視窗格式: 設定視窗最大尺寸 maxsize(int長,int寬) #6. 建立Button元件,按鍵文字 Text = "" #7. Button元件布局 pack(side='left') 靠左 #8. 建立Label元件,按鍵文字 Text = "" #9. Label元件布局 pack(side='right') 靠右 #10. mainloop()在使用者關閉...

[STM32Cube IDE][TouchGFX] Install ToughGFX in STM32Cube IDE/在STM32Cube IDE中安裝ToughGFX

圖片
這範例是說明如何在STM32Cube IDE中安裝ToughGFX 4.13軟體。 This example demostrates how to install ToughGFX 4.13software in STM32Cube IDE 在使用TouchGFX來設計螢幕的人機介面前,我們需要進行下列幾個步驟: 1. 在STM32Cube IDE中的Additional software中安裝TouchGFX 4.13套件 2. 在新專案中的.ioc檔的Additional software編輯TouchGFX的設定 3. 安裝TouchGFX Designer 4.13做人機介面的編輯。 Before using TouchGFX to desigh the graphic user interface, there are three steps we have to do: 1. Install TouchGFX 4.13 package in STM32Cube IDE-->Additional software. 2. Edit the configuration of TouchGFX in .ioc file in the new project. 3. Install TouchGFX Designer 4.13 for the edition of graphic user interface. We will share more tutorial videos with people who want to learn LabVIEW and Python welcome to subscribe this channel. 未來會陸續更新影片,讓想學習LabVIEW和Python的朋友可以看影片學習,歡迎訂閱此頻道。 其他網址/related websites: https://labview-tech.blogspot.com/ https://fishark.pixnet.net/blog email: jacklee3633 @gmail.com Line: lvnet

[STM32Cube IDE][STM32F429-Disco]Blinky LED Example/閃爍的LED範例

圖片
使用STM32Cube IDE在STM32F429-Disco開發板上撰寫程式控制LED閃爍。 This example shows how to use STM32Cube IDE to blink LED on STM32F429-Discovery kit. 1.開啟STM32Cube IDE, 然後新增專案。 2. 指定PG13和14為數位輸出。 3. 產生程式碼。 4. 修改程式並加入一些HAL函數讓LED閃爍。 1. Start STM32Cube IDE, and add Project. 2. Assign PG13 and 14 as digital output. 3. Generate code. 4. Modify code and add some HAL functions for blinking LED. We will share more tutorial videos with people who want to learn LabVIEW and Python welcome to subscribe this channel. 未來會陸續更新影片,讓想學習LabVIEW和Python的朋友可以看影片學習,歡迎訂閱此頻道。 其他網址/related websites: https://labview-tech.blogspot.com/ https://fishark.pixnet.net/blog email: jacklee3633@gmail.com Line: lvnet

[Python][Voice] Write NI DAQ Data to File 儲存NI DAQ的資料到檔案中

圖片
這個範例說明如何將NI DAQ卡擷取的資料寫入檔案中 This example introduce how to write data acquired from NI DAQ card to a file. 這裡有5個步驟: There are five steps: 1. Install nidaqmx package, Python can use this package to read analog signals from NI DAQ card. 2. Use Simulated NI DAQ Device to simulate NI DAQ device. 3. Use matplotlib to plot analog signals from NI DAQ device. 4. Use File open, write and close method to save a file. 5. Use "with open() as file" to save a file. This is a recommendation for file read and write in Python. #1. 安裝nidaqmx套件,使用Pythone讀取NI DAQ類比訊號。 #2. 使用Simulated NI DAQ Device模擬DAQ卡類比訊號。 #3. 使用matplotlib作互動模式顯示DAQ卡的類比資料。 #4. 使用file open, write, close寫入檔案。 #5. 使用with open() as file寫入檔案,自動呼叫close,(建議使用)。 import  nidaqmx import  matplotlib.pyplot  as  plt plt.ion()  i =  0 #file = open('daq_data.txt','a')  #用於追加資料 with   open ( ...

[Python][Voice] Read Analog Signals From NI DAQ Card從NI 資料擷取卡中讀取類比訊號

圖片
This example provides the following three steps for training: 1. Install nidaqmx package, Python can use this package to read analog signals from NI DAQ card. 2. Use Simulated NI DAQ Device to simulate NI DAQ device. 3. Use matplotlib to plot analog signals from NI DAQ device. 這個範例提供以下三個步驟供練習: #1. 安裝nidaqmx套件,使用Pythone讀取NI DAQ類比訊號 #2. 使用Simulated NI DAQ Device模擬DAQ卡類比訊號 #3. 使用matplotlib作互動模式顯示DAQ卡的類比資料 import  nidaqmx import  matplotlib.pyplot  as  plt plt.ion()  i =  0 with  nidaqmx.Task()  as  task:     task.ai_channels.add_ai_voltage_chan( "Dev1/ai0:1" )      while  i <  100 :         aiData = task.read()         plt.scatter(i,aiData[ 0 ], c = "r" )         plt.scatter(i,aiData[ 1 ], ...

[LabVIEW][Voice]First Actor Framework Program-Hello World (一)第一支操作者框架程式Hello World(一)

圖片
This example demonstrates how to build an actor framework project, create actor and message class, and launch actor to call message method. 這的範例展示了如何建立操作者框架專案,建立操作者與訊息類別,以及啟動操作者去呼叫訊息的方法。 The launch.vi uses old approach of Lauch Actor.vi before LabVIEW 2014. The new approach will use Launch Root Actor.vi. 在launch.vi中使用的是LabVIEW 2014年前所使用的Launch Actor.vi. 新的方法為使用Launch Root Actor.vi。 If you want use Launch Root Actor.vi in LabVIEW 2012, you can try the method in the following website:  AF Experiment - Launch Root Actor and Launch Nested Actor 如果想在LabVIEW 2012使用Launch Root Actor.vi ,可以試試下列連結的方法:  AF Experiment - Launch Root Actor and Launch Nested Actor We will share more tutorial videos with people who want to learn LabVIEW and Python welcome to subscribe this channel. 未來會陸續更新影片,讓想學習LabVIEW和Python的朋友可以看影片學習,歡迎訂閱此頻道。 其他網址/related websites: https://labview-tech.blogspot.com/ https://fishark.pixnet.net/blog email: jacklee3633 @gmail.com Line: lvnet

[Micropython][Voice]Download ESP32 micropython firmware by using ESP32 download tool 燒錄韌體到ESP32開發版

圖片
This video shows how to download micropython firmware to ESP32 DevKitC v4 by using ESP32 download tool. 本影片說明如何使用ESP32 download tool將Micropython韌體燒錄在ESP32 DevKitC v4開發版上。 There are two steps: 1. Download Micropython firmware of ESP32 from micropython.org website. 2. Use ESP32 download tool to download Micropython firmware to ESP32 DevKitC v4. 有兩個步驟: 1. 從micropyhon.org下載ESP32的韌體。 2. 使用 ESP32 download tool將Micropython韌體燒錄在ESP32 DevKitC v4開發版。 We will share more tutorial videos with people who want to learn LabVIEW and Python welcome to subscribe this channel. 未來會陸續更新影片,讓想學習LabVIEW和Python的朋友可以看影片學習,歡迎訂閱此頻道。 其他網址/related websites: https://labview-tech.blogspot.com/ https://fishark.pixnet.net/blog email: jacklee3633@gmail.com Line: lvnet

[Micropython][Voice]Erase ESP32 flash by using ESP32 download tool清除ESP32的快閃記憶體

圖片
This video shows how to use ESP32 download tool to erase the flash on ESP32 DevKitC v4. 這支影片說明如何使用ESP32 download tool清除ESP32 DevKitC v4開發版上的快閃記憶體。 I think ESP32 download tool is one of easiest method of erasing the flash of ESP32 development board in Windows. Just press one button and without inputting any command. 我認為 ESP32 download tool 史最容易清除ESP32開發版的方法之一,只要按下一個按鍵,而無須下任何指令。 We will share more tutorial videos with people who want to learn LabVIEW and Python welcome to subscribe this channel. 未來會陸續更新影片,讓想學習LabVIEW和Python的朋友可以看影片學習,歡迎訂閱此頻道。 其他網址/related websites: https://labview-tech.blogspot.com/ https://fishark.pixnet.net/blog email: jacklee3633 @gmail.com Line: lvnet