2022年12月16日 星期五

B5CH4電學講義與授課流程

(上圖之檔案下載)

第一節課
熟悉PhET網頁直流電操作,2人一組完成,國小有提到串聯並聯,課程目標:複習+閱讀+器材操作課程,學生運用PhET網頁合作完成1.電池串聯2.電池並聯3.燈泡串聯4.燈泡並聯,觀察燈泡料度。目標:複習串聯並聯,熟悉介面操作

2022年12月10日 星期六

ChatGPT用於教與學的想像2-語言學習

先說結論:
有了這麼厲害的對話軟體,未來可能不用再學任何外文了

在臉書上看到某位英文老師分享如何請ChatGPT修改文章,提供建議,讓自己的文章更通順,於是我就想到我自己未來如果要進行日文寫作或是英文寫作時,有沒有辦法加速進行

現在我的學習流程是:寫一篇文章->請老師協助修改->跟老師討論文法問題->完成學習
有了ChatGPT後的學習流程可以變成兩個方向
1.比較困難沒有頭緒的題目:請ChatGPT先寫一篇->蒐集內容提到的有興趣部分->替換修改自己的概念->寫一篇新的文章
2.比較有想法的題目:自己寫一篇文章->丟給ChatGPT改->請它修正成順暢一點的版本並找出文句的"低級錯誤"->修正後找老師討論這些錯誤

這樣學習的好處是完整的加速,將人工閱卷的低級文法錯誤交由電腦處理,而人腦可以進行更高階的思考或是花更多時間用來說話討論。

為什麼說未來不用學外文了,因為你只要學好母國語言,透過這個軟體翻譯就可以了,它的文章書寫程度目前我看起來已經比國中生更出色了,甚至超過高中生的程度,而這樣的程度泛用在各種語言的話,真的就不需要學外文了,因為已經能順暢的即時翻譯。(當然也能拿來加速外文的學習)

文組已死的可能即將出現。而不久後說不定理組也會跟著死亡。

這絕對是一種破壞性的工具,能越早掌握這個工具真正使用方法,就能越早成為超速學習者。

前一個資訊蒐集的突變體叫做google,我估計大概半年內這個ai就能超過google的使用範疇了

以下是我使用ChatGPT試寫研究所入學題目的產出,基本上我覺得它比我寫的垃圾厲害10倍,也能依據我輸入的文句去調整成更順暢的文章,還能修正單字或是構句,本來我以為google文件能修改文法錯誤已經很夠用了,但這個工具只能用可怕來形容。

2022年12月9日 星期五

ChatGPT用於教與學的想像-1解題培訓與反思

有這個厲害的工具後,看到很多人拿來思考不同功能,身為老師的我,想說是否可以拿來當成解題機器。因為它分析文字的能力十分厲害,因此說不定可以拿來培訓題目。比google厲害的是ChatGPT是會蒐集整理資料,有自己的邏輯,google只能呈現網路資料而已

我覺得可以拿來問問題,而且試著教會它某個概念的同時,也能加強自己的觀念

因此可以在知道解答,知道原理的狀態下跟它互動,然後如果它的答案是對的,可以請它列出解題流程,思考一下跟自己的異同

如果答案是錯的,試著提供資料讓它學會正確概念

這樣學習者本身也學會新的說法,跟有一個無窮耐心的對手能夠討論 

而未來人類需要的能力,可能要更抽象一些了,當人工智慧能夠這麼快吸收修正一個概念時,我們要如何運用它來協助自己有更快速的成長,就像職業棋士一樣,自從敗給ai後,以ai為師,常常有講評會說:這一手很ai、如果是ai可能會這麼下,這就是一種善用工具的辦法

世界可能從今天開始會產生很大的質變了,而未來世界可能會加速拉大主動思考者跟被動接收者的差距,產生兩群不同的人類吧!
希望每個學子都能早點發現這個趨勢,變成主動思考者而不是被動接受者。


以下是鍛鍊ChatGPT了解110年國中會考題的對話過程

2022年7月14日 星期四

111會考A++生物複習講義

 連續兩年暑假都進修,去年終於有時間,重新帶生物複習課程,把題庫整理好

今年又調整一下,想說也公開讓想要使用資源的使用,不過只有pdf檔請見諒

