2016年9月12日 星期一

青檸檬酊餐具洗潔精DIY

作者: 
總會環保小組
近年大眾的環保意識大大提升,而坊間也有出售不少標榜含「天然配方」、橘子精華的清潔劑。但其實我們在家也可以很輕鬆、簡單做出天然、環保的清潔劑。尤其在盛產柚子、檸檬和橘子的季節,這些水果不旦取得方便,且價格便宜,而且還是在地生產,更能符合低碳的環保目標。我們一同來看看環保小組的媽媽如何善用這些果皮來做洗潔精吧!
材料:
500ml的玻璃瓶1個、洗淨擦乾的柑橘類果皮30克 (柚子、柳丁、檸檬…等芸香科果實都可製作) 、75%酒精150ml及刨刀1把。
做法:
1.     以刨刀刨下柚子、橘子、柳丁或檸檬的最外層(含油囊),儘量避開白色的那一層。
2.     先把酒精倒入玻璃瓶中,然後再把刨下來的果皮泡於酒精中,蓋好瓶蓋後搖晃均勻,放於陰涼處浸泡3~7天後過濾取液即成青檸檬酊(讀音:ㄉ一ㄥˇ)。
適用範圍:
洗碗、洗廚房、洗衛浴等。製作好的青檸檬酊可加水稀釋後,分裝到小瓶子以方便日常使用。稀釋比例約1:50~100(青檸檬酊:水),可依要清理的油污情況而作調整。
注意事項:
1.     為避免酒精腐蝕塑膠,故建議選擇玻璃容器製作。
2.     平常吃完水果的果皮若量不夠多,可先將果皮儲存在冰箱,等收集較多時再製作洗潔精。
3.    若要清理較髒、較油的地方,可先用稀釋的青檸檬酊浸泡餐具20-30分鐘後再作清潔。廚房牆壁的油污可將已使用過但仍乾淨的廚房紙/廢碎布覆蓋在其表面,然後把已稀釋的青檸檬酊噴灑在廚房紙或碎布上,30分鐘後再進行清潔。
4.    柚子皮剩下來的白色部份,曬乾後可作天然蚊香使用。

轉貼自主婦聯盟http://www.huf.org.tw/essay/content/2928

環保酵素DIY

作者: 
文:胡雅美 / 總會環保小組志工講師;圖:波力
    
台灣的傳統料理方式,最容易產生油膩膩、湯湯水水的廚餘,讓收拾者處理上倍感困擾!近二十年來,在我們有心的環保主婦們積極奔走下,終於讓廚餘垃圾開始走向「資源化」。就連大家家裡不要的廚餘果皮,只要經過簡單處理便可變成有去汙效果的「環保廚餘酵素」。其道理很簡單,就是利用好的微生物,去壓制壞的微生物(即拮抗作用)。而且環保廚餘酵素可以將油脂分解成小分子,使物品表面的污垢更容易被帶走,減少清潔時的用水量,真的是既經濟又實惠。

同時,它也可催化、加成清潔功效,取代一般家用的化學合成清潔用品,讓使用者的身體和環境免受環境荷爾蒙的威脅;還有一個大家想不到的好處,當廚餘酵素倒入排水系統,如:下水道、糞池、水溝等,可防止水管堵塞、分解污水污泥、淨化河流和海洋,達到潔淨水質的效果。

    另外稀釋的環保廚餘酵素也可以提供作物的營養、抑制病蟲害發生;而且它更可以中和土壤酸鹼值,活化土壤,替代傳統化肥與農藥支出,既省成本也能兼顧環保,環保廚餘酵素真可算是維護環境的大功臣。
    其實製作環保廚餘酵素一點都不難,它真的好做又好用,更重要的是它的確是全方位的環境保護網!心動不如趕快行動,大家一起動手DIY吧!

環保酵素製作方式
材料:有蓋的塑膠瓶、新鮮果皮或菜葉殘渣、黑糖、自來水。

比例:1(黑糖):3(新鮮果皮、菜渣):10(自來水) 

