2022年12月30日 星期五

vivo x60pro

 

出門不想另外帶一台相機或運動相機,大約就只能用手機替代。

但手機的錄影功能卻又沒相機好??

那可不一定。

我一直在找一隻可以取代相機的手機。

本來想說大約就各廠牌的旗艦手機,但後來發現VIVO的X系列好像可以。

尤其 vivo x60 pro,搭載蔡司鏡頭以及微雲台,簡直了。

X60 Pro 

  • 尺寸: 158.58x73.24x7.59
  • 重量: 177g 
  • 處理器  高通S870

    記憶體  12GB

    內建使用記憶體  256GB

    電池容量  4200mAh (標準值)

    快速充電  33W 閃充

    指紋辨識  隱形指紋辨識

    顏色  冰極光 / 迷霧黑

    作業系統  Funtouch OS 11.1 Global(基於Android 11)

 

  • 螢幕尺寸  6.56吋

  • 螢幕解析度  FHD+ 2376*1080

  • 螢幕材質  AMOLED

  • 刷新率  120Hz刷新率

  • 觸控螢幕  電容式多點觸控


  • 相機

    前置 3200萬畫素f/2.45 / 後置 4800萬畫素 f/1.48+1300萬畫素f/2.46(專業人像)+1300萬畫素f/2.2(廣角微距)

  • 閃光燈

    後置閃光燈;前置螢幕補光

  • 拍照模式

    極夜模式、夜景、人像、拍照、錄影、4800萬、全景、動態照片、慢鏡頭、延時攝影、專業模式、AR萌拍、超級月亮、文檔矯正、星空模式、運動抓拍、時光慢門

  • Wi-Fi

    支持 2.4G/5G Wi-Fi MIMO, 支持 Wi-Fi 6

  • 藍牙

    Bluetooth 5.1

  • USB

    USB Type-C,USB 2.0

  • GPS

    支援

  • OTG

    支援

  • NFC

    支援

  • IM

    雙Nano

  • 待機模式

    5G+4G 雙卡雙待

  • 2G GSM

    850/900/1800/1900MHz

  • 3G WCDMA

    B1/B2/B4/B5/B8

  • 4G FDD-LTE

    B1/B2/B3/B4/B5/B7/B8/B12/B17/B18/B19/B20/B26/B28/B32

  • 4G TDD-LTE

    B38/B39/B40/B41

  • 5G

    n1/n3/n7/n28/n40/n41/n78

  • 重力感應

    支援

  • 光線感應

    支援

  • 距離感應

    支援

  • 電子羅盤

    支援

  • 陀螺儀

    實體

  • Hi-Fi

    不支援

  • 音訊支援格式

    WAV、MP3、MP2、MIDI、Vorbis、APE、FLAC

  • 影片支援格式

    MP4,3GP,AVI

  • 影片錄製格式

    MP4

  • 錄音

    支援

  • 定位

    • GPS, BEIDOU, GLONASS, GALILEO, QZSS

  • 包裝盒內容

    • X60 Pro
      XE710(3.5mm插頭)+Type-C轉接線
      說明書
      USB線
      充電器
      取卡針
      保護殼
      保護膜

請問 x50pro x60 x60pro 拍照錄影會差很多嗎?還有使用上的優劣.

之前看板上大大是說X60拍照還是比X50 Pro好
而且X60系列S870效能還是遠比X50 Pro好不少

所以:
預算較低/要潛望式鏡頭 X50 Pro
遊戲效能跟相機兼具 X60
有預算直上 X60 Pro 

vivo X60 Pro的相機功能》

最穩定的組合!vivo X60 Pro X 蔡司 X 微雲台。

      vivo X60 Pro的主鏡頭使用的是Sony IMX598 4800萬畫素感光元件,尺寸為1/2吋,比起vivo X60 Pro+尺寸為1/1.3吋的GN1小了不少,不過vivo X60 Pro的主鏡頭還加入了第二代的微雲台,相比較起來筆者覺得vivo X60 Pro的配置會比較好用,畢竟主鏡頭才是最常使用的鏡頭,而且光圈來到F/1.48超大的光圈,相信拍照表現不會比vivo X60 Pro+差太多。

      超廣角鏡也是微距鏡,1300萬畫素,光圈為F/2.2,人像鏡頭也是1300萬畫素,光圈為F/2.46,這兩個鏡頭的感光元件未知,即使缺少了vivo X60 Pro+的潛望鏡,這三個主流鏡頭已經可以滿足日常的拍攝。整個鏡頭模組內的三個鏡頭在ZEISS的加持之下,不管是軟體還是硬體,皆有不俗的表現,以下將一邊介紹軟體一邊作實拍的展現。

最穩定的組合!vivo X60 Pro X 蔡司 X 微雲台。本次,vivo X60 Pro針對上一代產品來說,升級了第二代微雲臺技術,手持拍攝更加穩定。相對於OIS防抖來說,微雲臺內部不存在相對位移,而是100%模組的整體防抖,可實現多個方向數倍於OIS的防抖校正,相機模組和CMOS感測器的運動幅度整齊劃一,提供了趨近於完美的防抖能力。拍照模式

極夜模式、夜景、人像、拍照、錄影、4800萬、全景、動態照片、慢鏡頭、延時攝影、專業模式、AR萌拍、超級月亮、文檔矯正、星空模式、運動抓拍、時光慢門
\

網上實在找不到錄影相關數據,但有4K 60FPS。就我而言,基本就打趴一堆相機。

雖然X系列已經出到X90了,但好像X60性價比較優。

X50就差個蔡司鏡頭及CPU差頗多,X70和X60相機差不多,X80就CPU不行。X90還沒研究。

如果$$夠深,就全部買丫。

如果錢不夠大約買X60,但VIVO手機有很多版本,買的時候要注意的。最後,就是X60 PRO有個硬傷,就是螢幕有綠線的災情,唉。

