2017年11月4日 星期六
NodeMCU I2C 1602LCD問題 設定 LCD I2C 位址 Address 將0X27換成0X3F
LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // 設定 LCD I2C 位址
// LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // 設定 LCD I2C 位址
//好像是LCD模組的接腳位址的問題LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// 設定 LCD I2C 位址 將0X27換成0X3F
#include <Wire.h> // Arduino IDE 內建
// LCD I2C Library:Arduino-LiquidCrystal-I2C-library-master.zip
// Set the pins on the I2C chip used for LCD connections:
// addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // 設定 LCD I2C 位址
// LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // 設定 LCD I2C 位址
//好像是LCD模組的接腳位址的問題LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// 設定 LCD I2C 位址 將0X27換成0X3F
void setup() {
Serial.begin(115200); // 用於手動輸入文字
lcd.begin(16,2); // 初始化 LCD,一行 16 的字元,共 2 行,預設開啟背光
// 閃爍三次
for(int i = 0; i < 3; i++) {
lcd.backlight(); // 開啟背光
delay(250);
lcd.noBacklight(); // 關閉背光
delay(250);
}
lcd.backlight();
// 輸出初始化文字
lcd.setCursor(0, 0); // 設定游標位置在第一行行首
lcd.print("Hello, world!");
delay(1000);
lcd.setCursor(0, 1); // 設定游標位置在第二行行首
lcd.print("GTWang.org");
delay(8000);
// 告知使用者可以開始手動輸入訊息
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Use Serial Mon");
lcd.setCursor(0, 1);
lcd.print("Type to display");
}
void loop() {
// 當使用者手動輸入訊息
if (Serial.available()) {
// 等待一小段時間,確認資料都接收下來了
delay(100);
// 清除舊訊息
lcd.clear();
// 讀取新訊息
while (Serial.available() > 0) {
// 將訊息顯示在 LCD 上
lcd.write(Serial.read());
}
}
}
2017年11月2日 星期四
[ VB2010 ] - 開發工具簡介
[ VB2010 ] - 開發工具簡介
SVBR 張啟民(ChiMin Chang/小瓜瓜 @ 2011/04/02) ... [回VB基礎語法索引]
●底下是VB6運作的簡圖,VB6開發出的應用必需與VBA及VB6內建的物件綁在一起,透過ActiveX與外部的物件做連結。

●從VB2010運作的簡圖,由VB6使用Active X對外,變成透過.Net Framework對外,並且不直接存取 Windows 資源。

●第一次由VB6轉到VB2010時,看到工具箱會讓人嚇一跳,VB6原有的控制項已不在,取而代之的是用法不同的 .Net Component,而且與VB6相比,要稍微花一點時間來瞭解這些控制項的成員,雖然控制項多了很多但有很多比VB6更實用的控制項。

●有些VB6的物件,在VB2010已不在,雖然有代替的物件可用,但要花很多時間去找,這就是VB6轉VB2010痛苦的地方,要無痛轉換是不可能的事。

●VB2010仍舊採用VB語言作為工作語言,因此與使用VB語言的其他開發工具一樣,有讓人易看、易懂、易學及易開發的特性。

●VB2010的VB語法比VB6的語法更先進,支援其他語言好的語法,例如宣告變數可直接指派值、+=及更多好用的語法。

●VB2010的運作架構改變了,但仍是VB6的後續血脈,與VB6一樣的能輕鬆的用滑鼠於表單上拖拉出物件。

●程式開發階段可直接看到屬性變化。

●不需要花費太多的力氣去處理物件動作的補捉,直覺化的事件處理,程式會自動觸發相對應的副程式。

●可以引用額外的 .Net Framework 程式庫來加強 VB2010 的能力。

●也可以繼續使用 Active X 程式庫來加強 VB2010 的能力,因此大部份舊有的 VB6 開發手法仍可繼續使用。

●工具箱內仍可再掛入更多非預設就可掛入的 .Net Framework 元件。

●Active X 控制項也可掛入工具箱,因此 VB6 專業版所提供的額外 Active X元件也可放到 VB2010 裡使用。

●VB2010 裡繼續使用 Automation,可讓資料輸往 Office、AutoCAD 等軟體,讓工作變得更自動化。

●Windows API繼續使用。

