Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Oscilloscope Arduino 20 kHz simple bricolage sur écran LCD Nokia 5110

Composants et fournitures

Arduino Nano R3
× 1
Écran LCD Nokia 5110 (PCD8544)
× 1
Résistance 10k ohm
× 4
Résistance 4.75k ohm
× 1
Résistance 330 ohm
× 1
Bouton-poussoir, momentané
× 4

Outils et machines nécessaires

Fer à souder (générique)
Fil à souder, sans plomb

Applications et services en ligne

Arduino IDE

À propos de ce projet

Cette fois, je vais vous montrer comment faire un simple oscilloscope Arduino. La fréquence de signal maximale que l'oscilloscope peut afficher est de 20 kHz et la tension d'entrée maximale est de 5 V sans diviseur de tension.

L'oscilloscope est contrôlé par quatre boutons :

- Bouton "HOLD" - qui sert à geler l'état actuel de l'écran

- Bouton de synchronisation qui permet de régler le niveau de synchronisation.

- Et les boutons "+" et "-" qui contrôlent le balayage, le niveau de synchronisation et déplacent l'image du signal en mode HOLD.

Sur l'écran du Nokia 5110, verticalement chaque cellule est de 1 V, horizontalement une cellule est égale à la résolution de numérisation, qui a les valeurs (suivantes) de :0,1, 0,2, 0,5, 1,0, 2,0, 5,0, 10,0, 20,0 et 50,0 ms . La valeur de balayage est modifiée à l'aide des boutons "+" et "-", qui s'affichent dans le coin supérieur gauche. Le niveau de déclenchement est affiché sous la forme d'une petite barre sur le côté gauche de l'écran et la tension de déclenchement est affichée dans le coin supérieur droit de l'écran. Ce projet est publié sur la page arduino.ru où vous pouvez lire plus de détails.

L'appareil est extrêmement simple à construire et ne comprend que quelques composants - microcontrôleur Arduino Nano

- Écran LCD Nokia N5110

- quatre boutons

- quatre résistances pull-down

- Prise d'entrée

- Et interrupteur d'alimentation et Led

J'ai testé l'oscilloscope avec générateur de signaux sinusoïdaux et rectangulaires. Même s'il ne s'agit pas d'un instrument professionnel ou très utilisable, il peut tout de même être utilisé à des fins pédagogiques ou dans votre laboratoire, pour tester des signaux basse fréquence, surtout sachant que l'appareil est très simple à réaliser et extrêmement bon marché.

Enfin, l'appareil est placé dans une boîte appropriée en PVC et recouverte de papier peint autocollant.

Code

  • Code Arduino
Code ArduinoC/C++
#include #include #include 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 ]{};temps long non signé,fois;float par;octet i; void setup() {Serial.begin(9600); display.begin();display.clearDisplay();display.display(); display.setContrast(40); // paramètre de contraste display.setTextSize(1); // définition de la taille de la police display.setTextColor(BLACK); // définition de la couleur du texte pinMode(10,INPUT); // + pinMode(11,ENTRÉE); // - pinMode(12,ENTRÉE); // maintenez pinMode(13,INPUT); // синх ADMUX =0b01000000; // 0B0100000 10 bits A0 // 0B01100000 8 bits A0 ADCSRA =0b11110010;// CLK/4; analogWrite (9, 127); // PWM 9 OUTPUT} void loop() {//////////////////////////COMMANDE DE BOUTON ////////// /////////////////// 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)==HAUT){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); // réglage de la position du curseur ////////////////////////SWEEP TIME calibré par le générateur /////////////// ///////////// 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;// SYNCHRONISATION times=micros(); while(i<167){i++;delayMicroseconds(zz); ads();data[i]=izm; // MESURE 10 bits }i=0;times=micros()-times; Serial.println(fois); }///////////////////SORTIE SUR AFFICHAGE//////////////////////// ///// 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, NOIR);} heure=millis();} display.display(); }// loop void ads(){ //////// 10 bits /////////// do{ADCSRA |=(1 < 

Schémas


Processus de fabrication

  1. Stores intelligents
  2. Capteur d'obstacles simple avec Arduino
  3. Voltmètre DIY avec Arduino et un écran Nokia 5110
  4. Oscilloscope DIY 10Hz-50kHz sur écran LCD 128x64
  5. Roue de mesure simple bricolage avec encodeur rotatif
  6. Chronomètre Arduino simple
  7. Capacimètre bricolage simple à plage automatique (10pF-10000microF)
  8. Une entrée analogique isolée pour Arduino
  9. Réveil simple avec DS1302 RTC