從無到有從零開始在家架網頁伺服器??自我對話文

 從無到有自建網站怎麼搞?

主要拿來放照片\圖片。 然後分享給自己的blog使用。


嗯,要搞網站,有很多方案。 

最簡單最方便的就是找免費網頁空間...很久沒聽到這個名詞了

雖然簡單方便,但缺點就是空間小、限制多,並且隨時可能關閉。

現在好像是叫虛擬主機之類,比免費網頁空間多一些功能,如快速製作BLOG,討論區......。


但今天我們要搞的,是在家建網站(免費網頁空間虛擬主機不也是在家建置嗎👀)

呃,我指的是網站主機放家裡那種👅

不知道2023年的今天

有多少人會在家架網頁伺服器??要設定的東東還挺多。

 

首先有網路

現在上網可能是HINET的光世代,或手機開分享。

像我本人,就是只有4G手機網路分享給PC使用。

之前有研究如何在手機上建置一個SERVER,但行動網路好像沒辦法。

要在網路上架站,要有網址,但4G行動網路沒辦法產生網址,嗯,我不知道專業的說法是什麼。

白話說,伺服器在網路上會有自己對外的真實位址(ip address), 所謂的網址其實就是真實位址的別稱,方便人記憶並輸入到BROWSER網址列。換句話說,當我們在CHROME網址列輸入WWW.GOOGLE.COM並ENTER後,CHROME會在網路上問,WWW.GOOGLE.COM在哪,google主機收到這樣的查詢(和主機的ip address一致時)會給予回應。資安的原因,ip address一般不外流。手機網路在ip address與網址的對映上是有問題的。

申請完網路後,接下來要談的是server。

現今pc都可server。先不管穩定度什麼的話。

比較困難的是os的選擇。如果這個網站是要給多人使用的話,那得linux。

我們今天就比較簡單, 流量不是很大的圖片伺服器windows應該沒問題。

網址的設定,伺服器的ip address要轉成網址,正常來說是要付費的。但有個網站https://www.noip.com可以免費使用。只是網址名稱無法太隨心所欲。

先到https://www.noip.com下載它的應用程式。安裝在伺服器上,它是用來定時告訴https://www.noip.com主機你的網站伺服器ip address是什麼。

靠,忘記說一件事,一般我們不會申請固定ip,除非我們很強很強。網上無聊的人很多,固定ip很像沒有鎖的家。所以通常我們會用非固定ip。非固定ip在一段時間會重新分配ip address給伺服器,嗯,server重新開機 ip也不會一樣.....

https://www.noip.com是非固定ip的好幫手。要認真談的話還要扯到小烏龜的設定,嗯,我的其它文章有提到過。

硬體的設定,大概就是這樣,但光世代好貴丫.....

2022年12月6日 星期二

鋰電池充電器的設計考量

最近需要自行設計個大電量的行動電源。有時覺得自己真的很圈圈插插,幾百塊就可以買好幾顆,要多少買多少。但好奇怪的不知為什麼就是想自己DIY。👀

大約就是覺得市售的行動電源,不夠自由吧??或者有想要的但賣的頗貴。既然如此,那就開始設計吧。

目前想法大約是半模組化。

模組的分類如下:

  1. 充電模組
  2. 鋰電池組
  3. 放電模組

一般行動電源是把上述3個模組放在一起,但因為個人有在玩一些有的沒的,有時需要的電壓電流需要可調節的。市上販售的充放板具可調節功能的通常頗貴,尤其大功率者更是貴森森,重點是還很容易燒壞,所以放電模組勢必與充電模組分開,燒掉就算了😁。

整個設計,需考量最多的地方是充電模組,經網路查詢,得到以下資料:

一般鋰電池充電器是以定電壓及定電流方式對鋰電池充電。透過偵測這顆電池的電壓與電流,來評估這顆電池是否已經被充飽電力。

充飽電時電池電壓:

鋰離子電池Li-ion    4.2V/Cell 

鋰鐵電池LiFePO4    3.6V/Cell

鋰電池充電電流,0.2c最合適。比如12ah的電池,0.2c的電流就是2.4a。這個是標準的充電電流,對電池組的效能以及迴圈壽命最好。  

最大充電電流,建議不要超過1c,就是電流是容量的一倍。超過1c充電時,鋰電池的溫升會很高,也會影響鋰電池的迴圈壽命。

太小的充電電流,充電時間會很長,影響使用者的體驗感。比如0.1c左右的充電電流,充電時間會達到11個小時左右。0.2c充電電流,充電時間會達到6個小時左右。0.5c充電電流,充電的時間會達到3個小時。

以上資料,我們可以得知: 0.2c最合適

然後心中就出現一堆問號有沒??為什麼有最適?什麼是0.2C代表的意思?

簡單說,所謂的最適是考量電池的壽命及安全性還有充電的時間。

0.2C,就是充電電流與鋰電池容量有關。 電池容量/充電電流=0.2C是最合適的。

電流就幾安培,1A=1000mA。電池容量=放電電流X放電時間(安培小時)

那如果我的鋰電池是2200mAh要多少電流充為最適?

2200/0.2=1100mA 

網購一些TP4056 ,號稱1A充電,但實際測量,約只有0.4A,差很大。

 

接下來我們要談到關於充電時間的計算。

 由網路上查到的資料12AH的電池,0.2C充電需6小時。

12/0.2/10=6

代回我們的問題

.Ah/0.2/10=1.1小時

但這樣子的計算是錯誤的。充電時間不是這樣算的👴

搞屁丫。沒屁搞。充電時間的計算其實要複雜很多,沒有要談的意思。但有必要了解相對的。

就是如果

.Ah/0.2/10=1.1小時是事實,那代表1顆鋰電要充1.1小時

