2016年11月5日 星期六

技術筆記STM32F4

第一塊版子無法Touch,第二塊才行

製做熱感應紙相機玩具途中,大量使用STM32F4,因為是新手有許多不熟悉的地方,將些學習記錄筆記於此。(熱感應紙相機其他連結,例如演算法、機殼、電路設計在這邊,連結)

硬體Embedded System選擇

Embedded System是很籠統的概念,過去工作上接觸過公司自行設計專為數位相機量身訂做的ARC解決方案,也有醫療血糖機AVR ARM系統,不過我的玩具不複雜,不需要這些高端方案。市場上常見的RASPBERRY PI 或STM32 或ARDUINO即可應付。又ARDUINO過於單純,RASPBERRY PI整體系統過於龐大,選擇有下列優點的STM32F429。

  1. 內建浮點運算功能,方便圖型處理程式
  2. DCMI Camera interface,簡化影像擷取
  3. 眾多軟體、電路設計範例

開發環境( IDE和開發板 )

  1. KEIL:有最多範例,初期使用uVision 5.11(HAPPY版)。遇困難後使用新版( 5.21.1.0 )。安裝檔名應該是硬碟下的KeilMDK_68532.rar SIZE約300M
  2. IAR:手邊有"正版"軟體,不過範例太少,且IAR + I-JET + SWD組合下始終只能供電,無法RESET,放棄。
  3. CooCox:STM公司贊助的開源計畫,少使用者,暫時忽略。

開發板
第一種是:STM32開發板 F429 DISCOVERY:詳細規格如連結。以開發板來說,F4有兩種不同版子,STM32F4DISCOVERY和32F429IDISCOVERY,前者是使用STM32F407G,沒有螢幕和外接SD RAM,後者才是TM使用開發板。
  • USB直接燒錄、供電和偵錯,接上行動電源就可使用,type A to mini-B。版子上還有個micro USB插孔可以做更多實驗。
  • 硬體: 靠近螢幕有兩組LED, 再旁邊有個按鈕, 靠近邊緣的LED是綠色 內部是紅色。
  • PIN腳圖放在這,方便連結。正面時 LCD在下方,左邊LED綠色 右邊LED紅色。
正面LCD在下由左至右
第二種是STM32半成品:F407 (SWD), F429 (SDRAM SWD) : KitSprout
上(STM32F429) 下(STM32F407)

第三種是OpenMV開發板,詳細資料參考此連結。

KEIL連結STM32F4

新版本KEIL + STM32 開始改採 STM新版HAL, 優點是可套用自動建立模版功能,但我IDE總是無法編譯。目前仍沿用舊版本。

舊版本KEIL + STM32 是使用時 STD_Periph_Drivers,這是以往大多數看到範例。

舊模式,不是自動產生檔案,而是拷貝TEMPLATE修改,又可以分為兩種:
一、改KitSprout範例
二、改TM範例,先拷貝至新目錄,用KEIL開啟,編譯。範例D:\stm\tm\touchscreen

目錄對應方式

Menu-Project-Mange-Project Items..

TM目錄結構內都有全部檔案,有需要時才include。操作方法:點選目錄右鍵,找到對應目錄,選EXIST的C檔案,編譯時H檔案會自動匯入。更換新的TM實驗項目時,除了CODE會改變,include 的TM的檔案也會改變,要使用點兩下IMPORT進入的方式。

另外,因為TM是通用型LIB,編譯前必須在MENU下拉選單中選擇適合CPU的版本,目前開發板選擇STM32F429I。配合自己的狀況,可以刪除很多用不到的裝置設定檔。

除此之外,也可以增刪TM LIB中不恰當檔案,變成非TM版本。例如兩個範例,LED間歇閃爍和按鈕。( TM是作者自行搭設的架構,方便學習,但成品專案大多還是會使用STM)



前面提到的方式,帶了太多檔案,進階是將LIB抽出,如此一來,就可以在不變動TM LIB狀況下,只要複製這個SRC和INCLUDE就可以產生新專案。如01-STM32F4xx_Keil_CMSIS_Default_Project。

如果要加入新目錄,執行下面兩個動作。
1. 選擇project - option - c/c++ - include
    加入目錄TMLIB
2. 在PROJECT目錄下,右鍵add group
    把New Group換一個名子(容易看就好 例如TMLIB)
    點兩下 就會跳出增加檔案的視窗 選擇相對應的.c .h,檔案就會自動帶入

基本流程

include內容反映檔案架構

1. ARM
#include 不在STM32中,屬於ARM範圍
     讓程式可以使用bool

2. STM
#include "stm32f4xx.h"  必備
#include "stm32f4xx_rcc.h"  依照不同需要加入
#include "stm32f4xx_tim.h"
#include "stm32f4xx_gpio.h"
    #define LED_GREEN GPIO_Pin_13  宣告GPIO等等對應名稱

