ዝርዝር ሁኔታ:
- ደረጃ 1: ቁሳቁሶች
- ደረጃ 2 የግንባታ ዕቅድ
- ደረጃ 3 - ሃርድዌር - የወረዳ ንድፍ
- ደረጃ 4 - ሃርድዌር - አክሬሊክስ መቁረጥ
- ደረጃ 5 - የአርዱዲኖ ፕሮግራም ኮድ
- ደረጃ 6: የተጠናቀቀ እይታ
ቪዲዮ: የነጥብ ብርሃን ንድፍ 6 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
“ብርሃንን በገዛ እጄ መቆጣጠር እና የራሴን ፈቃድ መግለፅ እችላለሁን?” በሚለው ሀሳብ ጀመርኩ።
በእራስዎ የእራስዎን ቀለሞች እንዲፈጥሩ ፣ በእነዚያ ቀለሞች የእራስዎን ቅጦች ዲዛይን እንዲያደርጉ እና የተለያዩ የአኒሜሽን ውጤቶችን እንዲያገኙ የሚያስችልዎ ‹የነጥብ ብርሃን ንድፍ› ነው።
ደረጃ 1: ቁሳቁሶች
- አርዱዲኖ UNO x 13
- WS2901 ወይም WS2811 ፒክሴል LED ስትሪፕ (130 LEDS)
- የአዝራር መቀየሪያ x 1
- የመቀየሪያ መቀየሪያ x 65
- Potentionmeter x 65
- ቀስተ ደመና ገመድ
- ኃይል በቂ SMPS
- ኮንዳክተር ገመድ
- አክሬሊክስ ግልፅ ክብ አሞሌ (30 ሚሜ ዲያሜትር)
- ጥቁር ቀለም አክሬሊክስ ቦርድ (5 ቲ) (500 ሚሜ*790 ሚሜ) x 2 ፣ (500 ሚሜ*35 ሚሜ) x 2 ፣ (790 ሚሜ*35 ሚሜ) x 2
ደረጃ 2 የግንባታ ዕቅድ
ደረጃ 3 - ሃርድዌር - የወረዳ ንድፍ
-
ከላይ እንደተጠቀሰው መዋቅር የ acrylic ሳህን ይቁረጡ። (ደረጃ 2 ይመልከቱ)
- አንድ የኒዮ-ፒክሴል ኤልኢዲ በ potentionmeter ቀዳዳ የላይኛው እና የታችኛው ክፍል ላይ ተጭኗል ፣ እና በአጠቃላይ 65 ጥንድ ኒኦ-ፒክሰል ኤልኢዲዎች ተያይዘዋል።
- አንድ የአርዱዲኖ ፒን ለመመስረት አንድ ጥንድ የኒዮ-ፒክሴል ኤልኢዲዎች በአንድ ላይ ተያይዘዋል።
- ከፖቲሜትር ሜትር ቀዳዳዎች ጋር 65 ፖታቲሜትር ሜትርን ይግጠሙ። (በኒዮ-ፒክሴሌድ ወለል ተቃራኒው ጎን ላይ ያድርጉት።)
- ከመቀየሪያ ቀዳዳዎች ጋር ለማዛመድ 65 ፈጣን ቁልፎችን ያያይዙ።
- አምስት የአስራ አራቱን የሃርድዌር ቁራጮችን ወደ አንድ አርዱዲኖ UNO ለማሰር በአጠቃላይ አስራ ሦስት የአርዱዲኖ ዩኒዮዎች ከእያንዳንዱ አስራ ሦስቱ ዞኖች ጋር ተያይዘዋል።
- በተያያዘው ፎቶ ላይ እንደሚታየው ጠቋሚዎቹን ፣ የመቀየሪያ መቀያየሪያዎቹን እና የኒዮ-ፒክሴል ኤልኢዲዎችን ወደ አርዱዲኖ UNO ፒኖች (ሽቦዎች) ያገናኙ። (ደረጃ 2 ይመልከቱ)
- የ GND እና የ 5V ፒኖች የበርካታ የአርዱዲኖ UNO ዎች ወደ ገመድ ሽቦዎች ይሰበሰባሉ ፣ ከዚያ ከውጭ ኃይል ጋር ይገናኛሉ። (ደረጃ 2 ይመልከቱ)
- በአየር ግፊት አቧራውን ያስወግዱ።
ደረጃ 4 - ሃርድዌር - አክሬሊክስ መቁረጥ
-
አክሬሊክስ ዘንግን በ 50 ሚሜ ርዝመት ይቁረጡ።
- የአክሪሊክስ ዘንግ አንድ ጎን ከፖቲሜትርሜትር ተቆጣጣሪ ክፍል ጋር ለማዛመድ በመጠን እና በጥልቀት ተቆፍሯል።
- ወደ ፖታቲሜትር ውስጥ በደንብ ሊገባ ከሚችል ቀዳዳ (አክሬሊክስ) በትር ከጉድጓዱ በትንሹ ሰፋ ያለ ነው።
- ብርሃኑ በደንብ እንዲተላለፍ ሌላኛው ወገን ትንሽ የአሸዋ ወረቀት ይሰጣል።
ደረጃ 5 - የአርዱዲኖ ፕሮግራም ኮድ
www.kasperkamperman.com/blog/arduino/ardui…
'hsb to rgb' ኮድ 를 참고 한 사이트
#ያካትቱ
// 'adafruit_neopixel' 헤더 파일 라는 외부 라이브러리 를 를 포함
// 네오 픽셀 연결 핀 핀 번호 선언 선언
#ጥርት ፒን 1 2 #ተጣራ ፒን 2 3 #ፒን 3 4 #ገላጭ ፒን 5 5 #ፒን 5 6 ን ይግለጹ
#መግለፅ NUMPIXELS 2 // 네오 픽셀 LED 갯수
#ይግለጹ NUM_LIGHTS 5 // 작동 모듈 갯수 (네오 픽셀 오브젝트 갯수)
// 네오 픽셀 오브젝트 ድርድር 선언
Adafruit_NeoPixel ፒክስል = {Adafruit_NeoPixel (NUMPIXELS, PIN1, NEO_GRB + NEO_KHZ800), Adafruit_NeoPixel (NUMPIXELS, PIN2, NEO_GRB + NEO_KHZ800), Adafruit_NeoPixel (NUMPIXELS, PIN3, NEO_GRB + NEO_KHZ800), Adafruit_NeoPixel (NUMPIXELS, PIN4, NEO_GRB + NEO_KHZ800), Adafruit_NeoPixel (NUMPIXELS ፣ PIN5 ፣ NEO_GRB + NEO_KHZ800)}; //// 네오 픽셀 을 사용 하기 위해 객체 객체 하나 를 를 를 생성. // LED 인자 값 은 네오 픽셀 의 의 의 의 의 두번째 두번째 두번째 두번째 두번째 두번째 두번째 의 의 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는 바뀌는
//////////////////////////////////////////////////////////////
////// HSV 를 RGB 로 변환 하는 함수 getRGB () 를 위한 변수 와 함수 함수 선언
const ባይት dim_curve = {
0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 25, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 32, 32, 33, 33, 34, 35, 35, 36, 36, 37, 38, 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 46, 47, 48, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 78, 79, 81, 82, 83, 85, 86, 88, 90, 91, 93, 94, 96, 98, 99, 101, 103, 105, 107, 109, 110, 112, 114, 116, 118, 121, 123, 125, 127, 129, 132, 134, 136, 139, 141, 144, 146, 149, 151, 154, 157, 159, 162, 165, 168, 171, 174, 177, 180, 183, 186, 190, 193, 196, 200, 203, 207, 211, 214, 218, 222, 226, 230, 234, 238, 242, 248, 255, }; //
ባዶ getRGB (int hue ፣ int sat ፣ int val ፣ int ቀለሞች [5] [3] ፣ int index) {
val = dim_curve [val]; ተቀመጠ = 255 - dim_curve [255 - sat];
// 색조 ፣ 채도 및 밝기 (HSB /HSV) ፣ RGB 로 변환
// dim_curve 밝기 밝기 값 및 채도 (반전) 에서만 사용 됩니다. // 이것은 가장 자연스럽게 보입니다 보입니다.
int r;
int g; int ለ; int መሠረት;
ከሆነ (ተቀመጠ == 0) {
ቀለሞች [መረጃ ጠቋሚ] [0] = ቫል; ቀለሞች [መረጃ ጠቋሚ] [1] = ቫል; ቀለሞች [መረጃ ጠቋሚ] [2] = ቫል; } ሌላ {
መሠረት = ((255 - ሳት) * ቫል) >> 8;
መቀየሪያ (ቀለም / 60) {
ጉዳይ 0: r = ቫል; g = (((ቫል - መሠረት) * ቀለም) / 60) + መሠረት; ለ = መሠረት; ሰበር;
ጉዳይ 1 ፦
r = (((ቫል - መሠረት) * (60 - (hue % 60))) / 60) + መሠረት; g = ቫል; ለ = መሠረት; ሰበር;
ጉዳይ 2
r = መሠረት; g = ቫል; ለ = (((ቫል - መሠረት) * (hue % 60)) / 60) + መሠረት; ሰበር;
ጉዳይ 3
r = መሠረት; g = (((ቫል - መሠረት) * (60 - (hue % 60))) / 60) + መሠረት; ለ = ቫል; ሰበር;
ጉዳይ 4:
r = (((ቫል - መሠረት) * (hue % 60)) / 60) + መሠረት; g = መሠረት; ለ = ቫል; ሰበር;
ጉዳይ 5:
r = ቫል; g = መሠረት; ለ = (((ቫል - መሠረት) * (60 - (hue % 60))) / 60) + መሠረት; ሰበር; }
ቀለሞች [መረጃ ጠቋሚ] [0] = r;
ቀለሞች [መረጃ ጠቋሚ] [1] = g; ቀለሞች [መረጃ ጠቋሚ] [2] = ለ; }
}
int rgb_colors [NUM_LIGHTS] [3]; // 네오 픽셀 오브젝트 갯수 마다 gb rgb ቀለም 선언
int hue [NUM_LIGHTS]; // 네오 픽셀 오브젝트 갯수 ue hue 선언 int sat [NUM_LIGHTS]; // 네오 픽셀 갯수 갯수 마다 명도 선언 int brignt [NUM_LIGHTS]; // 네오 픽셀 오브젝트 갯수 마다 마다 밝기 서언 서언
// 일반 변수 선언
int beginSwitch = {8, 9, 10, 11, 12}; // አብራ/አጥፋ 번호 핀 번호 boolean startState = {ሐሰት ፣ ሐሰት ፣ ሐሰት ፣ ሐሰት ፣ ሐሰት}; // አብራ/አጥፋ 변수 변수
const int colorPin = {A0, A1, A2, A3, A4}; // 가변 저항 핀 번호 번호
int colorVal = {0, 0, 0, 0, 0}; // 가변 저항 초기 값 값
int animationButton = 7; // 애니메이션 모드 변환 버튼 버튼 핀 번호 번호
/////////////////////////////////////////////////
// 애니메이션 모든 변환 을 위한 버튼 버튼 디 바운싱 변수 변수 디 // 디 바운싱? Button 시간 내 많은 이벤트 가 발생 하는것 에 대한 에 대해서 대해서 해결 button button button button button button button button button button int buttonState; // 입력 핀 으로부터 의 현재 판독 last int lastButtonState = HIGH; // 이전 의 판독 값 은 켜진 상태 로 로 ያልተፈረመ ረጅም lastDebounceTime = 0; // 출력 핀 이 마지막 으로 전환 된 시간 은 0 으로 ያልተፈረመ ረጅም debounceDelay = 50; // 디 바운싱 타임 설정; 출력 이 깜빡 이면 증가 한다 한다 int MODE = 0; // 애니메이션 모드 변수
int B_Interval [5]; // 블 링킹 을 위한 각 모듈 모듈 의 의 랜덤 랜덤 랜덤 변수
int B_Min = 100; // 블 링킹 최단 속도; int B_Max = 500; // 블 링킹 최장 속도; int R_Interval = 50; // 레인보우 애니메이션 속도 변수 int D_Interval = 10; // 디밍 속도 변수
ቡሊያን B_state [5]; // 블 링킹 을 위한 각 모듈 모듈 의 의 상태 상태 변수
///////////////////////////////////////////////////////
// 멀티 테스 킹 애니메이션 을 위한 위한 시간 시간 변수 변수 선언
ያልተፈረመ ረጅም የአሁኑ ሚሊስ; // 현재 시간 변수
ያልተፈረመ ረጅም B_previousMillis [5]; // 각 모듈 의 블 링킹 타이머 ያልተፈረመ ረጅም DR_Millis [5]; // 각 모듈 의 디밍 랜덤 타이머 (예비) ያልተፈረመ ረጅም R_previousMillis; // 레인보우 타이머 ያልተፈረመ ረጅም D_previousMillis; // 디밍 타이머
ቡሊያን firstRainbow = እውነት; // 레인보우 색상 초기화 상태 상태 변수
int RainbowSpeed; // 레인보우 변환 변수
int ብሩህ = 100; // 디밍 초기 값 int BrightnessFactor = 1; // 디밍 증감 값 //////////////////////////////// /////////////////////////////////
ባዶነት ማዋቀር () {
ለ (int i = 0; i <NUM_LIGHTS; i ++) {pixels .begin (); // 네오 픽셀 오브젝트 초기화}
// 버튼 인풋 설정
ለ (int i = 0; i <NUM_LIGHTS; i ++) {pinMode (startSwitch ፣ INPUT_PULLUP) ፤ // አብራ/አጥፋ 버튼 인풋 설정} pinMode (animationButton, INPUT_PULLUP); // 애니메이션 버튼 인풋 설정 설정
ለ (int i = 0; i <NUM_LIGHTS; i ++) {B_Interval = int (በዘፈቀደ (B_Min ፣ B_Max)); // 모듈 별 블 링킹 랜덤 랜덤 인터발 (인터발) 변수 생성}
Serial.begin (9600); // 통신 설정
}
ባዶነት loop () {
ሁነታ = CheckAnimMode (); // 모드 에 애니메이션 체크 모드 모드 함수 함수 를 넣는다
// 버튼 과 가변 저항 을 값 값 을 각각 읽어 읽어 변수 변수 변수 변수 한다.
ለ (int i = 0; i <NUM_LIGHTS; i ++) {startState =! digitalRead (startSwitch ); // አብራ/አጥፋ 에서 에서 읽은 값 의 반대 값 을 St startState 에 넣어 준다 // startState = digitalRead (startSwitch ); colorVal = analogRead (colorPin ); // 가변 저항 에서 읽은 값 을 가변 가변 저항 초기 값 값 에 에 에}
ማብሪያ (ሞድ) {// 애니메이션 함수 스위치 문
ጉዳይ 0: ላይ (); // በ 함수 실행 እረፍት ላይ; // 조건문 에서 빠져 나가라 나가라
ጉዳይ 1 ፦
ቀስተ ደመና (); // ቀስተ ደመና 실행 실행 ሰበር;
ጉዳይ 2
ማደብዘዝ (); // ማደብዘዝ 실행 실행 መስበር;
ጉዳይ 3
ብልጭ ድርግም (); // ብልጭ ድርግም ማለት 실행 실행 ሰበር; }
ለ (int i = 0; i <NUM_LIGHTS; i ++) {pixels .show (); // 네오 픽셀 오브젝트 배열 켜라 켜라}
}
/////////////////////////////////////////////////////////////
int CheckAnimMode () {
// 애니메이션 선택 버튼 을 읽어 모드 모드 를 를 결정 결정 한다.
//////////////////////////////// /// currentMillis = millis (); // 시간 측정 int reading = digitalRead (animationButton); ከሆነ (ንባብ! // 현재 시간 을 출력 핀 이 마지막 마지막 으로 전환 된 시간 시간 시간 에 에}
ከሆነ ((currentMillis - lastDebounceTime)> debounceDelay) {
ከሆነ (ማንበብ! = buttonState) {// 입력 핀 받은 현재 값 과 과 판독 값 과 비교 비교
buttonState = ማንበብ; // 판독 값 을 አዝራር ግዛት 대입 대입
ከሆነ (buttonState == LOW) {// 버튼 상태 가 꺼져 있다면
MODE ++; // 버튼 모드 1 증가 증가 ከሆነ (MODE> 3) {MODE = 0; firstRainbow = እውነት; // 레인보우 색상 초기화 상태 켜짐 BrightnessFactor = 1; // 디밍 증감 값 ብሩህ = 15; // 밝기 는 15}}}}
lastButtonState = ማንበብ; // 판독 값 을 이전 의 버튼 버튼 상태 상태 에 에 대입
MODE ን መመለስ; 하고 를 종료 하고 하고 ሞድ 로 로 값 을 리턴 하라 하라}
////////////////////////////////////////////////////////////////////
// የአኒሜሽን ሞድ መዝናኛ
// በርቷል
ባዶ ላይ () {Serial.println («በርቷል»); // 시리얼 모니터 에 on 을 써라 ለ (int i = 0; i <NUM_LIGHTS; i ++) {color_set (i, colorVal ); // 가변 저항 값 에 따라 컬러 컬러 셋팅}}
// ቀስተ ደመና
ባዶ ቀስተ ደመና () {Serial.println (“ዝናብ”); // 시리얼 모니터 에 ዝናብ 써라 써라 ከሆነ (firstRainbow) {RainbowSpeed = 0; // 레인보우 속도 초기화 firstRainbow = ሐሰት; // 레인보우 색상 초기화 상태 꺼짐 if} ከሆነ (ሚሊስ () - R_previousMillis> R_Interval) {// 흐른 시간 값 이 레인보우 인터벌 값 보다 크면 _ R_previousMillis = currentMillis; // 현재 시간 을 이전 의 레인보우 시간 에 넣어 라 in RainbowSpeed += 10; // 레인보우 변환 변수 에 10 을 더해라}
ለ (int i = 0; i <NUM_LIGHTS; i ++) {color_set (i ፣ (colorVal +RainbowSpeed) % 1023); // 레인보우 컬러 셋팅}
}
// ማደብዘዝ
ባዶነት ማደብዘዝ () {Serial.println ("dimm"); // 시리얼 모니터 에 dimm 을 써라 Serial.println (ብሩህ); // 시리얼 모니터 에 ብሩህ 써라 써라 ከሆነ (የአሁኑ ሚሊስ - D_previousMillis> D_Interval) {// 흐른 시간 값 이 디밍 인터벌 값 보다 보다 _ D_previousMillis = currentMillis; // 현재 시간 을 이전 의 디밍 시간 에 넣어 라 라 ብሩህ += BrightnessFactor; // 밝기 에 디밍 증감 값 1 씩 올려라} ከሆነ (ብሩህ 254) {BrightnessFactor = -1 * BrightnessFactor; } ብሩህ = እገዳ (ብሩህ ፣ 99 ፣ 254); // 변수 밝기 값 을 최소값 99 ~ 최대 값 254 의 의 값 으로 으로 한정 한다
ለ (int i = 0; i <NUM_LIGHTS; i ++) {dim_color_set (i, Bright); // 디밍 컬러 셋팅}}
// ብልጭ ድርግም
ባዶ ብልጭ ድርግም () {Serial.println ("ብልጭ ድርግም"); // 시리얼 모니터 에 ብልጭ ድርግም ይላል
ለ (int i = 0; i B_Interval ) {// 흐른 시간 값 이 블링크 인터벌 값 보다 크면 크면
B_previousMillis = currentMillis; // 현재 시간 을 이전 의 블링크 시간 에 넣어 _ _ B_state =! B_state ; // 각 모듈 의 블 링킹 상태 변수 의 값 반대 값 값 을 을 대입 하라}} ለ (int i = 0; i <NUM_LIGHTS; i ++) {if (B_state ) {// 모듈 의 블 링킹 상태 상태 히면 color_set (i, colorVal ); // 가변 저항 값 에 따라 컬러 셋팅} ሌላ {noColor_set (i); // 읽히지 않으면 컬러 셋팅 하지 하지 않음}}
}
////////////////////////////////////////////////////////////////////////////////////////
// ዋና ነጥብ
// የቀለም ስብስብ
ባዶነት color_set (int ኢንዴክስ ፣ int colorSenser) {
ከሆነ (startState [index]) {hue [index] = map (colorSenser, 0, 1023, 0, 359); // 0 ~ 1023 값 을 0 ~ 359 값 으로 매핑 한 값 을 가지고 가지고 색상 값 color color (colorSenser 에) getRGB (hue [index], 255, 255, rgb_colors, index); ለ (int i = 0; i <NUMPIXELS; i ++) {pixels [index].setPixelColor (i ፣ pixels [index]. Color (rgb_colors [መረጃ] [2])); } // 픽셀 컬러 셋팅 을 rgb_colors 의 r, g, b 으로 설정} ሌላ noColor_set (መረጃ ጠቋሚ); // 컬러 셋팅 하지 않음}
////// noColor ስብስብ
ባዶ ባዶColor_set (int index) {// 컬러 셋팅 하지 않는 함수 설정 설정
ለ (int i = 0; i <NUMPIXELS; i ++) {pixels [index].setPixelColor (i ፣ pixels [index]. Color (0, 0, 0)); } // 픽셀 컬러 세팅 을 0, 0, 0 으로 설정}
//// dimColor ስብስብ
ባዶ dim_color_set (int ኢንዴክስ ፣ int BC) {// 디밍 컬러 셋팅 함수 설정 설정
ከሆነ (startState [index]) {hue [index] = map (colorVal [index], 0, 1023, 0, 359); // 0 ~ 1023 값 을 0 ~ 359 값 으로 매핑 한 값 을 가지고 가지고 색상 color color color (colorVal 에) getRGB (hue [index], 255, BC, rgb_colors, index); ለ (int i = 0; i <NUMPIXELS; i ++) {ፒክስሎች [መረጃ ጠቋሚ].setPixelColor (እኔ ፣ ፒክስሎች [መረጃ ጠቋሚ] [2])); } /// 픽셀 컬러 셋팅 을 rgb_colors 의 r, g, b 으로 설정} ሌላ noColor_set (መረጃ ጠቋሚ); // 컬러 셋팅 하지 않음}
ደረጃ 6: የተጠናቀቀ እይታ
የሚመከር:
ትራፊክ ብርሃን ንድፍ በቪሽኑ ሲ ሳቡ 3 ደረጃዎች
ትራፊክ ብርሃን ንድፍ በቪሲኖ ሲ ሳቡ - ለአንዳንድ መኪኖች የመንገድ መብትን በመስጠት ሌሎችን ሳይሆን የመንገድ መብትን በመስጠት እንቅስቃሴን ይረዳሉ እና ሥርዓታማ ፍሰት እንዲኖር ይረዳሉ። እነሱ የመኪና ትራፊክን የበለጠ ደህንነቱ የተጠበቀ ብቻ ሳይሆን የእግረኛ ትራፊክንም ያደርጋሉ። እነሱ የአደጋዎችን ቁጥር ለመቀነስ እና በመስቀለኛ መንገድ ላይ ግጭት ለመፍጠር ይረዳሉ
የነጥብ ማትሪክስ 32x8 Max7219 ከአርዲኖኖ ጋር መገናኘት -5 ደረጃዎች (ከስዕሎች ጋር)
ነጥብ ማትሪክስ 32x8 Max7219 ከአርዲኖኖ ጋር መስተጋብር: ሠላም ሁሉም ፣ ነጥብ ማትሪክስ የተመሠረተ o Max7219 በ 2020 አዲስ አይደለም ፣ እስከ ቅርብ ጊዜ ድረስ ፣ የማዋቀሩ ሂደት በጥሩ ሁኔታ ተመዝግቧል ፣ አንድ የሃርድዌር ቤተመፃሕፍት ከ MajicDesigns ያውርዳል። እና በአርዕስት ፋይሎች ውስጥ ጥቂት መስመሮችን ቀይሯል እና FC16 እንደ ውበት ይሠራል። ይህ እስከ
የነጥብ ማትሪክስ ቦርድ 8 ደረጃዎች
የነጥብ ማትሪክስ ቦርድ - ይህ የነጥብ ማትሪክስ ቦርድ ማንኛውንም ፊደል ወይም ቁጥር በተከታታይ ሊያሳዩ የሚችሉ ሶስት MAX7219 ነው። ይህ የአርዱዲኖ ፕሮጀክት በዚህ ድር ጣቢያ ላይ የተመሠረተ ነው። ከቀዳሚው ድር ጣቢያ 2 ተጨማሪ ነጥብ ማትሪክስ ፣ አንድ አዝራር እና አንድ ድምጽ ማጉያ ጨመርኩ። ፊደሎቹ ሳሉ
የ LED የሌሊት ብርሃን ወ/ ኮከብ ንድፍ መስራት 8 ደረጃዎች (ከስዕሎች ጋር)
የ LED የሌሊት ብርሃን ወ/ ኮከብ ንድፍ መስራት - ይህ የ LED የምሽት ብርሃን የኮከብ ንድፍን ያሳያል እና አስማታዊ በሆነ መንገድ ጨለማ ክፍልን ያበራል። እኔ ለእንጨት ጥሪን እጠቀም ነበር ፣ ሆኖም ግን ማንኛውም ጥቁር እንጨት ፣ ወይም ለምሳሌ ኤምዲኤፍ ቀለም በጥሩ ሁኔታ ይሠራል። ይህ በእውነት አስደሳች ፕሮጀክት ነው እና እንደ አክሰንት ብርሃን ጥሩ ይሆናል
UVIL: የጀርባ ብርሃን ጥቁር ብርሃን የሌሊት ብርሃን (ወይም የእንፋሎት ፓንክ አመልካች መብራት): 5 ደረጃዎች (ከስዕሎች ጋር)
UVIL: የጀርባ ብርሃን ጥቁር ብርሃን የሌሊት ብርሃን (ወይም የእንፋሎት ፓንክ አመላካች መብራት)-እጅግ በጣም የሚያብረቀርቅ የኒዮ-retropostmodern አልትራቫዮሌት አመላካች መብራትን እንዴት ማቀናጀት እንደሚቻል። ይህ በሌላ መመሪያ ውስጥ የተዘረዘሩትን የፒ.ሲ.ቢ የማጣበቅ ሂደትን ለመገምገም ያደረግኳቸውን የመጀመሪያዎቹን ሁለት ግንባታዎች ያሳያል። . የእኔ ሀሳብ እነዚህን እንደ እኔ መጠቀም ነው