如果並聯10顆鋰電池,則需花11小時左右來充電,太可怕,但如果我們有11個充電模組,則還是只需 1.1小時的時間。

以上就是充電模組的相關知識。 

接下來要談的是放電模組的規劃。以下是網路資料的查詢:

鋰電池的缺點為不耐過放與過充,錯誤使用除了減少電池壽命,甚至會有熱失控導致爆炸燃燒的安全性疑慮。市面上絕大部分的鋰電池都會配備保護電路,或在電池芯結構上設計防爆機制。

鋰電池保護電路

鋰電池保護電路的主要目的為監測電池電壓,在發生過充電、過放電異常時,做出保護反應,例如在電池電壓過高時,終止電池充電,或是在電池電壓過低時,終止電池放電。目前鋰電池保護電路的形式有三種,分別是使用 MCU 控制、Gauge IC 控制與直接用鋰電池保護 IC 控制。前二者可將電池資料數位化紀錄、電壓與電流偵測點可調,但是必須額外編寫相關程式、包裝大且成本高。相比之下,使用現成的電池保護 IC 設計簡單、包裝小且成本低,只是電壓與電流偵測點多已固定,且無法對電池資料進行紀錄。
市售的鋰電池大多使用保護 IC 形式,普遍具備過充電壓保護、過放電壓保護、過放電流保護與短路保護等。IC 應用電路通常由電池組、ICFET 元件電路與檢流電路構成,見圖三,IC 讀取鋰電池端電壓與檢流電路訊號,辨別電池是否處在正常工作狀態,若有異常則觸發保護功能。FET 元件電路平時狀態為 ON,維持鋰電池組對外之迴路,當保護功能觸發時, FET 元件電路狀態由 ON 切換為 OFF,斷開迴路、終止電池充/放電。
  • 鋰電池放電C數是什麼?鋰電池放電倍率有哪些?
    鋰電池放電C數是什麼?鋰電池放電C數即電池放電C率,用來表示充放電電流的大小。C表示鋰電池放電倍率的符號,比如1C表示鋰電池可以做到按1倍放電速率來穩定放電的能力,以此類推其他比如2C、10C、40C等,就代表鋰電池可以穩定放電的最大電流放電倍數。
  • 鋰電池放電倍率有什麼用?鋰電池放電倍率超過了原有的會怎樣?
    鋰電池放電倍率有什麼用?鋰電池放電倍率超過了原有的會怎樣?放電倍率是放電快慢的一種量度,指電池在規定的時間放出其額定容量時所需要的電流強度。放電倍率在數據值上等於電池額定容量的倍數,通常用字母C來表示。鋰電池放電倍率有什麼用?
  • 鋰電池充放電理論及電量計算法設計
    1.2 最高充電電壓 (Max Charging Voltage)最高充電電壓和電池的化學成分與特性有關。 鋰電池的充電電壓通常是4.2V 和 4.35V,而若陰極、陽極材料不同電壓值也會有所不同。當電池電壓與最高充電電壓差小於100mV,且充電電流降低至C/10,電池可視爲完全充電。
     
    由於目前我們是以大電量手機充電行動電源為主,所以一般鋰電池都不會有什麼大問題, 主要是不要過放及過充還有放電倍率的問題。簡單說,1C的鋰電安全的使用電流是1A,此為放電倍率,購買鋰電時需注意,如果需要2A的電流,那就並聯1顆。
     
    最後就是各模組的組合,這就看各位看官的使用需求再搭配各種IO端子。
    對我來說最難的就是模具的製作了。之後再跟大家分享。

 

2022年8月19日 星期五

台灣北部磯釣、海釣、堤防釣、防波堤釣點筆記

 1.東北角紫菜坪(蝙蝠洞)釣點:

位於東北角瑞濱蝙蝠洞旁的私房景點紫菜坪,一年四季靠岸的魚種非常的多樣,適合岸拋、磯釣等等!

但出發前請注意一下浪況,東北角紫菜坪(蝙蝠洞)屬於較危險的磯釣釣點釣場,因為海浪會直接打上岸!


2.基隆中正區正濱漁港釣點

位於基隆舊漁會旁小巷進入的正濱漁港,可說是釣友們非常喜愛的舒適釣點之一,

夏季也時常有白帶魚靠近,湧進大批釣客爭相作釣,正濱漁港可算是基隆一年四季都非常熱鬧的漁港之一喔!

地址:基隆市中正區中正路近武昌街舊漁會旁


3.基隆八斗子綠燈釣點:
位於基隆八斗子漁港內的綠燈塔,若說是基隆釣魚界的一級戰場非它莫屬了!

一年四季湧入作釣的人潮可說從不間斷!白天以岸拋鐵板居多,時常還可以看到海龜出沒喔!

至於夜晚就不用多說啦~~當然是釣白帶魚的歡樂天堂!

基隆八斗子綠燈屬於較擁擠的釣點,到此作釣別忘了注意釣魚禮節喔~

 

4.基隆嶼釣點:

基隆嶼,又稱為基隆島,是位於台灣東北方的東海海域之島嶼,古稱雞籠嶼、雞籠逸杙,

無人島由於孤懸海上,故成為基隆與北海岸地區明顯的自然地標,

如要登島作釣須向基隆漁會申請釣魚證才可以登島(基隆嶼)喔!

登島船家資訊:富澤號 0972981161 (謝老師)

溫馨提醒:請保持環境乾淨整潔、隨時注意浪況、結伴同行、請記得務必穿著救生衣、防滑釘鞋!切勿貪釣!

 

5.東北角馬崗潮間帶釣點:

每當秋冬來臨,磯釣熱絡起來,馬崗,這一個釣點釣友們一定要認識啊!!!

冬季來臨,東北季風引起藻類滋生,部分岩石上生長出各類藻餌,冬季是浮游磯釣旺季,