3. USER
#include "system_control.h" INIT等固定宣告方式
stm32f4xx_conf.h   是STM提供,include不同組h,其他似乎assert

STM32F4 核心SKILL

學習範例連結,作者設計LIB層簡化使用者設定,廣泛流傳,有許多人參考此LIB將其精簡。
  • 基本架構 main() 基礎GPIO設定 loop迴圈
  • TIMER
    不用sleep,固定時間ms 範例
    DELAY的方法 範例
    clock speed 範例
  • DMA 範例
  • Interrupt
    Interrupts are important in microcontrollers. WIth them you are able to stop executing main program and jump to some predefined area if there is something important.這讓我想到我們做胰島素注射器時,interrrupt總是搞不定啊啊啊啊
    STM32F4使用的機制稱為
    NVIC or Nested Vector Interrupt Controller is used to dinamically tell which interrupt is more important and for enabling or disabling interrupts. It supports up to 256 different interrupt vectors. 範例  進階討論 進階討論
    外部中斷 範例 範例
  • RTC
    很大的主題 目前用不到 範例
    output clock 範例
  • WatchDog 範例
  • 亂數產生 範例  CRC範例
  • 波型產生DAC 範例
  • power consumption 範例 原ST的文件PDF
     
  • 超頻 範例
  • 浮點運算
    開啟F429浮點運算方法 FFT 範例1  範例2
  • USB->UART 似乎是避開燒錄機制開機?? 範例
  • printf 範例  stdio 範例

STM32F4 操作外部設備

  • GPIO 最基本
    範例 (先提不使用TM LIB , 再引入TM LIB) 進階討論
  • USART (TXRX)
    STM32F4有八組channel 先設定GPIO 設定UART 設定中斷項目 英文說明範例 中文範例
    硬體 : PC安裝TERMINAL, (手邊有 沒測) , 印表機 , GSM modules, GPRS, bluetooth
  • SPI(Serial peripheral interface)是一種主從式架構的同步資料協定,可以讓多個裝置在短距離互相通訊。在使用SPI最基本會有四個腳位:
    MISO:Master In, Slave Out
    MOSI:Master Out, Slave In
    SCK(SCLK or Clock):Serial 時脈
    SS/CS(Slave Select/Chip Select):LOW表示裝置可以與Master通訊;HIGH表示不與Master通訊
    範例
    SPI硬體,SD CARD MODULE
    SPI硬體,三軸感應範例 這是開發板內建裝置
    SPI硬體,加速器範例
  • ADC 範例
    實際ADC範例,麥克風類比取樣,轉成數位,做錄音存檔或音效處理
    自然界只存在類比信號,人類利用各種感知器(Sensor),將其數位化、量化,方便儲存, 資料處理, 運算比較, 如溫度sensor,紅外線測距, 流明度量測....。
  • ADC範例
    麥克風類比取樣,轉成數位,在遠端交談, 經網路數位傳輸,在近端經電腦DAC還原類比聲。電腦上通常有一顆或數顆IC,負責低速週邊控制,如 Super IO, Hardware Monitor, BMC, 通常此IC有 AD converter,以方便偵測電壓、溫度。電腦上有時會用影像頡取卡,就是把類比鏡頭的類比信號,轉成數位壓縮,方便儲存在硬碟。常見就是數位音響,將CD/DVD 光碟數位信號,轉成類比聲音信號,在從喇叭播出。電腦顯卡有VGA輸出的,也是由數位資料,轉成傳統電腦CRT螢幕的類比信號。(目前DVI/HDMI 都是數位調變輸出,再也不是類比信號)
  • I2C 範例
    Inter-Integrated Circuit is a multimaster serial single ended bus. This protocol is commonly used with RTC modules, temperature sensors, EEPROMs, IO expanders and more.
    硬體應用
    1. 觸碰螢幕( 是電阻式, 基本範例 , 兩塊開發板中一個功能故障 , 顯示觸碰點 ) 觸碰螢幕不重要,只是會阻礙不過,KEYPAD可以考慮 I2C
    2. 觸碰螢幕進階範例 ( 得去GIT上補足部份檔案 , 有BUTTON LIB)
    3. RTC 範例 DS1307
    4. 壓力偵測 範例
  • PWM 範例 沒有直接實驗 Pulse Width Modulation, or PWM, is a technique for getting analog results with digital means. Digital control is used to create a square wave, a signal switched between on and off. This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts) by changing the portion of the time the signal spends on versus the time that the signal spends off.
    進階範例
  • OneWire 範例 進階範例
  • VCP virtual com port USB模擬COM PORT 範例
  • USB
    MSC HOST可以讀取FAT範例
    HID HOST (Human Input Device) 可插入滑鼠和鍵盤 範例
    HID DEVICE 範例 自己變成滑鼠和鍵盤
較大型範例 範例一貪吃蛇
 螢幕
聲音學習和分辯範例連結

編譯原理



