제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
|
LiquidCrystal 라이브러리를 사용하면 Arduino와 함께 LCD를 쉽게 사용할 수 있습니다. 이 라이브러리에서 특히 흥미로운 함수는 createChar() 함수입니다. 각 행에 하나씩 8바이트 배열로 설명되는 사용자 정의 글리프(문자)를 만들 수 있습니다. 각 바이트의 최하위 5비트는 해당 행의 픽셀을 결정합니다. 예술 작품을 만들기 위해 손으로 바이트를 쓰는 것은 정확히 예술가의 이상적인 과정이 아니므로 제가 웹 도구 상형 문자를 그릴 수 있고 코드가 생성됩니다. .
이 기사에서는 Arduino 보드와 LCD만 있는 사용자 지정 애니메이션을 만드는 방법을 보여줍니다. 이 애니메이션을 사용하여 많은 프로젝트를 만들 수 있습니다. 상태 패널을 장식합니다.
그림>
LCD를 Arduino에 연결
LCD를 Arduino에 연결합니다. 화면 모델에 따라 다른 연결이 더 잘 작동할 수 있습니다. 내 화면 중 하나의 경우 아래 회로도가 잘 작동했지만 다른 화면의 경우 전위차계(이 링크 아래의 자습서에서와 같이)를 사용하고 저항 값을 조정하여 최상의 대비를 얻어야 했습니다.
이 링크에서 TinkerCad의 시뮬레이션을 참조하십시오.
예술 창작
https://tusindfryd.github.io/screenduino/의 도구로 이동하여 아트를 만듭니다. 한 번에 최대 8개의 섹션을 사용할 수 있으므로 새 사각형을 선택할 수 없는 경우 이미 8개의 섹션을 사용하고 있지 않은지 확인하세요.
코드 생성
첫 번째 이미지가 끝나면 선택 취소하세요. 상자 "그냥 기능" . 코드를 클립보드에 복사하고 Arduino에 업로드합니다. 이 시점에서 LCD에 이미지가 표시되어야 합니다.
더 많은 프레임 만들기
코드가 저장되었는지 확인하십시오. 이제 두 번째 프레임을 만들 수 있습니다. 다른 이미지를 그리면 됩니다. 완료되면 확인합니다. 상자 "그냥 기능" . 함수를 복사하여 코드 끝에 붙여넣습니다. 새 함수의 이름을 image01()
과 같이 다른 이름으로 바꿉니다. , 추적할 수 있습니다. 이제 호출을 image()
로 이동해야 합니다. setup()
에서 loop()
에 대한 함수 함수, 지연 추가, image01()
호출 , 지연을 다시 추가합니다. image()
의 이름을 바꾸는 것을 고려하십시오. image00()
로 일관성을 위해. loop()
함수는 다음과 같아야 합니다.
void 루프(){ image00(); 지연(250); 이미지01(); 지연(250);}
스케치를 Arduino에 업로드하십시오. 프레임을 더 추가하거나 지연 시간을 변경해 보십시오.
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">
/* 나비 변형 애니메이션 2021 ~ 작성자 tusindfryd 이 코드는 공개 도메인*/#include섹션>LiquidCrystal lcd(12, 11)입니다. , 5, 4, 3, 2); // RS, E, D4, D5, D6, D7void setup(){ lcd.begin(16, 2);}void 루프(){ image00(); 지연(250); 이미지01(); 지연(250); 이미지02(); 지연(250); 이미지03(); 지연(700); 이미지04(); 지연(250); 이미지05(); 지연(250); 이미지06(); 지연(700); 이미지07(); 지연(1250);} 무효 image00(){ lcd.clear(); 바이트 이미지22[8] ={B00110, B01101, B11011, B10011, B00111, B01111, B01111, B11111}; 바이트 이미지23[8] ={B01111, B11110, B11100, B11000, B11000, B10000, B10000, B00000}; 바이트 이미지07[8] ={B00000, B00000, B00000, B00000, B00000, B00000, B00001, B00111}; 바이트 이미지08[8] ={B00000, B01000, B10000, B10000, B10000, B11111, B11111, B11000}; 바이트 이미지09[8] ={B00000, B00000, B00000, B00000, B00000, B11000, B11000, B00100}; lcd.createChar(0, 이미지22); lcd.createChar(1, 이미지23); lcd.createChar(2, image07); lcd.createChar(3, image08); lcd.createChar(4, image09); lcd.setCursor(5, 1); lcd.write(바이트(0)); lcd.setCursor(6, 1); lcd.write(바이트(1)); lcd.setCursor(6, 0); lcd.write(바이트(2)); lcd.setCursor(7, 0); lcd.write(바이트(3)); lcd.setCursor(8, 0); lcd.write(byte(4));} 무효 image01(){ lcd.clear(); 바이트 이미지22[8] ={B00110, B00101, B00011, B00011, B00111, B01111, B01111, B11111}; 바이트 이미지23[8] ={B01111, B11110, B11100, B11000, B11000, B10000, B10000, B00000}; 바이트 이미지07[8] ={B00000, B00000, B00000, B00000, B00000, B00000, B11001, B10111}; 바이트 이미지08[8] ={B00000, B01000, B10000, B10000, B10000, B11111, B11111, B11000}; 바이트 이미지09[8] ={B00000, B00000, B00000, B00000, B00000, B11000, B11000, B00100}; 바이트 이미지06[8] ={B00000, B00000, B00000, B00000, B00000, B00000, B00000, B00011}; lcd.createChar(0, 이미지22); lcd.createChar(1, 이미지23); lcd.createChar(2, image07); lcd.createChar(3, image08); lcd.createChar(4, image09); lcd.createChar(5, image06); lcd.setCursor(5, 1); lcd.write(바이트(0)); lcd.setCursor(6, 1); lcd.write(바이트(1)); lcd.setCursor(6, 0); lcd.write(바이트(2)); lcd.setCursor(7, 0); lcd.write(바이트(3)); lcd.setCursor(8, 0); lcd.write(바이트(4)); lcd.setCursor(5, 0); lcd.write(byte(5));} 무효 image02(){ lcd.clear(); 바이트 이미지22[8] ={B00000, B00001, B00011, B00011, B00111, B01111, B01111, B11111}; 바이트 이미지23[8] ={B01111, B11110, B11100, B11000, B11000, B10000, B10000, B00000}; 바이트 이미지07[8] ={B00000, B00000, B00000, B00001, B00111, B00100, B11001, B10111}; 바이트 이미지08[8] ={B00000, B01000, B10000, B10000, B10000, B11111, B11111, B11000}; 바이트 이미지09[8] ={B00000, B00000, B00000, B00000, B00000, B11000, B11000, B00100}; lcd.createChar(0, 이미지22); lcd.createChar(1, 이미지23); lcd.createChar(2, image07); lcd.createChar(3, image08); lcd.createChar(4, image09); lcd.setCursor(5, 1); lcd.write(바이트(0)); lcd.setCursor(6, 1); lcd.write(바이트(1)); lcd.setCursor(6, 0); lcd.write(바이트(2)); lcd.setCursor(7, 0); lcd.write(바이트(3)); lcd.setCursor(8, 0); lcd.write(byte(4));} 무효 image03(){ lcd.clear(); 바이트 이미지22[8] ={B00000, B00001, B00011, B00011, B00111, B01111, B01111, B11111}; 바이트 이미지23[8] ={B01111, B11110, B11100, B11000, B11000, B10000, B10000, B00000}; 바이트 이미지07[8] ={B00000, B00000, B00000, B00000, B00000, B00000, B00001, B00111}; 바이트 이미지08[8] ={B00000, B01000, B10000, B10000, B10000, B11111, B11111, B11010}; 바이트 이미지09[8] ={B00000, B00000, B00000, B00000, B00000, B11000, B11000, B00100}; 바이트 이미지24[8] ={B00010, B00111, B00111, B00111, B00111, B00111, B00010, B00000}; lcd.createChar(0, 이미지22); lcd.createChar(1, 이미지23); lcd.createChar(2, image07); lcd.createChar(3, image08); lcd.createChar(4, image09); lcd.createChar(5, 이미지24); lcd.setCursor(5, 1); lcd.write(바이트(0)); lcd.setCursor(6, 1); lcd.write(바이트(1)); lcd.setCursor(6, 0); lcd.write(바이트(2)); lcd.setCursor(7, 0); lcd.write(바이트(3)); lcd.setCursor(8, 0); lcd.write(바이트(4)); lcd.setCursor(7, 1); lcd.write(byte(5));} 무효 image04(){ lcd.clear(); 바이트 이미지22[8] ={B00000, B00001, B00011, B00011, B00111, B01111, B01111, B11111}; 바이트 이미지23[8] ={B01111, B11110, B11100, B11000, B11000, B10001, B10000, B00000}; 바이트 이미지07[8] ={B00000, B00000, B00000, B00000, B00000, B00000, B00001, B00111}; 바이트 이미지08[8] ={B00000, B01000, B10000, B10000, B10000, B11111, B11111, B11010}; 바이트 이미지09[8] ={B00000, B00000, B00000, B00000, B00000, B11000, B11000, B00100}; 바이트 이미지24[8] ={B00010, B00100, B01011, B10101, B11010, B10101, B11010, B01110}; 바이트 이미지25[8] ={B00000, B00000, B00000, B10000, B10000, B00000, B00000, B00000}; lcd.createChar(0, 이미지22); lcd.createChar(1, 이미지23); lcd.createChar(2, image07); lcd.createChar(3, image08); lcd.createChar(4, image09); lcd.createChar(5, 이미지24); lcd.createChar(6, 이미지25); lcd.setCursor(5, 1); lcd.write(바이트(0)); lcd.setCursor(6, 1); lcd.write(바이트(1)); lcd.setCursor(6, 0); lcd.write(바이트(2)); lcd.setCursor(7, 0); lcd.write(바이트(3)); lcd.setCursor(8, 0); lcd.write(바이트(4)); lcd.setCursor(7, 1); lcd.write(바이트(5)); lcd.setCursor(8, 1); lcd.write(byte(6));} 무효 image05(){ lcd.clear(); 바이트 이미지24[8] ={B01010, B10100, B01011, B10101, B11010, B10101, B11010, B01110}; 바이트 이미지25[8] ={B00000, B00000, B00000, B10000, B10000, B00000, B00000, B00000}; 바이트 이미지23[8] ={B01101, B01010, B01101, B00111, B00000, B00000, B00000, B00000}; 바이트 이미지07[8] ={B00000, B00000, B00000, B00000, B00000, B00000, B00001, B00011}; 바이트 이미지08[8] ={B00000, B00000, B00000, B00000, B00000, B00000, B00000, B10000}; lcd.createChar(0, 이미지24); lcd.createChar(1, 이미지25); lcd.createChar(2, 이미지23); lcd.createChar(3, image07); lcd.createChar(4, image08); lcd.setCursor(7, 1); lcd.write(바이트(0)); lcd.setCursor(8, 1); lcd.write(바이트(1)); lcd.setCursor(6, 1); lcd.write(바이트(2)); lcd.setCursor(6, 0); lcd.write(바이트(3)); lcd.setCursor(7, 0); lcd.write(byte(4));} 무효 image06(){ lcd.clear(); 바이트 이미지08[8] ={B00000, B00100, B01010, B01010, B10001, B00011, B00110, B01100}; 바이트 이미지07[8] ={B00000, B00000, B00000, B00000, B00001, B00010, B00010, B00001}; 바이트 이미지09[8] ={B00000, B00000, B10000, B11000, B00000, B00000, B11000, B00100}; 바이트 이미지24[8] ={B00100, B00100, B00011, B00000, B00000, B00000, B00000, B00000}; 바이트 이미지25[8] ={B10000, B00000, B00000, B00000, B00000, B00000, B00000, B00000}; lcd.createChar(0, image08); lcd.createChar(1, image07); lcd.createChar(2, image09); lcd.createChar(3, 이미지24); lcd.createChar(4, 이미지25); lcd.setCursor(7, 0); lcd.write(바이트(0)); lcd.setCursor(6, 0); lcd.write(바이트(1)); lcd.setCursor(8, 0); lcd.write(바이트(2)); lcd.setCursor(7, 1); lcd.write(바이트(3)); lcd.setCursor(8, 1); lcd.write(byte(4));} 무효 image07(){ lcd.clear(); 바이트 이미지24[8] ={B10101, B01110, B01110, B00100, B10101, B01110, B00100, B11111}; 바이트 이미지08[8] ={B00000, B00100, B01010, B01010, B10001, B00011, B00110, B01100}; 바이트 이미지07[8] ={B00000, B00000, B00000, B00000, B00001, B00010, B00010, B00001}; 바이트 이미지09[8] ={B00000, B00000, B10000, B11000, B00000, B00000, B00000, B00000}; lcd.createChar(0, 이미지24); lcd.createChar(1, image08); lcd.createChar(2, image07); lcd.createChar(3, image09); lcd.setCursor(7, 1); lcd.write(바이트(0)); lcd.setCursor(7, 0); lcd.write(바이트(1)); lcd.setCursor(6, 0); lcd.write(바이트(2)); lcd.setCursor(8, 0); lcd.write(바이트(3));}
제조공정
이 Arduino 튜토리얼에서는 LCD(액정 디스플레이) 를 연결하고 사용하는 방법을 배웁니다. Arduino 사용 . 이와 같은 LCD 디스플레이는 센서 데이터와 같은 간단한 정보를 표시하는 데 적합하면서도 매우 저렴하기 때문에 많은 전자 프로젝트에서 널리 사용되며 널리 사용됩니다. 이미 여러 Arduino 프로젝트에서 사용했으며 여기에서 확인할 수 있습니다. Arduino 보안 및 경보 시스템 프로젝트 DIY 자판기 – Arduino 기반 메카트로닉스 프로젝트 Arduino 범위 측정기 및 디지털 수준기 프로젝트 다음 비
이 Arduino 터치 스크린 튜토리얼에서는 Arduino와 함께 TFT LCD 터치 스크린을 사용하는 방법을 배웁니다. 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 이 튜토리얼에서는 세 가지 예제를 작성했습니다. 첫 번째 예는 초음파 센서를 이용한 거리 측정입니다. 센서의 출력 또는 거리가 화면에 인쇄되고 터치 스크린을 사용하여 센티미터 또는 인치 단위를 선택할 수 있습니다. 다음 예는 이 3개의 RGB 슬라이더를 사용하여 RGB LED를 제어하는 것입니다. 예를 들어 파란색 슬라이더를 움직