提起濱海公路磯釣場,東北角馬崗潮間帶釣場,絕對是一個好選擇!

溫馨提醒:請保持環境乾淨整潔、隨時注意浪況、結伴同行、請記得務必穿著救生衣、防滑釘鞋!切勿貪釣!
6.北海岸金山水尾漁港釣點:

水尾漁港屬於小型港口,港口街為小型船舶停靠,算是北海岸乾淨的港口之一,

魚種眾多,釣場舒適,金山水尾漁港適合攜帶闔家大小學習體驗釣魚的樂趣唷!

旁邊還有神秘海岸景觀 值得一看 千萬不可錯過~

附近可以到金山老街逛街用餐 : )

有興趣參考這一篇喔→ 陽明山竹子湖繡球花海轉金山老街神祕海岸水

地址:新北市金山區民生路2號


 

7.東北角深澳漁港釣點:

深澳漁港位於瑞芳區的濱海公路上。從台北出發,走中山高速公路接大華交流道接62快速道路往瑞濱方向,

62快速道路的終點瑞濱交流道後左轉走台二線,約500公尺後即可看到深澳漁港的指標,右轉進去就是深澳漁港了!

深奧海岬、象鼻岩、酋長岩是位在漁港最裡面的自然景觀,在漁港邊可以看到許多漁船,

這裡是北台灣補小卷、透抽的重要漁港。深澳漁港舊名「番仔澳」。番仔澳這個名字的起源有兩個說法,

一是這裡為昔日平埔族凱達格蘭人居住的村落,另一個說法為深澳岬的巨岩,從側面看過去很像印地安人的臉龐,

所以被稱為「番仔澳」。

地址:深澳漁港位於新北市瑞芳區深澳里深澳路20號


 

8.基隆和平島白燈釣點:

白燈位於基隆和平島,為管理釣場,適合磯釣、岸拋、路亞、沉底各式釣法,

須提前一星期登記報名,釣場規定入場須攜帶身分證、穿著救生衣、防滑釘鞋、嚴禁喝酒

汽機車一律停在停車場。


 

9.東北角水湳洞漁港釣點:

水湳洞漁港與陰陽海相鄰,陰陽海的顏色是因為金瓜石山區含豐富礦物質的溪水流入大海所造成的,

當季水湳洞漁港內有許多硬尾仔、尖梭,是許多釣友喜愛的釣點之一唷~


 

10.基隆外木山漁港釣點:

背山面海,視野開闊是眺望海景極佳的所在,俗名「木山澳」的外木山漁港,

漁產豐富,海釣業興起,附近設有海水游泳池,不分早晚都有民眾前往游泳、釣魚、賞景。

地址:基隆市中山區文化路92巷34-2號


 

11.東北角萊萊磯釣場釣點:

臨近馬崗潮間帶的萊萊磯釣場為東北角海岸海蝕平臺中最發達的地區,極適合藻類、浮游生物生長,

擁有繁盛的魚類生態。說到萊萊磯釣場,絕對是磯釣釣友們眾所皆知的知名釣點喔!

背三貂角燈塔位於至高點,可以欣賞到美麗的海景、龜山島,也可以俯視馬崗村及萊萊磯釣場,

是個絕佳景點!有機會一定要親自前往看看大自然美麗的海景喔~

地址:新北市貢寮區北部濱海公路段東北角海岸線


 

12.東北角軍艦岩釣點:

軍艦岩的名稱由來,因為遠看就像一艘軍艦在海上航行,須從海上視角可看得見。

適合磯釣、釣軟絲!此釣點較為陡峭,若前往作釣請務必注意安全,裝備一定要齊全喔!

 

13.新北市萬里漁港釣點:

萬里區一共有四座漁港,野柳漁港、東澳漁港、龜吼漁港、萬里漁港(瑪鍊漁港)。萬里也是台灣海蟹的故鄉,台灣八成以上的海蟹都是由萬里捕蟹船捕撈上岸。

主要生產花蟹、三點蟹、石蟳...等等。港內和防波提上時常都可以看見許多釣客在作釣,

環境舒適又平坦,魚類眾多,有時還可以釣到螃蟹喔!

釣友們別錯過一起來探索萬里漁港吧~

地址:新北市萬里區瑪鍊溪溪口右側


 

14.北海岸草里漁港釣點:

草里漁港原名阿里荖,位於新北市石門區草里里淡金公路旁,民國70年起陸續興建漁港相關設施,

目前港內僅有少量小型漁船,是小型的漁港。每到硬尾仔靠岸的季節,港內可見擠滿釣客的壯觀景況!


 

15.新北市萬里龜吼漁港釣點

龜吼漁港沒有像知名的富基漁港等來的有名氣,也不是個大漁港,但海產新鮮便宜,停車方便,

龜吼漁港的捕魚船入港後,魚貨卸貨會直接拍賣,龜吼漁港港邊有多間餐廳,作釣肚子餓的話,

可以直接去大快朵頤品嚐新鮮的海產料理唷!

溫馨提醒:請保持環境乾淨整潔、隨時注意浪況、結伴同行、請記得務必穿著救生衣、防滑釘鞋!切勿貪釣!

2022年8月17日 星期三

Titan GT77頂級旗艦之作!

 MSI 搭載第 12 代 Intel® HX 系列處理器的高效能筆電廣受市場好評,旗艦機皇 Titan GT77 也在近日正式登場,不僅搭載桌機等級效能的第 12 代 Intel® i9-12900HX 處理器,還有 NVIDIA® GeForce RTX™ 3080 Ti 筆記型電腦 GPU,透過 MSI Overboost 超增壓模式設計技術,可提供最高 250W 震撼效能!全新流線纖薄機身搭配投射式 Mystic Light bar 設計與 Cherry MX 超薄機械式鍵盤、Dynaudio 世界級音響模組與海量儲存空間,選購 Titan GT77 還享受 MSI Care Plus 全新推出的「意外損壞保障服務」(價值 NT$8,000),為您的心愛配備提供更全面的保護!