●很多要用到Windows API才能做到的功能,已經被包裝成 .Net Framework 程式庫中的一部份。

●支援多執行緒,可用多顆CPU做平行處理。

●獨特的全域模組,讓專案內的資源可跳脫命名空間的限制而共享。

●VB2010支援物件導向開發,VB6做不到的繼承,VB2010做到了。

●VB2010可以開發出許多的專案類型之應用程式。

●主控台應用程式。

●可直接開發出ASP.Net應用程式。

●支援開發新一代介面的WPF應用程式。

●支援把Function指派為變數的能力,稱之為 Lambda。

●支援LINQ的使用,可減少資料處理的程式碼,進而加快程式開發。

●沿續VB6的超容易資料轉換,第一次使用VB2010時,不用花太多時間去找出資料轉換方法或函數。

SVBR 張啟民(ChiMin Chang/小瓜瓜 @ 2011/04/02) ... [回VB基礎語法索引]
●底下是VB6運作的簡圖,VB6開發出的應用必需與VBA及VB6內建的物件綁在一起,透過ActiveX與外部的物件做連結。
●從VB2010運作的簡圖,由VB6使用Active X對外,變成透過.Net Framework對外,並且不直接存取 Windows 資源。
●第一次由VB6轉到VB2010時,看到工具箱會讓人嚇一跳,VB6原有的控制項已不在,取而代之的是用法不同的 .Net Component,而且與VB6相比,要稍微花一點時間來瞭解這些控制項的成員,雖然控制項多了很多但有很多比VB6更實用的控制項。
●有些VB6的物件,在VB2010已不在,雖然有代替的物件可用,但要花很多時間去找,這就是VB6轉VB2010痛苦的地方,要無痛轉換是不可能的事。
●VB2010仍舊採用VB語言作為工作語言,因此與使用VB語言的其他開發工具一樣,有讓人易看、易懂、易學及易開發的特性。
●VB2010的VB語法比VB6的語法更先進,支援其他語言好的語法,例如宣告變數可直接指派值、+=及更多好用的語法。
●VB2010的運作架構改變了,但仍是VB6的後續血脈,與VB6一樣的能輕鬆的用滑鼠於表單上拖拉出物件。
●程式開發階段可直接看到屬性變化。
●不需要花費太多的力氣去處理物件動作的補捉,直覺化的事件處理,程式會自動觸發相對應的副程式。
●可以引用額外的 .Net Framework 程式庫來加強 VB2010 的能力。
●也可以繼續使用 Active X 程式庫來加強 VB2010 的能力,因此大部份舊有的 VB6 開發手法仍可繼續使用。
●工具箱內仍可再掛入更多非預設就可掛入的 .Net Framework 元件。
●Active X 控制項也可掛入工具箱,因此 VB6 專業版所提供的額外 Active X元件也可放到 VB2010 裡使用。
●VB2010 裡繼續使用 Automation,可讓資料輸往 Office、AutoCAD 等軟體,讓工作變得更自動化。
●Windows API繼續使用。
●很多要用到Windows API才能做到的功能,已經被包裝成 .Net Framework 程式庫中的一部份。
●支援多執行緒,可用多顆CPU做平行處理。
●獨特的全域模組,讓專案內的資源可跳脫命名空間的限制而共享。
●VB2010支援物件導向開發,VB6做不到的繼承,VB2010做到了。
●VB2010可以開發出許多的專案類型之應用程式。
●主控台應用程式。
●可直接開發出ASP.Net應用程式。
●支援開發新一代介面的WPF應用程式。
●支援把Function指派為變數的能力,稱之為 Lambda。
●支援LINQ的使用,可減少資料處理的程式碼,進而加快程式開發。
●沿續VB6的超容易資料轉換,第一次使用VB2010時,不用花太多時間去找出資料轉換方法或函數。
VB研究小站8.0 / SVBR8.0 http://www.svbr8.url.tw
[ VB2010 ] - 我的第一個程式
[ VB2010 ] - 我的第一個程式
SVBR 張啟民(ChiMin Chang/小瓜瓜 @ 2012/05/03) ... [回VB基礎語法索引]
●新增一個主控台應用程式專案。

●新增主控台應用程式專案完成後,會直接進入程式編輯視窗裡, Sub Main ... End Sub 則是這一次要開始第一次寫程式的區域。