1.編譯,MDK軟件使用的編譯器是armcc和armasm,它們根據每個c/c++和彙編源文件編譯成對應的以".o"為尾碼名的對象文件(Object Code,也稱目標文件),其內容主要是從源文件編譯得到的機器碼,包含了代碼、數據以及調試使用的信息;

2.連結,連結器armlink把各個.o文件及庫文件連結成一個映像文件".axf"或".elf";

3.格式轉換,一般來說Windows或Linux系統使用連結器直接生成可執行映像文件elf後,內核根據該文件的信息加載後,就可以運行程序了,但在單片機平台上,需要把該文件的內容加載到晶片上,所以還需要對連結器生成的elf映像文件利用格式轉換器fromelf轉換成".bin"或".hex"文件,交給下載器下載到晶片的FLASH或ROM中。

參考連結

編譯(KEIL)

ARM買下了KEIL,所以內部KEIL MDK附屬的ARMCC對ARM的支援應該很好的。如果需要更新編譯時的參數。點選專案,按右鍵,選options for xxx,選C/C++這個TAB,最下面compiler control string是目前編譯參數。不太能改變,可以選中間Code Generation有不同的參數。

但如果遇到很多人使用的GCC,如果要把GCC的東西移植到ARMCC下,首先會遇到編譯imlib.h時發生錯誤     User\imlib.h(211): error:  #3092: anonymous unions are only supported in --gnu mode, or when enabled with #pragma anon_unions原因是 enum 的看待方式不同。

union在ARMCC下是不支援的。需要在.h中增加一行#pragma anon_unions  。但數量太多手工修改不切實際。


只要在Misc Controls增加--gnu 就可以使用GNU的GCC來編譯。延伸要注意的是,對startup_xxx.s也得在ASM選項中使用--gnu。因為ARMCC的格式和GCC完全不一樣。

編譯(TOOLCHAIN)

這篇中文翻譯非常好

連結一 英文
連結二 英文
連結三 windows 中文
連結四 linux 中文

armcc
armasm
armlink
armar
fromelf

燒錄


假定編譯成功了,得到一個 HEX 文件,也就是要燒寫的二進位代碼。

狀況一:一般使用ST-LINK或SWD

狀況一之一 使用KEIL

  1. I-JET:J-LINK手邊有"正版"工具,但KEIL + J-LINK + SWD組合下,外部供電問題無法解決,暫時放棄。
  2. STM32 Discovery開發板:內建ST燒錄器,無痛銜接。
  3. KitSprout處取得簡易燒錄器:SWD和供電一次解決,一個不到一百元,CP值超高。

狀況一之二:使用TOOLCHAIN

b.GCC命令行工具的,就需要再找下載程序用的軟體了

     如果是使用ST-Link,可以使用ST自己的STVP (Visual Programmer),這個東東在ST網站上可以下載到,不過是包含在九十兆左右的一個大包"ST Toolset"裡面。(下載URL  )這個軟體的介面是這個樣子的:


主菜單上面 Erase, Program, Verify, Read 功能很明了了,File-->Open可以加載HEX文件。第一次運行STVP的時候,要選擇ST-LINK調試器,和 SWD接口。


狀況二:還可以從串口下載程序,只需要把BOOT0跳線接上即可,因為STM32內帶了Bootloader.

需要"Flash Loader Demostrator"軟體,這個也可以從ST網站直接下載(URL )。下載前要把BOOT0跳線接上,使STM32進入Bootloader模式,USART1連接到PC的串口(我用的是FT232RL USB轉串口),把MCU加電。運行軟體,介面是這樣的:


選擇串口,然後點"Next",如果成功連上了,則介面變成下面這樣


點"Next"繼續


這時已顯示出識別出的STM32型號,點"Next"到下一步進行具體的操作。


OK, 下載HEX,擦除,上載(讀Flash內容) 功能都一看就明白了吧。


狀況三:從USB直接下載

需要ST的"DFUSe Demo"軟體,也是從ST網站下載的(URL )。也需要把BOOT0跳線接上,還必須連接USB口,然後PC提示找到了新硬體。安裝好驅動以後,再啟動軟體,介面如下:


不過現在不能把HEX文件直接寫入,而需要先生成dfu文件,使用一起安裝得到的"DFU File Manager"程序,從HEX生成dfu.


至於 VID, PID 我還是保留和原來的一致,不然得重新安裝驅動(為什麼要使用DFU文件我還沒理解清楚)。得到dfu文件就可以用上面的軟體燒寫了。

記憶體使用


無論是在規畫或是編譯(FLASH RAM)或是程式運作(HEAP)時,都和記憶體息息相關,因為數量多,特別拉出個筆記。連結

Debug方法

有SWO DEBUG 範例
Debug會隨著編譯方式有所不同,因為目前IDE是KEIL,就以KEIL為對象。雖然分成軟體模擬和硬體偵錯兩種,大多數人應該都是使用硬體偵錯。並且設定LINK
ToolBar上面有Start/Stop Debug Session(CTRL F5),啟動後,畫面如下。可以參考的教學