製作過程:
1. 先放入60%自來水到容器內(如1,000cc的塑膠瓶便須放入600cc的水);
2. 將黑糖(600cc冷開水÷10=60克黑糖)放進塑膠瓶拌勻;
3. 新鮮果皮、菜渣(宜先沖洗、陰乾)切小塊後加入塑膠瓶拌均(60克黑糖×3=180克新鮮果皮、菜渣)
4. 寫上製作的日期及內容物;
5. 關緊瓶口,拴緊瓶蓋後,每天上下搖動瓶子10下,以加速發酵,搖動後蓋子不要拴緊。
6. 連續3週搖動瓶子後,便可把蓋子拴緊並置於陰涼處。再把瓶子靜置兩個月不動後環保廚餘酵素便完成了。
使用方法:酵素需稀釋使用,效果會較佳
用途酵素:水用法
居家清潔劑1:10洗衣服、洗碗、洗地板、洗爐灶、洗廚房、洗髮沐浴等等均可使用。也可以1:1方式與一般家用的化學合成清潔用品一同使用,可減少清潔劑使用量。
除臭劑1:50消除家裡臭味或鞋子裡的異味。
清洗蔬果農藥1:50浸泡蔬果45分鐘,剩下的水可作洗廁所或澆花。
栽種植物1:50-100澆花木。
保濕1:100可噴臉保濕,但不宜日曬。
注意事項:
1. 必須用塑膠容器,因金屬或玻璃容器不利酵素膨脹;
2. 容器宜保留10-20%的發酵空間,否則酵素沒有足夠的空間活動,瓶子會容易爆開哦!
3. 製作好的環保酵素須放在空氣流通的陰涼處,避免陽光直射。
4. 請勿用魚肉或有油脂的、骨頭類的食物,會容易出現臭味。
5. 如果無法一次收集到所需的果皮量,可先放冰箱先冷藏,待數量足夠時再製作環保廚餘酵素;又或者先在瓶內裝好已拌勻黑糖的水,再逐次加入果皮或菜渣。待數量足夠時,再以那天為基準日算3個月。
6. 成功酵素呈現棕黃色,顏色變黑並發出臭氣味即知失敗了,須重新加入等量的糖再重新發酵3個月即可。

