1.使用ChatGPT
2.貼學校網站上的 8X8 LED 還有SONIC 程式碼供ChatGPT 參考
3.請ChatGPT參考
4.裝LEDCONTROL 程式庫(8X8 LED)
ChatGPT 提供程式碼如下:
#include <LedControl.h>
// 設定 8x8 LED 矩陣的腳位 (DIN, CLK, CS)
#define DATA_IN 5
#define CLK 7
#define LOAD 6
// 初始化 LedControl 物件,控制一個 LED 矩陣
LedControl lc = LedControl(DATA_IN, CLK, LOAD, 1);
// 超音波感測器腳位定義
#define echoPin 8
#define trigPin 9
void setup() {
// 設定腳位模式
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// 設定 LED 矩陣初始設定
lc.shutdown(0, false); // 開啟顯示
lc.setIntensity(0, 8); // 設定亮度,範圍是 0 到 15
lc.clearDisplay(0); // 清除顯示內容
Serial.begin(9600); // 啟動序列監控器,用來除錯
}
void loop() {
long duration, distance;
// 觸發超音波感測器
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// 接收回音信號
duration = pulseIn(echoPin, HIGH);
// 計算距離 (單位:cm)
distance = (duration / 2) / 29.1;
// 根據距離顯示不同的圖案
if (distance < 100) { // 若距離小於 100 cm,顯示愛心圖案
showHeart();
} else { // 若距離大於等於 100 cm,清除顯示
lc.clearDisplay(0);
}
delay(500); // 延遲 500 毫秒
}
// 顯示愛心圖案
void showHeart() {
byte heart[8] = {
B00000000,
B01101100,
B11111110,
B01111100,
B00111000,
B00010000,
B00000000,
B00000000
};
// 顯示愛心圖案到 LED 矩陣
for (int row = 0; row < 8; row++) {
lc.setRow(0, row, heart[row]);
}
}
留言
張貼留言