KEIL DEBUG畫面

各種螢幕

移到更詳細的連結

LIBC使用


大型程式,尤其是open source程式都使用許多standard library C的function,例如strdup等等,這些function放進STM32程式時,偶爾會有些問題,如 types.h、strdup。網路上有不少PORT的專案可參考,自己在編譯optrec時也有些處理。

CAMERA元件


移到更詳細的連結

熱感應印表機


移到更詳細的連結

專案筆記


main.c中控全部流程
  SystemInit();  設定<---- nbsp="" p="" style="font-family: "times new roman";" system_stm43f4xx.c="">  NVIC <--------- p="">  QMV_GPIO_Config 
<---- nbsp="" p="" system_stm43f4xx.c="">  打開 LCD
  打開 OV
  Camera_Start
  while(1){
     從CAMERA拿到影像
     決定送到印表機 print( (uint16_t*)frame_buffer);
     或是將影像放到螢幕上,就會造成liveview的錯覺
  }
}

print()
{
camera拿到的是image1
計算Dither
    準備送到印表機的資料是 bmpBlock
將影像放上螢幕
    LCD_ILI9341_DisplayImage((uint16_t*) image1);
}

有三個設定,討論呼叫源
void TIM3_IRQHandler(void)
system_control.c
TIM_Cmd(TIM3, ENABLE);
void TIM4_IRQHandler(void)
system_control.c
TIM_Cmd(TIM4, DISABLE);
void DMA2_Stream1_IRQHandler(void) DCMI溝通時會送出

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

system_stm32f4xx.c 有CLOCK和INIT設定
  void SystemInit(void)
  {
    都是一堆設定
  }
  SystemCoreClockUpdate(void)
  static void SetSysClock(void)
  void SystemInit_ExtMemCtl(void)