Titan GT77旗艦奢華電競筆電 產品規格

  型號   Titan GT77 12UHS-012TW
  處理器   Intel® Core™ i9-12900HX
  顯示卡   NVIDIA® GeForce  RTX™ 3080 Ti GDDR6 16GB筆記型電腦GPU , 175W (150W+25W with Dynamic Boost)
  作業系統   Windows 11 Pro
  螢幕   17.3UHD (3840*2160), 120Hz更新, 100% DCI-P3色域範圍
  記憶體   DDR5 64GB (32GB*2) , 4 Slot, 最高可擴充至128GB
  儲存裝置   8TB (2TB*4) M.2 SSD (NVMe PCIe)
  視訊鏡頭   IR HD type
  鍵盤   SteelSeries單鍵RGB全彩背光Cherry MX超薄機械式鍵盤
  觸控板   加大設計玻璃觸控板 (130 x 82 mm)
  網路   Killer E3100G LAN (Up to 2.5G) + Killer AX1675  Wi-Fi 6E w/ 藍牙 5.2
  I/O連接埠   2x Type-C (USB / DP / Thunderbolt 4)
3x Type-A USB3.2 Gen2
1x RJ45
1x SD 
高速讀卡槽
1x (8K @ 60Hz / 4K @ 120Hz) HDMI
1x Mini-DisplayPort
  音效   2x 2W 揚聲器 + 2 x 2W 重低音喇叭, Dynaudio, 支援播放Hi-Res高解析音樂, Nahimic音效強化軟體
  變壓器/電池   330W變壓器 / 4-Cell, 99 Whr超大容量電池
  尺寸/重量   397 x 330 x 23 mm / 3.3kg
  配件   MSI M99電競滑鼠、Titan尊榮電競後背包、雙用隨身碟128GBMSI Lucky公仔鑰匙圈極黑限定版
  建議售價   NT$ 169,900

 

Titan GT77 提供桌機等級的擴充性,4 組 DDR5 記憶體插槽,最高容量可擴充至 128GB,最高理論傳輸速率達到了 6.4Gbps。搭配 4x M.2 SSD (1 PCIe Gen5 , 3 PCIe Gen4) 硬碟空間設計,打造出最高達 8TB 的極速、海量儲存空間。強大硬體配置完美融合於不到一英吋的機身中,讓 Titan GT77 在使用上更有效率、擴充更具彈性。MSI Titan GT77 12UHS

2022年8月6日 星期六

遙控船 #arduino #esp8266 #l9110s#wifi

 


 

 

/* Simple WiFi-controlled car on ESP8266
 * and L9110S motor drive board
 * by Alan Wang
 */

#include <esp8266wifi .h="">
#include <esp8266webserver .h="">

// WiFi settings
#define SSID_AP            "ESP8266_WiFi_Car" // AP server name
#define PASSWORD_AP        "12345678"         // AP server password

// motor settings
#define RIGHT_MOTOR_PIN1  4                   // pin 1 of right motor (D2)
#define RIGHT_MOTOR_PIN2  5                   // pin 2 of right motor (D1)
#define LEFT_MOTOR_PIN1   12                  // pin 1 of left motor (D6)
#define LEFT_MOTOR_PIN2   14                  // pin 2 of left motor (D5)
#define RIGHT_MOTOR_SPEED 1023                // speed for right motor (0-1023)
#define LEFT_MOTOR_SPEED  1023                // speed for left motor (0-1023)
#define LED_PIN           2                   // built-in LED (D4)

IPAddress local_ip(192, 168, 4, 1);           //IP for AP mode
IPAddress gateway(192, 168, 100, 1);          //IP for AP mode
IPAddress subnet(255, 255, 255, 0);           //IP for AP mode
ESP8266WebServer server(80);

int car_mode = 0;                             // set car drive mode (0 = stop)

// initialize
void setup() {
 
  Serial.begin(115200);
  Serial.println("ESP8266 Wifi Car");
  pinMode(RIGHT_MOTOR_PIN1, OUTPUT);
  pinMode(RIGHT_MOTOR_PIN2, OUTPUT);
  pinMode(LEFT_MOTOR_PIN1, OUTPUT);
  pinMode(LEFT_MOTOR_PIN2, OUTPUT);
  pinMode(LED_PIN, OUTPUT);
  car_control(); // stop the car

  WiFi.mode(WIFI_AP);
  WiFi.softAPConfig(local_ip, gateway, subnet);
  WiFi.softAP(SSID_AP, PASSWORD_AP);

  // setup web server to handle specific HTTP requests
  server.on("/", HTTP_GET, handle_OnConnect);
  server.on("/forward", HTTP_GET, handle_forward);
  server.on("/backward", HTTP_GET, handle_backward);
  server.on("/left", HTTP_GET, handle_left);
  server.on("/right", HTTP_GET, handle_right);
  server.on("/stop", HTTP_GET, handle_stop);
  server.onNotFound(handle_NotFound);

  //start server
  server.begin();
  Serial.println("ESP8266 car server started.");
  digitalWrite(LED_PIN, LOW);
}

// handle HTTP requests and control car
void loop() {
  server.handleClient();
  car_control();
}

// HTTP request: on connect
void handle_OnConnect() {
  car_mode = 0;
  Serial.println("Client connected");
  server.send(200, "text/html", SendHTML());
}

// HTTP request: stop car
void handle_stop() {
  car_mode = 0;
  Serial.println("Stopped");
  server.send(200, "text/html", SendHTML());
}

// HTTP request: go forward
void handle_forward() {
  car_mode = 1;
  Serial.println("Go forward...");
  server.send(200, "text/html", SendHTML());
}