要考會考最好的方式就是從會考題開始練習,坊間的題目可能超綱或是考一些太細節的事情,但會考題基本上就會服膺課綱或是有比較嚴謹一些的出題審題機制,統整幾年下來也發現有一定的規律,而且500題練習絕對足夠

以終為始的訓練,就從會考題當起點,會考題當終點吧

有下載使用的也請於下方留言告知,網路禮儀,感謝

有什麼回饋也能在下方留言,讓這份資料可以更好用造福更多人


111生物會考自然B勝講義

去年寒假輔導整理出會考20題後,發現出題比率的確滿高的,今年就把這份講義再進化一次,加入111年會考題,並從會考分析概念開始鋪陳,希望學生學會自己分析概念的上位概念,就能更精確的知道那些概念容易變成題目,那些題目要用什麼角度思考與學習,了解出題老師的想法後,就能更精確地回答問題,也能在學習時有較好的鷹架可以搭建新概念。

其他該寫的都已經寫在裡面了,想使用的就下方留言,採CC授權:BY-NC-SA姓名標示-非商業性-相同方式分享

有下載使用的也請於下方留言告知,網路禮儀,感謝

有什麼回饋也能在下方留言,讓這份資料可以更好用造福更多人


2022年6月26日 星期日

課業學習的觀念


picture by chatGPT DALL-E 3

1.      讀課本,不要讀參考書

千萬不要只依賴參考書、講義或是老師上課重點,“讀”參考書、講義、老師給的重點是較無意義的學習,講義是用來補充自己不足,不是用來學習內容概念的,補不足的方式是:

2022年4月7日 星期四

arduino紅外線溫度計MLX90614+溫濕度計DHT11+OLED實作

/*

 * PHYduino紅外線溫度計+溫濕度計

* need 需要元件 DHT11溫濕度計、MLX90614紅外線溫度計、OLED0.96吋

 * design by orangeV,taiwan,tainan 台南大成國中 蔡智恆

 * need libraries 需要程式庫<DHT.h>,<SPI.h>,<Wire.h>,<Adafruit_GFX.h>,<Adafruit_SSD1306.h>,<Adafruit_MLX90614.h>

*/


int

//對應腳位

ds18b20 = 7, 

DHTPin = 15,      //A1溫濕度DHT

DHT2Pin = 16;     //A2溫濕度DHT2


//MLX90614腳位 SCL->A5、SDA->A4

//DHT11/22

#include <DHT.h>

DHT dht(DHTPin, DHT11);

DHT dht2(DHT2Pin, DHT11);


#include <OneWire.h>

#include <DallasTemperature.h>

OneWire oneWire(ds18b20);

DallasTemperature sensors(&oneWire);



//MLX90614

#include <Wire.h>

#include <Adafruit_MLX90614.h>

Adafruit_MLX90614 mlx = Adafruit_MLX90614();



//OLED

#include <SPI.h>

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#define OLED_RESET -1

Adafruit_SSD1306 display(OLED_RESET);

//OLEDsetting

#define LOGO16_GLCD_HEIGHT 32

#define LOGO16_GLCD_WIDTH  16

#if (SSD1306_LCDHEIGHT != 32)

#error("Height incorrect, please fix Adafruit_SSD1306.h!");

#endif


int line_count=0;


//PHYduino圖檔

