Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino - Web-Oszilloskop (Support-Trigger)

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
PHPoC-Shield für Arduino
× 1
Überbrückungskabel
× 1

Über dieses Projekt

Wenn Sie ein Anfänger sind, können Sie mehr über Arduino - Wifi erfahren.

Vorführung

Funktionen

  • Unterstützt 6 Kanäle
  • Unterstützen Sie einen einzelnen Trigger, mehrere Trigger
  • Auswählbarer Triggermodus:fallend, steigend, fallend und steigend
  • Einstellbarer Triggerwert
  • Anpassen der Zeiteinteilung über einen Web-Knopf
  • Anpassen der Spannungsteilung für jeden Kanal über einen Web-Knopf
  • Anpassen des Display-Offsets für jeden Kanal über einen Web-Knopf
  • Tippen oder klicken, um den Einstellungsbereich anzuzeigen/auszublenden
  • Arbeiten auf Cross-Plattform:Windows, Linux, iOS, Android... (wegen der Eigenschaft des Webs), das einen Webbrowser hat

Benutzeroberfläche

Wie es funktioniert

Da Web Oszilloskop eine Modifikation von Web Serial Monitor auf PHPoC ist, werde ich zuerst erklären, wie Web Serial Monitor funktioniert.

PHPoC Shield verfügt über eine integrierte eingebettete Web-App namens "Web Serial Monitor". Es ähnelt dem Serial Monitor auf der Arduino IDE. Der Unterschied zwischen Serial Monitor auf Arduino IDE besteht darin:

  • Serieller Monitor auf der Arduino-IDE: Lesen von Daten vom Arduino-TX-Pin über ein USB-Kabel.
  • Web Serial Monitor auf PHPoC Shield: Lesen von Daten vom Arduino-TX-Pin über das Internet

Im Detail kommuniziert PHPoC Shield mit Arduino über SPI. Wenn der Benutzer über einen Webbrowser auf Web Serial Monitor zugreift. Nachdem die Seite geladen wurde, stellt die Seite eine WebSocket-Verbindung zu PHPoC Shield her. Zu diesem Zeitpunkt ist PHPoC Shield auf Arduino gestapelt, es erfasst Daten vom Arduino TX-Pin und sendet diese Daten dann über WebSocket an den Web Serial Monitor im Webbrowser. Web Serial empfängt die Daten und zeigt sie im Web an.

Auf diese Weise können Benutzer nicht nur die Daten auf dem PC sehen, sondern auch Daten auf dem Handy oder anderen Geräten, die einen Webbrowser unterstützen

Sehen wir uns nun an, wie das Web-Oszilloskop funktioniert.

Web-Oszilloskop funktioniert genauso wie Web Serial Monitor, mit Ausnahme des letzten Teils.

Anstatt Rohdaten im Web anzuzeigen, visualisiert das Web-Oszilloskop die Daten im Diagramm. Es werden weitere Funktionen hinzugefügt, mit denen der Benutzer die Benutzeroberfläche anpassen und Trigger ausführen kann.

Über Daten, die von Arduino gesendet werden

Arduino liest Daten vom ADC-Pin (von A0 bis A5) und liest den Zeitstempel (in Mikrosekunden)

ADC-Daten werden in Spannung umgewandelt und zusammen mit dem Zeitstempel gemäß dem folgenden Format an den seriellen Port gedruckt:

  • Erstens Zeitstempel, gefolgt von einem Leerzeichen oder "\t"-Zeichen.
  • Und dann, gefolgt von Spannungsdaten. Daten jedes Kanals werden durch ein Leerzeichen oder "\t"-Zeichen getrennt.
  • Das Ende ist ein Zeilenumbruch

Hinweis: Der maximale Kanal ist 6, aber Sie können auch nur Daten von einem, zwei nur drei Kanälen senden.

Quellcode

Der Quellcode enthält zwei Teile:

  • Arduino-Code (siehe WebOscilloscope.ino)
  • Web-App-Code (oscilloscope.php):Dies ist der Code der Benutzeroberfläche. Es muss gemäß dieser Anleitung auf PHPoC Shield hochgeladen werden

Verwendung

Greifen Sie über einen Webbrowser auf Ihrem PC oder Smartphone auf das Web-Oszilloskop zu, indem Sie Folgendes eingeben:http:// replace_ip_address /oszilloskop.php

So messen Sie das Signal:Es werden nur zwei Drähte verwendet, eine an GND und eine an einen beliebigen analogen Pin von Arduino (A0 bis A5). Verbinden Sie diese beiden Pins mit dem Punkt, an dem wir das Signal überprüfen möchten.

Da es 6 Kanäle gibt, benötigen wir 6 Erdungsdrähte. Der Einfachheit halber hat Arduino jedoch nur zwei GND-Pins. Ich gehe wie folgt vor, um mehr GND-Pins zu verlängern.

Das beste Arduino Starter Kit für Anfänger

Wenn Sie nach einem Arduino-Kit suchen, lesen Sie Das beste Arduino-Kit für Anfänger


Funktionsreferenzen

  • Seriell.begin()
  • Seriell.println()
  • verzögerung()
  • millis() ​​​​​​
  • for-Schleife
  • while-Schleife
  • wenn sonst
  • Schleife()
  • setup()
  • String.toInt()
  • String.substring()
  • String.indexOf()
  • String.remove()
  • String.equals()

Code

  • WebOscilloscope.ino
  • oszilloskop.php
WebOscilloscope.inoArduino
Dies ist Arduino-Code. Wir müssen NICHT alle 6 Kanaldaten senden. Wie Sie sehen, habe ich Datenkanal 3 kommentiert
#include #include #define AREF 5.0#define ADC_MAX 1023.0float ratio =AREF / ADC_MAX;void setup() { Serial.begin (115200); Phpoc.begin ();}void loop () { // Systemzeit lesen unsigned long time_a =micros (); // Analogwert lesen und in Spannung umwandeln:float voltageChannel0 =analogRead (A0) * ratio; float voltageChannel1 =analogRead(A1) * Verhältnis; float voltageChannel2 =analogRead(A2) * Verhältnis; float voltageChannel3 =analogRead(A3) * Verhältnis; float voltageChannel4 =analogRead(A4) * Verhältnis; float voltageChannel5 =analogRead(A5) * Verhältnis; // Systemzeit zuerst senden Serial.print (time_a); Serial.print ( " "); // Wert jedes Kanals senden, getrennt durch " " oder "\t". Serial.print (VoltageChannel0); Serial.print ( " "); Serial.print (VoltageChannel1); Serial.print ( " "); Serial.print (VoltageChannel2); Serial.print ( " "); // Serial.print (Spannungskanal3); //Seriendruck(" "); Serial.print (VoltageChannel4); Serial.print ( " "); // der letzte Kanal muss mit neuen Zeilenzeichen senden Serial.println (VoltageChannel5);}
oszilloskop.phpPHP
Dies ist Webcode.
PHPoC Shield - Web-Oszilloskop für Arduino



Schaltpläne


Herstellungsprozess

  1. Webbetriebener DMX-Controller
  2. DIY Einfaches 20-kHz-Arduino-Oszilloskop auf Nokia 5110 LCD
  3. Arduino Spybot
  4. FlickMote
  5. Selbstgemachter Fernseher B-Gone
  6. Hauptuhr
  7. Finde mich
  8. Arduino-Power
  9. Tech-TicTacToe
  10. Arduino-Vierbeiner