// HTTP request: go backward
void handle_backward() {
  car_mode = 2;
  Serial.println("Go backward...");
  server.send(200, "text/html", SendHTML());
}

// HTTP request: turn left
void handle_left() {
  car_mode = 3;
  Serial.println("Turn left...");
  server.send(200, "text/html", SendHTML());
}

// HTTP request: turn right
void handle_right() {
  car_mode = 4;
  Serial.println("Turn right...");
  server.send(200, "text/html", SendHTML());
}

// HTTP request: other
void handle_NotFound() {
  car_mode = 0;
  Serial.println("Page error");
  server.send(404, "text/plain", "Not found");
}

// control car movement
void car_control() {
  switch (car_mode) {
    case 0: // stop car
      digitalWrite(RIGHT_MOTOR_PIN1, LOW);
      digitalWrite(RIGHT_MOTOR_PIN2, LOW);
      digitalWrite(LEFT_MOTOR_PIN1, LOW);
      digitalWrite(LEFT_MOTOR_PIN2, LOW);
      break;
    case 1: // go forward
      analogWrite(RIGHT_MOTOR_PIN1, RIGHT_MOTOR_SPEED);
      digitalWrite(RIGHT_MOTOR_PIN2, LOW);
      analogWrite(LEFT_MOTOR_PIN1, LEFT_MOTOR_SPEED);
      digitalWrite(LEFT_MOTOR_PIN2, LOW);
      break;
    case 2: // go backward
      digitalWrite(RIGHT_MOTOR_PIN1, LOW);
      analogWrite(RIGHT_MOTOR_PIN2, RIGHT_MOTOR_SPEED);
      digitalWrite(LEFT_MOTOR_PIN1, LOW);
      analogWrite(LEFT_MOTOR_PIN2, LEFT_MOTOR_SPEED);
      break;
    case 3: // turn left
      analogWrite(RIGHT_MOTOR_PIN1, RIGHT_MOTOR_SPEED);
      digitalWrite(RIGHT_MOTOR_PIN2, LOW);
      digitalWrite(LEFT_MOTOR_PIN1, LOW);
      analogWrite(LEFT_MOTOR_PIN2, LEFT_MOTOR_SPEED);
      break;
    case 4: // turn right
      digitalWrite(RIGHT_MOTOR_PIN1, LOW);
      analogWrite(RIGHT_MOTOR_PIN2, RIGHT_MOTOR_SPEED);
      analogWrite(LEFT_MOTOR_PIN1, LEFT_MOTOR_SPEED);
      digitalWrite(LEFT_MOTOR_PIN2, LOW);

  }
}

// output HTML web page for user
String SendHTML() {
  String html = "";
  html += "<html>";
  html += "<head>";
  html += "<title>ESP8266 WiFi Car</title>";
  html += "<meta content="\" initial-scale="1\" name="\" viewport="" width="device-width,"></meta>";
  html += "<style>body {background-color: Moccasin;} h1 {color: SaddleBrown;} h2 {color: Olive;}</style>";
  html += "</head>";
  html += "<body>";
  html += "<div align="\" center="">";
  html += "<h1>ESP8266 WiFi Car</h1>";
  html += "<h2>Press \"stop\" after the server has been reset</h2>";
  html += "<br />\n";
  html += "<form method="\">";
  html += "<input button="" forward="" o="" onclick="\" type="\" value="\" window.location.href="/forward" />";
  html += "<br /><br />\n";
  html += "<input backward="" button="" o="" onclick="\" type="\" value="\" window.location.href="/backward" />";
  html += "<br /><br />\n";
  html += "<input button="" left="" onclick="\" type="\" urn="" value="\" window.location.href="/left" />";
  html += "<br /><br />\n";
  html += "<input button="" onclick="\" right="" type="\" urn="" value="\" window.location.href="/right" />";
  html += "<br /><br />\n";
  html += "<input ar="" button="" onclick="\" stop="" type="\" value="\" window.location.href="/stop" />";
  html += "</form>\n";
  html += "</div>\n";
  html += "</body>\n";
  html += "</html>\n";
  return html;
}
</esp8266webserver></esp8266wifi>


 

2022年7月21日 星期四

我的第二塊arduino--NodeMcu Lua WIFI V3

 



 

自買了第1塊板後,自我澎脹了

覺得開發板不就都那樣

供電接地數位腳類比腳

於是我又買了第二塊板子 

NodeMcu Lua WIFI V3

這塊板子最大的特色就是超便宜

市面上NodeMcu Lua還有V2板,買了以後才知道,V2是比較受歡迎的

原因就V2相容性比較好@@

 那時會買這塊是因為想作NRF24L01的母板

 NRF24L01

這個無線模組的最大特點就是他的通訊距離可到1100米

適合遠距離的遙控 

相比藍芽或WIFI距離長了1倍




#include "nRF24L01.h"
#include "RF24.h"

// Instantiate RF24 class with CE and CSN values
RF24 radio(2, 15);
// Address to devices comunicate each other (same in both)
const uint64_t pipe = 0xE8E8F0F0E1LL;
// A variable to hold some info
boolean testInfo = false;

void setup() {
// Setup serial output
Serial.begin(9600);
// Start RF
radio.begin();
// Setup the channel to work within, number 100
radio.setChannel(100);
// Open recept pipe
radio.openReadingPipe(1, pipe);
// Start to listen
radio.startListening();
}

void loop() {
// Wait until some data
if (radio.available()) {
// Read payload, and check if it finished
radio.read(&testInfo, sizeof(testInfo));
// Manage info
if (testInfo) {
Serial.println("We received positive!");
} else {
Serial.println("We received negative!");
}
}
// Wait a bit
delay(50);
}
#include <SPI.h>  這個專案看起來對初學者來說有點難,,,,,,先在網上抓些範例有空再測吧

