Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah

Komponen dan Perlengkapan

Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah
Arduino Nano R3
× 1
Layar LCD Nokia 5110 (PCD8544)
× 1
Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah
Resistor 10k ohm
× 4
Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah
Resistor 4.75k ohm
× 1
Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah
Resistor 330 ohm
× 1
Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah
Tombol Push, Sementara
× 4

Alat dan Mesin yang Diperlukan

Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah
Pengolok (generic)
Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah
Kawat Solder, Bebas Timbal

Aplikasi dan Layanan Online

Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah
Arduino IDE

Tentang Proyek Ini

Kali ini saya akan menunjukkan kepada Anda cara membuat osiloskop Arduino sederhana. Frekuensi sinyal maksimum yang dapat ditampilkan osiloskop adalah 20 kHz, dan tegangan input maksimum adalah 5 V tanpa pembagi tegangan.

Osiloskop dikontrol oleh empat tombol:

- Tombol "HOLD" - yang berfungsi untuk membeku kondisi layar saat ini

- Tombol Sinkronisasi yang memungkinkan Anda menetapkan tingkat sinkronisasi.

- Dan Tombol "+" dan "-" yang mengontrol pemindaian, tingkat sinkronisasi, dan memindahkan gambar sinyal dalam mode HOLD.

Pada layar Nokia 5110, secara vertikal setiap sel adalah 1 V, secara horizontal satu sel sama dengan resolusi pemindaian, yang memiliki nilai: 0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0 dan 50.0 ms. Nilai pemindaian diubah dengan tombol "+" dan "-", yang ditampilkan di sudut kiri atas. Tingkat trigger ditampilkan sebagai batang kecil di sisi kiri layar, dan tegangan trigger ditampilkan di sudut kanan atas layar. Proyek ini dipublikasikan di halaman arduino.ru di mana Anda dapat membaca lebih banyak detail.

Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah

Perangkat ini sangat mudah untuk dibuat dan terdiri hanya dari beberapa komponen - mikrokontroler Arduino Nano

- Layar LCD Nokia N5110

- empat tombol

- empat resistor pull-down

- jack input

- Dan saklar daya dan LED

Saya menguji osiloskop dengan generator sinyal sinus dan persegi. Meski bukan instrumen profesional atau sangat berguna, ini masih dapat digunakan untuk tujuan edukasi atau di laboratorium Anda, untuk menguji sinyal frekuensi rendah, terutama dengan mengetahui bahwa perangkat ini sangat mudah dibuat dan sangat murah.

Akhirnya, perangkat ditempatkan dalam kotak yang terbuat dari PVC dan dilapisi dengan dinding kain self-adhesive.

Kode

Kode ArduinoC/C++
#include <Adafruit_GFX.h> #include <Adafruit_PCD8544.h> #include <SPI.h> Adafruit_PCD8544 display = 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; void setup() {Serial.begin(9600); display.begin();display.clearDisplay();display.display(); display.setContrast(40); // contrast setting display.setTextSize(1); // setting font size display.setTextColor(BLACK); // setting text color pinMode(10,INPUT); // + pinMode(11,INPUT); // - pinMode(12,INPUT); // hold pinMode(13,INPUT); // sink ADMUX = 0b01000000; // 0B0100000 10 bit A0 // 0B01100000 8 bit A0 ADCSRA = 0b11110010;// CLK/4; analogWrite (9, 127); // PWM 9 OUTPUT } void loop() { ///////////////////////////KONTROL TOMBOL////////////////////////////// if(menu==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;}delay(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(menu==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); // setting cursor position /////////////////////////WAKTU PEMINDAIAN kalibrasi oleh generator //////////////////////////// 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(izm<sss){ads();h0++;if(h0>5000){break;}}h0=0;// SINKRONISASI times=micros(); while(i<167){i++;delayMicroseconds(zz); ads();data[i]=izm; // PENGUKURAN 10 bit }i=0;times=micros()-times; Serial.println(times); } ////////////////////KELUARAN PADA LAYAR/////////////////////////////// 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); while(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);} time=millis(); } display.display(); }// loop void ads(){ //////// 10 bit /////////// do{ADCSRA |= (1 << ADSC);} while((ADCSRA & (1 << ADIF)) == 0);izm = (ADCL|ADCH << 8);} ////////////////// 8 bit /////////// // REQUIRED ALL CHANGEABLE VARIABLES (sss, u_dig) // while ((ADCSRA & 0x10)==0); // ADCSRA|=0x10; // izm = ADCH; void setka(){ for(y=8;y<47;y=y+8){ for(x=0;x<83;x=x+4){ display.drawPixel(x, y, BLACK);}} for(x=0;x<83;x=x+26){ for(y=10;y<47;y=y+4){ display.drawPixel(x, y, BLACK);}} } 

Skema Rangkaian

Membuat Osiloskop Arduino 20 kHz pada Layar LCD Nokia 5110 – Panduan DIY Mudah

Proses manufaktur

  1. Smart Blinds: Kontrol Cahaya Otomatis dengan Arduino & Energi Surya
  2. Bangun Sensor Halangan Sederhana dengan Arduino – Tutorial Mudah LED IR & Fotodioda
  3. Buat Voltmeter DIY dengan Arduino dan Layar Nokia 5110 – Panduan Langkah demi Langkah
  4. Osiloskop DIY Arduino Nano (10 Hz–50 kHz) dengan LCD 128×64
  5. Membuat Roda Pengukur DIY yang Akurat dengan Arduino Nano & Enkoder Rotatif
  6. Stopwatch Arduino yang Mudah Dibangun: Kromometer Aktifkan Tombol
  7. Meter Kapasitansi Otomatis DIY (10 pF–10 µF) – Pembuatan Arduino yang Mudah
  8. Teman AI LCD: Kawan Interaktif Anda
  9. Bangun Rangkaian Input Analog Terisolasi untuk Arduino
  10. Membuat Jam Alarm Andalan dengan DS1302 RTC dan Arduino UNO