轉貼自主婦聯盟(http://www.huf.org.tw/essay/content/2993)

2016年8月26日 星期五

[記事] 參加六龜內觀中心的禪修10日課程 2016.8.10

第二次參加六龜法邁內觀禪修中心的10日禪修課程,由於第一次的參加後的經驗讓我的身心有著不同以往的好感受,所以在這邊簡單介紹內觀中心與自身的體驗,關於內觀禪修的介紹可以連結官網

首先對於內觀中心與內觀禪修,這邊先讓大家有正確的認知:
1.  該中心不屬於任何宗派組織,只是一個教授內觀禪修方法來調伏心的中心,就像是一個瑜珈教室,教授瑜珈動作來鍛鍊身心,不管是基督教、道教、印度教等都可以參加

2. 課程完全免費,中心的維護與學員的食膳都是由過去的舊學員隨喜捐贈來維護,不捐款也不會有人理你

3.  此禪修不是鍛鍊讓人有什麼神通或超能力,而是自自然然的覺知在自己身上所經驗到的感受來培養平等心

課程結束後所體驗到自身的改變(獲益匪淺)
1.  即使禪修須讓專注力持續不斷地在身體的感受上,不會因頭腦一直運作,而感到疲累,反而體力與精神變得更好

2.  利用覺知來發展平等心,使遇到過去喜歡與不喜歡的事物以平靜的心接受它

以上兩點只是個人較深刻的體驗,不足以代表該禪修方式所帶來的所有益處,其他身心的正向變化可以閱讀作者楊定一和楊元寧所著作的靜坐一書中,以科學的方式獲得解釋

此篇文章最大的目的是希望讓更多人的知道這個禪修方法然後參加嘗試這個方法,進而了解生活的藝術,並能夠永遠的安詳、和諧和快樂。以下圖片是在六龜的法邁內觀中心男眾區域所拍攝的中心環境












2016年8月25日 星期四

Visual Studio的proerties階層下的Settings.settings功能

Settings.settings的功能可以記錄程式上一次的設定值,當程式重新執行時會恢復上一次的設定,不須重新設定

執行Visual Studio點選Properties階層底下的Settings.settings會看到如下畫面:
Name自己取名的變數名稱在程式執行時期可被用來存取該變數的值
Type資料型態MicIndex變數的資料型態為int所以只能放整數數值的資料
Scope:存取權限的設定,設定User表示可讀寫,設定Application表示只可以讀
Value:設定變數的值

取得Settings.settings的變數值(C#語法)
int SelectedIndex = Properties.Settings.Default.MicIndex;

儲存Settings.settings的變數值(C#語法)
Properties.Settings.Default.MicIndex = 1;
Properties.Settings.Default.Save();

以上存取Settings.settings的變數值,可以達到紀錄之前設定值的功能。

P.S.,
Application.Exit();     //先停止線程,再停止進程。
Environment.Exit(0);   //直接停止進程。

進程是一個應用程式在處理機上的一次執行過程,它是一個動態的概念,而線程是進程中的一部分,進程包含多個線程在遠行。原文網址:https://read01.com/5M5ENQ.html

2016年8月5日 星期五

[WPF] GroupBox裡面放多個控制項

WPF的GroupBox只能放一個控制項(例如:只能放一個Button或TextBox等)進去,所以要用另一個容器來當中介,這邊使用的是StackPanel,結果如下圖利用StackPanel當中介把三個CheckBox放到GroupBox裡面

2016年7月31日 星期日

[Android] 實作IBM Bluemix雲端平台的Speech To Text功能


這邊開發在android平台上使用IBM Bluemix的Speech To Text (STT)功能,此篇文章簡單介紹IBM STT的申請流程,程式請看文章底部的範例

使用心得 :  英文的語音辨識個人覺得蠻準的,但中文(辨識結果是回傳簡體中文)的語音辨識還可以在改善

申請流程如下 :
  • IBMBluemix雲端平台註冊後,提供免費使用1個月的天數,看到下圖提供很多認知運算的功能,這裡要申請使用Speech To Text的功能

  • 選擇Speech To Text後,顯示如下畫面,確認右邊的資料後點建立

*IBM能辨識的語言有8種,且提供前1千分鐘免費
  • 建立成功後會看到下圖,點畫面左邊的服務認證會看到urlpasswordusername的資料,這些資料會再寫程式時用到

2016年7月30日 星期六

Android與mBot機器人藍芽連線並透過藍芽傳送訊息

此範例檔的藍芽連線,需事先在手機做好與藍芽裝置的配對,android再指定對方藍芽裝置的MAC位置進行連線
*此範例是與mBot的藍芽裝置連線,若是藍芽裝置接麵包板可能要設定pin腳,不適用本範例,但可參考android藍芽連線


Android部分
AndroidManifest.xml
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission
android:name="android.permission.BLUETOOTH_ADMIN" />

建立一個類別檔叫AsClientConnectBT
public class AsClientConnectBT {
    BluetoothAdapter mBtAdapter = BluetoothAdapter.getDefaultAdapter();
    BluetoothSocket socket;
    BluetoothDevice device;
    InputStream inStream;
    OutputStream outStream;
    UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb")//固定的字串
    byte[] msgBuffer;

    public AsClientConnectBT(){
        device = mBtAdapter.getRemoteDevice("00:0D:19:03:17:D5")//對方藍芽裝置MAC位置
        try {
            socket = device.createRfcommSocketToServiceRecord(MY_UUID);
            inStream = socket.getInputStream();     //接收傳來的資料
            outStream = socket.getOutputStream();   //傳送資料給arduino
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public void run(){
        try {
            socket.connect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void cancel(){
        try {
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    public void SendMsg(){
        try {
            outStream = socket.getOutputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }

        msgBuffer = "0".getBytes()//傳送0

        try {
            outStream.write(msgBuffer);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

MainActivity檔案
public class MainActivity extends AppCompatActivity {
    AsClientConnectBT clientCon = new AsClientConnectBT();
    TextView tv;
    Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView)findViewById(R.id.textview);
        btn = (Button)findViewById(R.id.button);
        btn.setOnClickListener(btnClick);
        clientCon.run();
    }

    public Button.OnClickListener btnClick = new Button.OnClickListener(){
        @Override
        public void onClick(View v) {
            clientCon.SendMsg();
        }
    };
}

Arduino部分


範例檔案

紀錄Arduino IDE載入函式庫方法