●如下圖,把這兩行程式抄到你的VB2010的編輯視窗裡。

●在輸入的過程裡,VB會自動帶出所有相關成員的選單,因此寫VB不需要記太多東西。

●輸入程式的過程裡,輸入的文字是有問題的,選單就不會出現,就可以很容易的了解已經拼錯字了。

●程式已確認輸入完成後,按〝F5〞鍵即會自動執行程式。

●接下來,改試試 Windows Form 應用程式。

●新增 Windows Form 應用程式 專案完成後,可以看到 VB 裡多了一個視窗,它就叫作〝表單〞。

●用滑鼠按一下〝工具箱〞頁籤後,工具箱工具列就會出現,裡面每一個圖示都代表一個元件。

●如下圖的小圖示,它是一個按鈕元件,試著用滑鼠把它拉到表單上。

●用滑鼠雙擊剛才拉到表單上的按鈕,會自動多出來程式編輯頁籤 Private Sub Button1_Click ... End Sub 區塊裡就是這個按鈕在程式執行中,被按一下時所要執行的程式。

●依照下圖輸入程式。

●確認已輸入程式完成後,按〝F5〞鍵即會自動執行程式,結果會得到一個表單,然後用滑鼠按一下表單上的按鈕,結果如下。

SVBR 張啟民(ChiMin Chang/小瓜瓜 @ 2012/05/03) ... [回VB基礎語法索引]
●新增一個主控台應用程式專案。
●新增主控台應用程式專案完成後,會直接進入程式編輯視窗裡, Sub Main ... End Sub 則是這一次要開始第一次寫程式的區域。
●如下圖,把這兩行程式抄到你的VB2010的編輯視窗裡。
●在輸入的過程裡,VB會自動帶出所有相關成員的選單,因此寫VB不需要記太多東西。
●輸入程式的過程裡,輸入的文字是有問題的,選單就不會出現,就可以很容易的了解已經拼錯字了。
●程式已確認輸入完成後,按〝F5〞鍵即會自動執行程式。
●接下來,改試試 Windows Form 應用程式。
●新增 Windows Form 應用程式 專案完成後,可以看到 VB 裡多了一個視窗,它就叫作〝表單〞。
●用滑鼠按一下〝工具箱〞頁籤後,工具箱工具列就會出現,裡面每一個圖示都代表一個元件。
●如下圖的小圖示,它是一個按鈕元件,試著用滑鼠把它拉到表單上。
●用滑鼠雙擊剛才拉到表單上的按鈕,會自動多出來程式編輯頁籤 Private Sub Button1_Click ... End Sub 區塊裡就是這個按鈕在程式執行中,被按一下時所要執行的程式。
●依照下圖輸入程式。
●確認已輸入程式完成後,按〝F5〞鍵即會自動執行程式,結果會得到一個表單,然後用滑鼠按一下表單上的按鈕,結果如下。
VB研究小站-Visual BASIC(.NET)基礎語法 / Guide
VB研究小站-Visual BASIC(.NET)基礎語法 / Guide
小站的VB.NET入門文件 ... [回首頁]
小站的基礎語法是以概觀的方式介紹本工具的所有基本功能與能力,真正的用意並不是被用來作為新手教學,如果想要學習並閱讀新手教學相關文章,建議(1)到圖書館或是書店查閱相關書籍開始入門、(2)以小站的基礎語法作為日後備忘查閱。
| 入門基礎 / The first step | |||||||||||||||||||||||||||||||||
|
| 作業流程 / Control flow | |||||||||||||||||||||||||||||||||
|
| 物件導向 / Object orientation | |||||||||||||||||||||||||||||||||
|
| 資源空間 | |||||||||||||||||||||
|
| 檔案操作 | |||||||||||||||||||||
|
| 資料應用 | |||||||||||||||||
|
| 強化機制 | |||||||||||||||||||||
|
SVBR©8.0 VB研究小站 www.svbr8.url.tw @ Kaohsiung.Taiwan
[ VB2010 ] - 畫線與畫圓
源自於
http://www.svbr8.url.tw/Prg_Coding/VB/index_middle_drawing.php
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim BMP As Bitmap = New Bitmap(200, 100, Imaging.PixelFormat.Format32bppArgb)
Dim g As Graphics = Graphics.FromImage(BMP)
Dim f As Font = New Font(Me.Font.Name, 12, FontStyle.Bold)
g.FillRectangle(Brushes.White, 0, 0, 200, 200)
g.DrawRectangle(Pens.Black, 0, 0, 199, 99)
g.DrawLine(Pens.Black, 1, 1, 200, 100)
g.DrawLine(Pens.Black, 1, 1, 200, 50)
g.DrawLine(Pens.Black, 1, 1, 100, 100)
g.DrawEllipse(Pens.Black, 15, 5, 10, 12)
g.DrawEllipse(Pens.Black, 30, 10, 20, 24)
g.DrawEllipse(Pens.Black, 60, 20, 40, 48)
g.DrawEllipse(Pens.Black, 120, 40, 80, 96)
g.DrawString("S", f, Brushes.Red, 5, 55)
g.DrawString("V", f, Brushes.Orange, 15, 55)
g.DrawString("B", f, Brushes.Green, 25, 55)
g.DrawString("R", f, Brushes.Blue, 35, 55)
g.Dispose()
Me.BackgroundImageLayout = ImageLayout.None
Me.BackgroundImage = BMP
End Sub
End Class
isual BASIC(.NET)影像繪製
VB研究小站-Visual BASIC(.NET)影像繪製
小站有關於VB的影像繪製範本 ... [回首頁]
| 基本繪圖 / Basic | |||||||||||||||||||||||||||||||||||||||||||||||||
|
| 函數繪製 / Function Graph | |||||||||||||
|
| 函數圖表 / Chart | |||||||||||||
|
[ VB2010 ] - 繪製線條
源自於
http://www.svbr8.url.tw/Prg_Coding/VB/Middle/Drawing/VB_00_00_VB2010/doc.php
Graphics.DrawLine(Pen物件, X1, Y1, X2, Y2)
Public Class Form1
Dim Painting As Bitmap
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Painting = New Bitmap(200, 100)
Dim G As Graphics = Graphics.FromImage(Painting)
Dim Idx As Integer
For Idx = 1 To 100 Step 3
G.DrawLine(Pens.White, 0, Idx, 200, Idx)
G.DrawLine(Pens.Gray, 0, Idx + 1, 200, Idx + 1)
G.DrawLine(Pens.Black, 0, Idx + 2, 200, Idx + 2)
Next
G.DrawLine(New Pen(Brushes.Red, 7), 30, 1, 10, 100)
G.DrawLine(New Pen(Brushes.Orange, 6), 27, 1, 20, 100)
G.DrawLine(New Pen(Brushes.Yellow, 5), 24, 1, 30, 100)
G.DrawLine(New Pen(Brushes.Green, 4), 21, 1, 40, 100)
G.DrawLine(New Pen(Brushes.Blue, 3), 18, 1, 50, 100)
G.DrawLine(New Pen(Brushes.Indigo, 2), 15, 1, 60, 100)
G.DrawLine(Pens.Purple, 12, 1, 70, 100)
G.DrawLine(Pens.Black, 9, 1, 80, 100)
G.DrawLine(Pens.Gray, 6, 1, 90, 100)
G.DrawLine(Pens.White, 3, 1, 100, 100)
Me.BackgroundImageLayout = ImageLayout.None
Me.BackgroundImage = Painting
End Sub
End Class
訂閱:
文章 (Atom)
Slide Swith in Wokwi 控制 EasyBuilderPro HMI 的 指示燈ON ,OFF
Slide Swith in Wokwi 控制 EasyBuilderPro HMI 的 指示燈 Lamp ON ,OFF // 1. 修改 MQTT Broker 網址 const char * mqtt_server = "mqttgo.io...
-
數位IC設計入門-Verilog combinational logic 8 to 1 Multiplexer 多工器 Behavioral Modeling (& Test Bench) //數位IC設計入門-Verilog combinationa...
-
Line 發報機 Python TKinter (CONFIG_LINE Message API_2.py) import serial import serial.tools.list_ports import tkinter as tk from tkinter import...
-
python pip 不是内部或外部命令 -- 解決方法 要安裝 Pyqt5 1. 首先,開啟命令提示字元。 2. 輸入 pip3 install pyqt5 好像不能執行 ! ! 錯誤顯示 : ‘ pip3 ’ 不是內部或外部命令、可執行的程式或批...