const unsigned char PHYduino_Logo [] PROGMEM = {

0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,

0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa,

0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e,

0x67, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6,

0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6,

0x66, 0xff, 0xfc, 0xff, 0xfc, 0xe0, 0x38, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x66,

0x66, 0x00, 0x14, 0xa0, 0x14, 0xa0, 0x68, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x66,

0x66, 0xfc, 0x0c, 0xc0, 0x0c, 0xc0, 0x98, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x66,

0x66, 0x0c, 0x0c, 0xc0, 0x00, 0x83, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xa6,

0x66, 0x0c, 0x0c, 0xc0, 0x00, 0x8c, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0xe6,

0x66, 0x0c, 0x1c, 0xe0, 0x00, 0xd0, 0x18, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x06,

0x66, 0xf7, 0xf4, 0xa0, 0x1c, 0xa0, 0x39, 0xff, 0xf7, 0x80, 0x7f, 0xc3, 0xf3, 0x06, 0x00, 0xe6,

0x66, 0xac, 0x18, 0xff, 0xf4, 0xff, 0xe9, 0x40, 0x1e, 0x80, 0x51, 0x42, 0xd3, 0x05, 0xff, 0xa6,

0x66, 0xcc, 0x00, 0x00, 0x0c, 0x00, 0x39, 0x80, 0x19, 0x80, 0xf1, 0xf3, 0x33, 0x06, 0x00, 0x66,

0x66, 0x0c, 0x00, 0x00, 0x04, 0x00, 0x19, 0x80, 0x19, 0x83, 0x31, 0x98, 0x33, 0x06, 0x00, 0x66,

0x66, 0x0c, 0x00, 0x00, 0x04, 0x00, 0x19, 0x80, 0x19, 0x8c, 0x31, 0x8e, 0x33, 0x06, 0x00, 0x66,

0x66, 0x0e, 0x00, 0x00, 0x0c, 0x00, 0x39, 0xc0, 0x39, 0xb0, 0x31, 0x83, 0xb3, 0x92, 0x00, 0x66,

0x66, 0x0a, 0x00, 0x00, 0x14, 0x00, 0x29, 0x40, 0x29, 0x40, 0x51, 0x40, 0xd2, 0xad, 0xff, 0xa6,

0x67, 0x0f, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xf9, 0xc0, 0x73, 0xc6, 0x00, 0xe6,

0x65, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x66,

0x67, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6,

0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e,

0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa,

0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

};


void setup() {

  //DHT

  Wire.begin();

  dht.begin();

  dht2.begin();

  

  //ds18b20

  sensors.begin();

  

  Serial.begin(9600);

  mlx.begin();  

  //OLED

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

  display.display();

  display.clearDisplay();

  display.drawBitmap(0, 8, PHYduino_Logo, 128, 64, WHITE);

  display.setTextColor(WHITE);

  display.setCursor(0,0);

  display.setTextSize(1);

  display.print("orangeV TCJHS.lab T&C");

  display.display();

  delay(1500);

  display.clearDisplay();

}




void loop() {

  display.setTextColor(WHITE);

  display.setCursor(0,0);

  display.setTextSize(1);


//此處可方便未來用電腦輸出檔案

  switch(0) {

    case 0:

      // 第一列印出 Excel 標題列

      if(line_count == 0) {

        Serial.println("MLX_temperature,IR_temperature,DHT_temperature,DHT_humidity");

        Serial.println("MLX*C,IR *C,DHT*C,DHT %");

      }  

      else {

        Serial.print(mlx.readAmbientTempC());

        Serial.print(",");

        Serial.print(mlx.readObjectTempC());

        Serial.print(",");

        Serial.print(dht.readTemperature());

        Serial.print(",");

        Serial.println(dht.readHumidity());

      }

      line_count ++;

    break;

  }

  

  DHTxx();

  delay(1000);

}


void DHTxx() {

  sensors.requestTemperatures();

  float DHThum = dht.readHumidity();

  float DHTtemp = dht.readTemperature();

  float cc = sensors.getTempCByIndex(0);

  float cc1 = sensors.getTempCByIndex(1);

  float DHT2hum = dht2.readHumidity();

  float DHT2temp = dht2.readTemperature();

  display.println("orangeV TCJHS.lab T&C"); display.print("IR_T = "); display.setTextSize(2); display.print(mlx.readObjectTempC()); display.setTextSize(1); display.print("\t"); display.setCursor(102, 16); display.println("C"); display.print("DHT_T= "); display.print(DHTtemp,1); //小數點1位 display.setTextSize(1); display.print("\t"); display.print("C "); display.print(DHThum,1); //小數點1位 display.println("%");

  

  display.display();

  display.clearDisplay();

}


--------------程式在上方的分隔線---------------

參考資料

一、筆記(78):利用Python讀取序列埠溫濕度值儲存到csv檔

https://atceiling.blogspot.com/2019/12/arduino78pythoncsv.html


二、紅外線溫度計 使用紅外線溫度感測器[MLX90614 / GY-906]

https://sites.google.com/mail3.hwsh.tc.edu.tw/earth/arduinoadvanced/ir-temperature-sensor-mlx90614