2022年7月20日 星期三

ARDUINO初體驗--我的第1塊開發板ESP-WROOM-32




ESP-32 開發板2合1雙核CPU低功耗 (38針腳) SP32 集成了天線開關、射頻balun、功率放大器、低噪放大器、過濾器和電源管理模塊,整個解決方案佔用了最少的印刷電路板面積。2.4 GHz Wi-Fi 加藍牙雙模芯片 

 1.板載CP2102 穩定的USB轉TTL芯片

 2. 沉金工藝 

 3. 支持Windows系統(cygwin 和msys32模擬環境)和Linux 系統上的開發 

4. 支持ESP32-Ardu ESP-WROOM-32 是一款通用型Wi-Fi+BT+BLE MCU 模組,功能強大,用途廣泛,可以用於低功耗傳感器網絡和要求極高的任務,例如語音編碼、音頻流和MP3解碼等。 此款模組的核心是ESP32-D0WDQ6 芯片*,具有可擴展、自適應的特點。兩個CPU 核可以被單獨控製或上電。時鐘頻率的調節範圍為80 MHz 到240 MHz。

用戶可以切斷CPU 的電源,利用低功耗協處理器來不斷地監測外設的狀態變化或某些模擬量是否超出閾值。

ESP32 還集成了豐富的外設,包括電容式觸摸傳感器、霍爾傳感器、 低噪聲傳感放大器,SD 卡接口、以太網接口、高速SDIO / SPI、UART、I2S 和I2C 等。 CPU 和內存 ESP32-D0WDQ6 內置兩個低功耗Xtensa® 32-bit LX6 MCU。

片上存儲包括:

 • 448 KB 的ROM,用於程序啟動和內核功能調用。

 • 用於數據和指令存儲的520 KB 片上SRAM。 

• RTC 中8 KB 的SRAM,即RTC 慢速存儲器,可以在Deep-sleep 模式下被協處理器訪問。

• RTC 中8 KB 的SRAM,即RTC 快速存儲器,可以在Deep-sleep 模式下RTC 啟動時用於數據存儲以及被主CPU 訪問。 

• 1 kbit 的eFuse,其中256 bit 為系統專用(MAC 地址和芯片設置);其餘768 bit 保留給用戶應用,這些應用包括Flash 加密和芯片ID。

 • ESP-WROOM-32集成了4MB的SPIFlash


 以上是網路上所得的資訊,現在談談為什麼我會選這塊開發板

其實ARDUINO開發板好多種的

如果是想快速無痛的進入

應購入ARDUINO UNO ,網上資源很豐富,大多範例都是ARDUINO UNO完成。

當初選擇的時候因為需要使用藍芽,所以在什麼都不知道的情況底下,就購入了 ESP-WROOM-32,可想而知,遇到的情況就是要自己找WROOM與UNO對應的腳位。



 

影片是我的第1個專案,原先是想做個藍芽控制的遙控車,但當時不知DC馬達無法由開發板直接驅動,手上剛好有步進馬達驅動板。所以第1次就給 步進馬達了。使用的驅動板是ULN2003驅動板。

要讓步進馬達運作起來,嗯,好像比較方便的方式是去下載 ULN2003驅動板的函式庫,然後直接運用函式再加上自己想讓步進馬達運作的參數,但那時我好像無法成功編譯函式庫的程式,所以就直接找不用函式庫的程式,就讓步進馬達動起來了。

程式碼如下

-------------------------

int t= 100; /*速度控制*/

 void setup() { pinMode(12,OUTPUT); pinMode(14,OUTPUT); pinMode(27,OUTPUT); pinMode(26,OUTPUT); } 

 void loop() { 

digitalWrite(12,0); digitalWrite(14,0); digitalWrite(27,0); digitalWrite(26,1); delay(t); digitalWrite(12,0); digitalWrite(14,0); digitalWrite(27,1); digitalWrite(26,0); delay(t); digitalWrite(12,0); digitalWrite(14,1); digitalWrite(27,0); digitalWrite(26,0); delay(t); digitalWrite(12,1); digitalWrite(14,0); digitalWrite(27,0); digitalWrite(26,0); delay(t); 

}

-------------------------  

 pinMode宣告腳位的模式 

pinMode(12,OUTPUT)為12腳為輸出模式

digitalWrite(12,0)則使12腳輸出0V--/.由此得知,要插在數位輸出。

ESP-WROOM-32上數位輸出的腳位為GIOP12同類者皆可使用。如果步進馬達沒照想像中的轉動,可能是插錯腳位,或順序有誤。


有一件很幹的事情,就是一開始要在IDE裡下載驅動程式,才能正確抓到ESP-WROOM-32開發板,這還滿簡單的,但有件很難的事,就是編譯完成後,程式上傳到開發板的時候,在出現CONNECTTING...時,就是點點點的時候,要按一下開發板上的BOOT按鈕才可正常上傳,不然會出現找不到板之類的錯誤訊息。

我他媽的搞了一個晚上才發現這件事,逼逼毛逼央毛都快噴出來了。 


2022年7月9日 星期六

電動烤串機---步進馬達

 #include <Stepper.h>
