산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Nokia 5110 LCD의 DIY Simple 20kHz Arduino 오실로스코프

구성품 및 소모품

Arduino Nano R3
× 1
Nokia 5110 LCD 디스플레이(PCD8544)
× 1
저항 10k 옴
× 4
저항 4.75k 옴
× 1
저항 330옴
× 1
푸시버튼 스위치, 순간
× 4

필요한 도구 및 기계

납땜 인두(일반)
납땜 와이어, 무연

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

이번에는 간단한 Arduino 오실로스코프를 만드는 방법을 보여 드리겠습니다. 오실로스코프가 표시할 수 있는 최대 신호 주파수는 20kHz이고 최대 입력 전압은 분압기 없이 5V입니다.

오실로스코프는 4개의 버튼으로 제어됩니다.

- "HOLD" 버튼 - 화면의 현재 상태를 고정하는 역할을 합니다.

- 동기화 레벨을 설정할 수 있는 동기화 버튼입니다.

- 그리고 스위프, 동기화 레벨을 제어하고 HOLD 모드에서 신호 이미지를 이동하는 "+" 및 "-" 버튼.

Nokia 5110 화면에서 세로로 각 셀은 1V이고 가로로 하나의 셀은 0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0 및 50.0ms의 (다음) 값을 갖는 스캔 해상도와 같습니다. . 스위프 값은 왼쪽 상단 모서리에 표시되는 "+" 및 "-" 버튼으로 변경됩니다. 트리거 레벨은 화면 왼쪽에 작은 막대로 표시되고 트리거 전압은 화면 오른쪽 상단 모서리에 표시됩니다. 이 프로젝트는 arduino.ru 페이지에 게시되어 자세한 내용을 읽을 수 있습니다.

이 장치는 구축이 매우 간단하고 몇 가지 구성 요소로 구성됩니다. - Arduino Nano 마이크로컨트롤러

- Nokia N5110 LCD 디스플레이

- 4개의 버튼

- 4개의 풀다운 저항기

- 입력 잭

- 그리고 전원 스위치 및 Led

사인 및 직사각형 신호 발생기로 오실로스코프를 테스트했습니다. 전문적이거나 매우 유용한 기기는 아니지만 교육 목적이나 연구실에서 저주파 신호를 테스트하는 데 사용할 수 있습니다. 특히 기기를 만들기가 매우 쉽고 매우 저렴하다는 사실을 알고 있기 때문입니다.

마지막으로, 장치는 자체 접착 벽지로 코팅된 PVC로 만들어진 적절한 상자에 넣습니다.

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • Arduino 코드
  • Arduino 코드C/C++
    #include #include #include Adafruit_PCD8544 디스플레이 =Adafruit_PCD8544(7, 6, 5, 4, 3);//CLK,DIN,DC,CE, RST |||| VCC +3.3 V, BL ++ 200 OM ++ 3.3 V int izm,x,y,u,i2,zz,hold,h0,h1,h2,raz=0,menu,sss=512,u_dig,data[168 ]{}; unsigned long time, times; float per;byte i; 무효 설정() {Serial.begin(9600); display.begin();display.clearDisplay();display.display(); display.setContrast(40); // 대비 설정 display.setTextSize(1); // 글꼴 크기 설정 display.setTextColor(BLACK); // 텍스트 색상 설정 pinMode(10,INPUT); // + 핀모드(11,입력); // - 핀모드(12,INPUT); // 핀모드(13,INPUT) 유지; // ADMUX =0b01000000; // 0B0100000 10비트 A0 // 0B01100000 8비트 A0 ADCSRA =0b11110010;// CLK/4; analogWrite(9, 127); // PWM 9 OUTPUT} 무효 루프() {///////////////////////////버튼 제어/////////// //////////////////// if(메뉴==0){ if(digitalRead(10)==HIGH){if(hold==0){raz++;} if(hold==1){i2=i2+1;}delay(100);} if(digitalRead(11)==HIGH){if(hold==0){raz--;}if(hold==1&&hold>0){i2=i2-1;}지연(100);} } if(digitalRead(12)==HIGH){hold++;i2=0;delay(100);} if(digitalRead(13)==HIGH){menu++;delay(100);} if(hold>1){hold=0;}if(menu>1||menu<0){menu=0;} if(raz<=0){raz=0;}if(raz>8){raz=8;} if(메뉴==1){hold=0; if(digitalRead(10)==HIGH){sss+=24;delay(100);} if(digitalRead(11)==HIGH){sss-=24;delay(100);} if(sss>1023){ sss=1023;}if(sss<0){sss=0;} } display.setCursor(0,0); // 커서 위치 설정/////////////////////////제너레이터에 의해 보정된 스위프 시간 /////////////// ///////////// if(raz==0){zz=1;h2=2;per=0.1;} if(raz==1){zz=1;h2=1; per=0.2;} if(raz==2){zz=12;h2=1;per=0.5;} if(raz==3){zz=32;h2=1;per=1;} if(raz ==4){zz=75;h2=1;per=2;} if(raz==5){zz=200;h2=1;per=5;} if(raz==6){zz=380;h2=1;per=10;} if(raz==7){zz=750;h2=1;per=20;} if(raz==8){zz=1900;h2=1;per=50;}/////////////////////////////////////////////////// ////////////////// if(hold==0&&millis()-time>0){ ads();while(izm5000){break;}}h0=0;// 동기화 시간=micros(); 동안(i<167){i++;delayMicroseconds(zz); 광고();데이터[i]=izm; // 측정 10비트 }i=0;times=micros()-times; Serial.println(회); }/////////////////////디스플레이에 출력/////////////////////////// ///// if(millis()-time>100){ display.clearDisplay(); if(sss<204&&sss>100){u_dig=10;display.setCursor(0,40);display.print("0.4V");} else if(sss<100){u_dig=5; display.setCursor(0,40);display.print("0.2V");} else{u_dig=25;} display.setCursor(0,0); 동안(i<167){i++;setka(); display.drawLine(i*h2-i2, 47-data[i]/u_dig,i*h2-i2+h2-1, 47-data[i+1]/u_dig, BLACK);}i=0; display.print(per,1);display.print(" mS "); if(menu==0){if(hold==1){display.print("HOLD");}else{display.print("AUTO");}} if(menu==1){display.print (sss/200.0,1);display.print(" V ");} if(menu==1){display.drawLine(0, 48-sss/u_dig,4, 48-sss/u_dig, BLACK);} 시간=밀리();} display.display(); }// 루프 무효 광고(){ //////// 10비트 /////////// do{ADCSRA |=(1 <  

    회로도


    제조공정

    1. 스마트 블라인드
    2. Arduino를 사용한 간단한 장애물 센서
    3. Arduino 및 Nokia 5110 디스플레이가 있는 DIY 전압계
    4. 128x64 LCD 디스플레이의 DIY 10Hz-50kHz 오실로스코프
    5. 로터리 인코더가 있는 DIY 간단한 측정 휠
    6. 간단한 Arduino 크로노미터
    7. DIY 단순 자동 범위 정전 용량 측정기(10pF-10000microF)
    8. AI LCD 친구!
    9. Arduino용 절연 아날로그 입력
    10. DS1302 RTC가 있는 간단한 알람 시계