system_control.c
這是特別寫的,都是為了這台裝置按鈕和LED使用
  void STM_LedInit(void){
  void STM_ButtonInit(void){
  void STM_LedOn(uint16_t led){
  void STM_LedOff(uint16_t led){
  uint8_t STM_ButtonPressed(void){
  void STM_TimerInit(void){

stm32f4xx_it
系統和APP溝通,設定
如INTERRUPT的處理

stm32f4xx_conf
預設的include還有assert等

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

lcd_fonts.c  就是各種不同大小字型的resource檔案
lcd_ili9341.c
lcd_spi.c

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

OV7670_control.c 初始化 和DMA設定

SD Card


各項I/O中,SD CARD最是基本。無論是OPTREC或手邊玩具計劃,都可以利用它來寫LOG或儲存相片。方式上,可選擇SDIO或SPI,範例網站上都有提供,連結位置。電路板連線。

背面是SPI(PIN腳向右),由上而下依序是 3.3V GND MISO(DO)  MOSI(DI) SCLK CS
正面是SDIO(PIN腳向左),由上而下依序是 3.3V(VDD/3.3V)   GND(VSS1/GND)   D0(DAT0/PC8)   CMD(CMD/PD2)   CLK(CLK/PC12)   D3(CD/DAT3/PC11)   D2(DAT2/PC10)   D1(DAT1/PC9)   CO(VSS2/GND) 後面是對應開發板的腳位
SDIO還區分成 4bit 和1bit兩種模式

  1. 下載範例 編譯 ( 許多錯誤,後來直接GIT專案,編譯成功 )
  2. 系統預設是 SDIO(比較快) 的 4bit模式 ( 比較快) 如果沒改變就維持
  3. 連結SD CARD和開發板
  4. 放入SD卡 啟動 會看到SD模組燈亮 f_mount成功  f_open 失敗,查詢結果是FR_NOT_ENOUGH_CORE 是 (17) LFN working buffer could not be allocated
  5. 修改heap 成功寫入檔案。修改heap的方式,參考記憶體的段落。

無線通訊RF

RF Nordic範例
RFID 範例
GPS 範例

STM32家族


F1  72MHz  2UART

F3  72MHz  3UART
   相比F1 採用浮點計算單元(floating point unit —FPV),其浮點計算速度更快。相比F1 增加了一個UART,並且設有精細的USB埠,當通過USB連接至電腦時,UART1並不占用,比起F1這也就意味著F3中的UART1的功能更強,因為在使用F1時人們通常會避免使用UART1。

F4  168MHz  3UART

F429
STM32F429ZIT6 microcontroller featuring 2 Mbytes of Flash memory, 256 Kbytes of RAM in an LQFP144 package
On-board ST-LINK/V2 on STM32F429I-DISCO (old order code) or ST-LINK/V2-B on STM32F429I-DISC1 (new order code)
mbed™ -enabled (see http://mbed.org) with the new order code only
USB functions:
Debug port
Virtual COM port (with new order code only)
Mass storage (with new order code only)
Board power supply: through the USB bus or from an external 3 V or 5 V supply voltage
2.4" QVGA TFT LCD
64-Mbit SDRAM
L3GD20, ST-MEMS motion sensor 3-axis digital output gyroscope
Six LEDs:
LD1 (red/green) for USB communication
LD2 (red) for 3.3 V power-on
Two user LEDs: LD3 (green), LD4 (red)
Two USB OTG LEDs: LD5 (green) VBUS and LD6 (red) OC (over-current)
Two push-buttons (user and reset)
USB OTG with micro-AB connector
Extension header for LQFP144 I/Os for a quick connection to the prototyping board and an easy probing
Comprehensive free software including a variety of examples, part of STM32CubeF4 package or STSW-STM32138, for using legacy standard libraries

F7  216MHz  8UART 詳細STM32F7在2015問市 最新版OpenMV已進階到STM32F7。F7應用範例可以參考這裡。專業資料在這裡。
  • 216MHz ARM Cortex-M7 STM32F746 in 216 BGA
  • 480×272 touch screen (capacitive) LCD connected to LTDC port of MCU
  • 2 digital microphones
  • Ethernet with LAN8720A connected via RMII
  • USB FS and USB HS with external PHY to get real HS speed of 480Mbps
  • Micro SD card connector
  • Camera connector
  • Audio input and output
  • External 64Mbit SDRAM connected via FMC
  • External 128Mbit FLASH connected via QSPI
  • STLink v2.1 for programming

MicroPython


除了C語言和KEIL外,另有一個分支蓬勃發展中,如連結 MicroPython。

2016年11月3日 星期四

顧婷登雪山主峰

顧婷登雪山主峰

數月前某次對話
老婆: 今年學校登山社迎新是去玉山耶。
我: 真的嗎?太棒了,我們全家一起去?
老婆: 要去自己去,我可不奉陪。
我(露出慈愛表情,轉頭問女兒): 乖女兒,想登玉山嗎?
女兒: ㄜㄜㄜ(在她還搞不清楚狀況,來不及反對下,我就當成答應)
我: 太好了,那就我們兩個人報名。

就這樣,開啟了女兒首座百岳行程。而後續因為排雲山莊抽籤槓龜,行程改為雪山,也是始料所未及。

我們混入交大登山社前往雪山 約一半是外籍生和交換生

人說工欲善其事,必先利其器。確定登山行程後,就開始為女兒添購登山裝備,我們東市買背包,西市買風衣,南市買長褲,北市買長靴。尋尋覓覓之際巧遇善心人minicha,她聽聞我們行徑,主動出借裝備,真是人間有溫暖處處有溫情。

除了裝備,體力更是主要因素,顧婷本就是個宅女,跑兩下就喘,提重物就累,弱不禁風的讓人擔心當她高山症發作後我的狼狽情形。雖然安排了體能計畫,但隨著強度增加,父女間緊張關係卻與日俱增,甚至一度要取消行程。最後是依照文卉建議不以登頂為目標,以郊遊為目的,調整心態後才順利成行。

登山口必拍景點 但我們是從七家灣溪走上來

周六早上八點從新竹出發,下午二點半抵達武陵,稍事整備隨即入山,傍晚抵達七卡用餐休息。第二日凌晨兩點即起,摸黑往哭坡前進。往東峰路上,看著山下點點燈火,如同星光,增添了許多夜的神祕氣息。

三六九觀日出

隊伍行進速度很快,約五點半即抵達三六九山莊休息,大伙在東方魚肚白伴隨下用餐補充體力,片刻後繼續向黑森林前進,顧婷體力不支躲進山莊內睡覺,我心想這一覺不知會睡到何時,此行大概也就到這兒為止。若真如此也不錯,可在山莊飽覽巒大花楸美景。

巒大花椒

十分鐘後她自動轉醒,曬曬太陽後主動提出要繼續。少了團隊的壓力,父女倆人走來也十分愜意。先繞著之字型上草原區,再進入夢幻美景黑森林,有碎石坡也有巨石地形。

黑森林

終於走出冷杉林進入圈谷地,每次到這都不由得昇起對大自然的神聖憧憬。一連串的上坡連我都覺得無力,預期女兒應該會在此宣布放棄。沒想到她卻站起來決定要繼續登頂。在她身後,看著她踩著碎石一步步前進,心中真是百感交集,那跌跌撞撞學步的日子,不就是昨天一景,怎麼一轉眼今日已成為如此勇敢的身影。

雪山圈谷

身為她的父親,很榮幸也很驕傲能帶她到了這裡。展望未來,我大概也只能帶到這裡。剩下的路她得自己走下去,人生路途漫長,不盡然都是平順可期,到困頓覺得很難走下去時,若能想起在她十二歲的某一天,曾經這麼勇敢且努力克服艱難,提升自己,就是此行真正的體驗及最深刻的回憶。

壯麗的聖陵線 得找時間去

謝謝主辦人文卉讓我們插花

2016年10月23日 星期日

觀霧大鹿林道 手作步道志工


觀霧大鹿林道 手作步道志工

雪霸國家公園每年都會在夏季對解說志工和FB粉絲,舉辦為期兩天的手作步道培訓,地點就在轄區內觀霧管理站。希望藉著手工的方式維護步道,與自然環境深度結合。我們父女是以FB粉絲的身分加入,報名時以為女兒同學會參加,所以是抱著玩樂的心情上山,參與後才知道內容是如此豐富有趣。

活動當天是萬里無雲好天氣

活動當天,怕顧婷暈車只好慢慢開,抵達觀霧時已是上午十一點。先聆聽簡介和人員介紹,接著欣賞山椒魚手偶歡迎秀,由可愛的青背山雀和山椒魚出場藉著說故事方式介紹棲地,之後就移到戶外真正進入山椒魚試驗棲地,感受生態環境。

下午是此行重頭戲,要幫大鹿林道東線入口處步道進行積水改善。阿德先介紹各式工具,例如鏟子,耙子,十字鎬等使用方法,看似簡單,實際用來才知道自己體力不濟,像我這種都市肉雞,十字鎬拉著五六下就氣喘吁吁,而一旁志工大哥卻像是插電的機器人,咚咚咚的敲不停,高下立見。

準備貫通 將積水引出下坡處

積水區靠近檢查站,長五十公尺寬四公尺,約三分之一是積水,其餘則是遍布爛泥。首先,阿德和志工大哥們依經驗和地勢,定出斜角和預計出水位置,並且以插上小旗子和紅繩訂出工作範圍,之後就以人力一敲一剷的除去多餘土石。

顧婷也積極投入

斜坡完成後就可以進行導水動作,至此工作已經完成大半,接著再以大石塊砌出排水通道,未來再有大雨沖刷也不會坍塌。剩下就是以附近大中小石頭將原本積水處填平,最後再以松枝和泥土鋪設路面,十幾個人同心協力很快也就完成。

將水坑依照大中小石頭填平,最後以松枝和泥土鋪設路面。
十幾個人同心協力很快也就完成了。
看著原本泥濘不堪的路面變的堅實,成就感油然而生。經過這番磨練,更能體會先人開路時的艱辛。

工作結束後,原本來要欣賞觀霧夕照,這時卻發現身體極度不舒服,連帶晚上張乾榮老師的講座也無法聽完,就窩進睡袋儲存體力。還好顧婷很獨立,參加完整個活動,甚至還有跟到觀星活動。

晚上看到了銀河

第二日行程,有雲霧故事屋,大鹿林道東線步道自然體驗,植樹活動,都非常精采,可是身體不爭氣只能在旁休息,還好顧婷都有參加。中午前先行下山,錯過了棲地保護(芒草清除、棲地植栽種植、土壤改善)和成果分享。

女兒自然觀察時拍攝的葉脈

這次活動充實又有意義,加上老天爺賞了個大好天氣,本應該滿載而歸,可惜身體不舒服只能提早離開。不過行程雖短,還是能真真實實感受到同行志工和參與者對自然及週遭人事物的學養和熱情,身在其中自然就有見賢思齊的想法,希望能多親近他們,沾染到他們樂觀的氣氛。這也是志工活動與單純的登山活動不同處。

這位志工鼓勵顧婷凡事積極思考,還教育顧婷攝影技巧

夜宿遊客中心 有夜宿海生館的FU
下面影片為雪霸國家公園製作


2016年10月21日 星期五

台大博物館群

動物展覽館 其他找到再補

自從台大畢業後,幾乎沒有回過母校,只有一次抱著悠閒心情,經過椰林大道到醉月湖再到辛亥路尋訪舊時宿舍。以往每天都得騎單車穿越這路線兩次,熟悉的不得了。十多年後再重遊,步道經過整修變的好走了,臨湖畔也融入許多親水元素吸引不少遊客駐足,熱鬧的好像公園,卻也少了印象中的校園氣息。再往前走,住過的男十三宿舍早已拆毀,留著一片空蕩蕩基地,有些愕然。

扯遠啦,回到主題,大多數人應該不知道台大校園內有好幾個小博物館吧。我們也是因為在新月台聚餐,閒來無事才發現附近的農業陳列館,之後循線參觀人類學博物館,校史館,檔案館。

農業館是兩層樓建築介紹CAS和農業發展,有個樹幹剖面標本吸引了我們注意,綿綿密密的曲折年輪,一年一輪,用很堅毅方是傳遞生命訊息。

再向前是人類學博物館,展出數量眾多的南島民族日用品和配飾雕塑,解說人特別介紹其中一尊四根手指的雕像。讓人印深刻。

校史館和檔案館想當然耳最無趣,桌面上的檯燈讓我想起以前總圖時光,另外當天有個森林系小展覽蠻有趣的。上述四個館是同一天遊覽。

動物博物館是不同時間再來參觀,當天因為假日系館有門禁管制,還得電話聯絡才能進入。空間不大,展出了各式日治時期遺留骨骼標本,大者有鯨魚和亞洲象,小型有獼猴,山羌等,靜態展出外還結合了蝙蝠叫聲等多媒體效果。最推薦是展場工讀生熱心且專業的導覽,解說內容淺顯易懂,專業且有熱忱。

像博物館驚魂夜場景

這些展館都在校本部內,有自己的獨立展間和燈光及陳列設備,也有本科系學生幫忙解說,可謂麻雀雖小,五臟俱全。剩下還有地質標本,物理文物,昆蟲標本,植物標本和醫學人文博物館相信也值得一遊。

平心而論,類似展題在科博館或科教館都更成熟和完備,收穫更多,為何非來這看呢?我想在熟悉校園內看展就是種樂趣吧。

像昨天就突然想著,若我當時不是讀資訊管理,而是選擇人類學系或是動物系,日子會是怎樣風貌,又會是什麼光景?想念起以往不同科系的室友,不知他們過的如何?人生真有趣,年紀漸大,許多從前迷惑的事愈來愈覺得清晰,可是也有愈來愈多的事覺得迷惑了。

還有種無價樂趣,就是在夏日午後,和女兒在陌生系館中,穿街走巷,踏入可能很久沒人光臨的展館,挖掘出驚喜,就是幸福啦。

2016年10月17日 星期一

竹東軟橋彩繪屋


軟橋是個位在新竹竹東與五峰上坪中一個背山的客家聚落。往昔以竹東圳取水口聞名,境內有山有水還有阡陌稻田,幾次清晨或傍晚單車穿越這個小聚落,都有時光悠長的感覺。除此外,這裡還有特殊的彩繪村景觀,吸引不少遊客。

我們是在午後抵達此處,車停好後,沿著縣道轉入個陡坡,上到半山腰就有指標指引,在一個典型農村院落前停下。映入眼簾是主要廳堂,延伸出倉庫和儲藏間,建物前是廣場,籃球場大小,堆放著蹺蹺板,籃球架,曬著些客家鹹菜。

特色處就是放眼所及,所有能容納的牆面都被彩繪圖案占據,遠看像被大片插圖壁紙覆蓋住,非常壯觀。細看這些圖案,每個約拳頭大小,內容幾乎都是人偶為主,穿著布衫的客家人物,男女老少都有,以動作和旁邊陪襯文字,介紹客家俚語和軟橋歷史,畫面生動活潑,鄉土味十足,和內灣劉興欽大嬸婆同一風格。

我們到達時,創作者吳先生也在,簡單介紹後就讓我們自行欣賞。因為對客家歌謠不熟悉,連帶影響對作品的瞭解,但從畫作中每一筆都清清楚楚一點都不含糊,可以看出創作者的用心。若再有機會,應該多問吳先生,是什麼機緣讓他開始創作,又是什麼心情讓他持續不斷。

離開千人彩繪屋,散步聚落巷道間也有彩繪作品,但內容較粗糙,而且經過幾年時光,作品經過風吹雨打已經落顯黯淡。不禁讓我想起幾年前推動轟轟烈烈的社區總體營造,初期有改造環境的想法很好,但後續無法長期維持,就讓人覺得荒涼。

2016年9月9日 星期五

全家泳渡日月潭

泳渡日月潭 成功

曾幾何時,泳渡日月潭和其他兩項活動(登玉山和環島),成了正港台灣人必須完成的標記,每年都吸引了萬人參加活動。如此盛事,今年也輪到我們啦。這一切起源於六月份,同事鼓吹秋團參加泳渡,我原本預計單身前往,回家後轉述,居然說服了女兒加入,連帶把老婆也拖下水。當時的計畫是前一天順遊日月潭,第二日泳渡。

興奮報名後,接著就是執行計畫啦。首先是女兒這關,別看她小小年紀,游泳能力一流,牆上還有張小海豚什麼的證書歐。不過那只是姿勢美,七月份第一次看她遊完一百公尺喘個不停快死掉的樣子,也因為她有輕度氣喘,讓我認真考慮取消活動。但我這個人有個美德就是沒努力前,不輕易放棄,之後幾週都抽時間陪她游泳,並且溫和的,慢慢的拉長間隔距離,說也奇怪,她總是能跟上我們的節奏,讓我信心大增。


第二關是老婆因為手背痠痛,醫生判定不能游泳,更遑論泳渡日月潭。但山不轉路轉,她自己嘗試和勤練海豚游法(或稱美人魚游法),不需要用到手就可以前進耶,真的神奇。



第三關是住宿的艱難,安排行程時才發現,泳渡前一天,日月潭附近民宿旅館早就告罄,總不能三個人睡車上吧。輾轉尋覓,終於落腳德化社附近日月精靈18號王國露營地。也感謝老婆大人體諒,不喜愛露營還能勉強度過一晚。

要出發歐 我們是草莓族^_^

週六當天,由埔里下高速公路直奔日月潭露營地,三個人合力搭完帳篷,沿著潭邊木棧道前往德化社碼頭探勘明天場地,望著遙遠的目標心中充滿了恐懼和疑惑啊。德化社內十分熱鬧,回到營地也沒事就在這混,女兒忙著抓寶可夢,老婆則是採買小米酒,我看到有水母裝防水袋和空飄氣球,所有我先前忙於準備的事物這裡都有販售,價錢還更便宜耶。

對面就是目標啊

泳渡當天,完全依照計畫進行,由德化社乘船到水社碼頭,順時針步行十分鐘到集合處,我單獨到報到處辦理作業,十點二十分下水。


起初沉入水中時非常緊張,未曾在開闊水域游泳,加上無法觸底的恐懼,著實連嗆了幾口水,還好手邊有魚雷浮標,讓我穩定下來。回頭四望,老婆和女兒似乎也比較穩定,三個人就開始緩緩前進。全程,女兒都是獨自前進,實在很了不起。老婆則是忙著拍照,最後大約兩小時結束上岸。心得是,輕鬆簡單無負擔完全呈現放空狀況,明年打算參加基隆外木山海泳體會海上感受。

像飄飄池般輕鬆 草莓氣球因為遇水 從頭到尾沒飛起來過 殘念

大霸尖山


往大霸尖山

八月底,和胡搞瞎搞登山隊登新竹聖山大霸尖山。三天行程共走了七十多公里,其中林道來回四十公里,登山步道單程約十五公里,沿途路徑安全且明顯好走,這次的伙食和住宿也很優,隊友間相處又融洽。最美中不足是登頂當天雲霧瀰漫,無法親見大霸尊容,非常可惜。

大鹿林道

清晨三點半出家門,背著大背包,在萬籟俱寂的夜裡移動著,搭上集合車輛穿過都市,越過熟悉的五峰和清泉,循著熟悉的路線進入山林,直到觀霧。先經二十公里大鹿林道至馬達拉溪登山口,一般山友都對這段路程怨聲載道,我因為本來就喜歡走路,而且隊伍中有幾位對高山植物很有研究,邊走邊聽介紹,偶爾拍拍照,想想心事,很快也就抵達登山口。值得一提是中途休息時,不小心碰到咬人貓,真的好痛啊,也算是某種初體驗啦。

聽完就忘記名子野花

大鹿林道東線瀑布

馬達拉溪吊橋附近就是登山口,四公里路程爬升800公尺,很有爬山的感覺啊。傍晚抵達九九山莊,這裡腹地廣闊,可容納三百人入住,我們分配到入口附近成功堡,造型非常奇特,像是蒙古包式鐵皮屋。晚餐後閒來無事只能睡覺,隔天早上三點四點就得起床,這種類似達賴喇嘛過的生活,長期如此,我一定會變得很苗條。

九九山莊留影 我居然是全隊最年輕的??

成功堡

第二日早晨在霧雨中出發,濕潤的空氣暗示今天可能沒展望,好處則是張開口就有水(真懶啊),走起來較輕鬆。抵達大霸霸基時,已天亮。明知大霸就在眼前,但因為四周盡是霧氣,卻什麼都不可見,只能用想像力勾勒出大霸英姿。隊伍先經過一段疾風吹襲的斜坡,接著就是近百公尺直立懸崖,向上看,是垂直甚至是向外斜頃陡崖。

通往大霸的詭異路線 好像要去魔多火山

這整個山頭是由變質砂岩構成,原本依附其上的頁岩因為抗蝕力較弱,早就因為冬天結冰,體積膨脹形成張力,成為岩塊風化崩解。大自然的力量已運行千萬年,在我出生前就是如此,在我死後也將繼續。

大霸下小徑

繞過霸基,向前走不遠是小霸尖山,山頂陡峭,必須像羚羊般手腳並用才上得去,山頭沒有蒼鬱林木,僅有些小花小草,在岩壢間匍匐掙扎著。雖然少了壯闊,卻有另一種孤立挺拔的氣勢。回程順登伊澤山和加利山,兩者都是平緩山頭,有三等三角點,但無展望。

小霸尖山 四周什麼都沒有啊



經過中霸山屋時,遇到兩位高山風景攝影師,聊天得知,他們帶著沉重裝備,就是為了要捕捉大霸尖山英姿,遇到大霧迷漫天氣,也只能躲在這修養生息。平日只能欣賞到他們成果,今天有幸見到拍攝者,真是高興。對於他們的堅持和毅力更是佩服。想起自己只因為工作忙碌,稍稍不順心就開始唉聲嘆氣,應該多學習這兩位攝影師精神。看看別人,想想自己,心情也開闊了起來。

開闊草原地形