/*
28BYJ-48 步進馬達     
    28:步進馬達的有效最大外徑是 28 毫米
    B:表示是步進馬達
    Y:表示是永磁式
    J:表示是減速型(減速比1:64)
    48:表示四相八拍
28BYJ-48 步進馬達的規格如下:
    單極兩種規格:DC 5V 及 12V
    直徑:28mm
    齒輪減速比(變速箱):1/64
    定子極數:上(8+8)、下(8+8)
    轉子極數:16
    步距角度:360 / 64 x 1/64 = 0.087890625(半步模式)
    中心抽頭(紅線)與輸入引腳之間的直流電阻:21Ω
    輸出軸步數/轉 = (8x4x2) x 64 = 4096(半步模式)
    最大速度 = 15~20 rpm
半步的減速比為 64:1 表示內部馬達轉動 64 圈,外部的軸才轉動 1 圈,可以算出內部馬達轉動一圈,外部軸心轉動角度為 360º / 64 = 5.625º。
若將 5.625º 乘以減速比得到輸出的解析度為:每步旋轉 5.625 x 1/64 = 0.087890625 度。由此算出若要讓外軸轉動一圈,內部馬達需要行走 360 / 0.087890625 = 4096 步。

[ULN2003驅動板]
旋轉步進馬達通常稱為驅動,可以是波浪驅動、全步驅動、半步驅動驅動三種之一:
1.全步波浪驅動(Wave Drive)時序為:D->C->B->A ,轉一圈需要四步,一次僅驅動一個線圈工作,較少的消耗。
2.全步驅動(Full-Step Drive)時序為:AB->BC ->CD ->DA ,轉一圈需要四步,一次激勵兩個線圈,在最大扭矩下,更高的電流換來的是更高的扭矩。
3.半步驅動(Half-Step Drive)時序為:A->AB->B ->BC ->C ->CD ->D ->DA ,轉一圈需要八步,可使用半步驅動以獲得更精確的運動。
*/
// change this to the number of steps on your motor
#define STEPS 100
#define STEPS2 100
// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, D5, D6, D7, D8);
Stepper stepper2(STEPS2, D1, D2, D3, D4);
// the previous reading from the analog input
int previous = 0;
int previous2 = 0;
void setup() {
  // set the speed of the motor to 30 RPMs
  stepper.setSpeed(30);
  stepper2.setSpeed(30);
}

void loop() {
  // get the sensor value
  int val = analogRead(0);
  int val2 = analogRead(0);
  // move a number of steps equal to the change in the
  // sensor reading
  stepper.step(val - previous);
  stepper2.step(val2 - previous2);
  // remember the previous value of the sensor
  previous = val;
  previous2 = val2;
}

2022年6月25日 星期六

ArduinoESP32藍芽舵機安裝Arduino可愛的舵機

舵機安裝比步進馬達好裝很多,主要是無需驅動板,可以利用開發板直供電。 

程式碼也很好懂。 所以又裝上藍芽模組,也不會太難。 

 

 



============================================================== 

#include <Servo.h>//宣告
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
Servo servo;//命名
char receivedChar;// received value will be stored as CHAR in this variable
int pos = 0;

void setup() {
  SerialBT.begin("ESP32_Technical_Tamizha"); //You can change your Bluetooth
    Serial.begin(115200);//序列阜監控視窗
    servo.attach(16); //橘色的線接主要是訊號線,接到 p16
}

void loop() {
receivedChar =(char)SerialBT.read();
  if (Serial.available()) {
    SerialBT.write(Serial.read());
  }
   if (SerialBT.available()) {
        Serial.print ("Received:");//print on serial monitor
    Serial.println(receivedChar);//print on serial monitor
switch(receivedChar) {                            //   
case 'L':
  //1~9
for(pos = 0; pos < 180; pos += 1) // 一度一度由 0 度旋轉到 180 度

servo.write(pos);
delay(15);
break;

case 'R': // 1~9
for(pos = 180; pos>=1; pos-=1) // 一度一度由 180 度旋轉到 0 度

servo.write(pos);
delay(15);
break;
}
}
}

2022年3月27日 星期日

免費看盤軟體

 說到看盤

大多的券商都有提供下單軟體

但最近

都被鎖了

有夠機車的

因為後來都用手機下單

沒留意到電腦憑證使用日期

所以都過期了

 

然後最近

不知哪個白爛的人想出

沒憑證就不給進系統看盤@@

有什麼毛病丫

 

那找看看有沒有類似券商的看盤軟體

然後有提供DDE供能的

果然有

http://www.xq.com.tw/XQlite-Download.aspx 

功能好似更強大的

使用一陣子後,再來分享吧👌😁

2022年3月7日 星期一

#股票#程式交易#自動下單機DIY#AUTOIT#excel


這一期分享diy自動下單機 

---------------------------------------------------------- 

安裝autoit軟體

 點兩個捷徑就可以開始作自動下單機

 6行程式自動下單給你看

 ============================= 

下一期...沒意外是談策略檔跟系統製作 

--------------------------------------------------------- 

策略檔可以用excel製作 

excel怎麼丟訊號,系統怎麼接訊號? 

更難的是怎麼用影片表現出來=.=?

 ++++++++++++++++++++++++++++ 

n久以前就想作程式交易這塊 但就一直想不出要怎麼作

 覺得要考慮的事情頗多 想說就先用自己看得懂的方式作出來看看 

覺得有什麼要改進or建議 提粗來吧!! 反應熱烈第二期會很快出來

2022年2月16日 星期三

三杯雞#塔香雞翅


三杯雞#塔香雞翅 雞翅塩醃煎香,加蒜頭金針菇,用雞油煸香 好吃的要素都齊了 最後是注入九層塔 完美!! 最近材料都不太好買,缺東缺西 本想作三杯 沒薑沒蒜又沒米酒 都沒關係 有九層塔 就87%三杯雞了

2022年2月8日 星期二

叉燒壽司 #單身食堂系列23#五花肉美食

好吃的美食簡單又美食

在家輕鬆作

五花肉醃香

乾煎後舖在炒飯上


太好吃啦

相機電池DIY#縮時攝影#DIY一組可以拍到天荒地老的電池#打野零食#鋰聚合物

分享一個可以在外長時間拍攝的方法


首先要確認

相機的電池箱有外接孔

據說有些相機沒有外接孔

製作上會有問題(電池蓋蓋不上,相機會無法開機)

然後確認電池的電壓

 接下來作一個可以輸出同電壓的電池

就完成囉!!