Μετάβαση στο κύριο περιεχόμενο

Μέτρηση ταχύτητας ήχου με ESP32

 

#include <LiquidCrystal_I2C.h>
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
// set the LCD number of columns and rows
int lcdColumns = 16;
int lcdRows = 2;

// set LCD address, number of columns and rows
// if you don't know your display address, run an I2C scanner sketch
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);  

int trig = 5;
int echo = 18;
float sp;
float lecture_echo;
float ds;
String output;
void setup()
{
  SerialBT.begin("ESP32-Bluetooth20250402D");
pinMode(trig, OUTPUT);
digitalWrite(trig, LOW);
pinMode(echo, INPUT);
Serial.begin(115200);
// initialize LCD
  lcd.init();
  // turn on LCD backlight                      
  lcd.backlight();
}
void loop()
{
if(SerialBT.available()) {
  output=SerialBT.readString();
 ds = output.toFloat();
 
 // output = Serial.readString();
 // Serial.println(output);
//  ds = output.toFloat();

Serial.println(ds);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
lecture_echo = pulseIn(echo, HIGH);
sp = ((ds/100) / (lecture_echo/1000000)) * 2;
Serial.print("Speed: ");
Serial.println(sp);
// set cursor to first column, first row
  lcd.setCursor(0, 0);
  // print message
  lcd.print("SpeedOfSound=");

  delay(1000);
  // clears the display to print new message
 // lcd.clear();
  // set cursor to first column, second row
  lcd.setCursor(0,1);
    lcd.print(sp);
  delay(1000);
  lcd.clear();
delay(1000);
}
}

Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

Σερβοκινητήρας

  Βασικός έλεγχος σερβομηχανισμού Θα μάθουμε πώς να ελέγχετε έναν τυπικό σερβοκινητήρα, να πηγαίνει εμπρός και πίσω κατά 180 μοίρες, χρησιμοποιώντας ένα «βρόχο for()». Αυτό γίνεται με τη βοήθεια της βιβλιοθήκης Servo, η οποία είναι προεγκατεστημένη βιβλιοθήκη στο Arduino IDE (τόσο εκτός σύνδεσης όσο και σε ηλεκτρονική έκδοση). . Αυτό γίνεται με τη βοήθεια της βιβλιοθήκης  Servo     , η οποία είναι προεγκατεστημένη βιβλιοθήκη στο Arduino IDE (τόσο εκτός σύνδεσης όσο και σε ηλεκτρονική έκδοση).      Χρειαζόμαστε τα παρακάτω:     Arduino IDE Arduino UNO  Σερβοκινητήρας 4,8V - 6V  Καλώδια βραχυκυκλωτήρα. Τυπικοί σερβοκινητήρες Οι τυπικοί σερβοκινητήρες είναι ενεργοποιητές που επιτρέπουν τον ακριβή έλεγχο της θέσης (γωνία). Χαρακτηριστικό  είναι ότι η γωνία του κινητήρα είναι 0 - 180 μοίρες. Με άλλα λόγια, μπορεί να κάνει το μισό μιας περιστροφής. Ένας τυπικός σερβοκινητήρας, όπως και άλλοι κινητήρες, είναι ουσιαστικά απλώς ένας...

Φωτοαντιστάτης

int a; // εδώ θα κρατάμε την τιμή που διαβάζουμε από τον φωτοαντιστάτη float b; // εδώ θα αποθηκεύουμε την τάση που έχει ο φωτοαντιστάτης στα άκρα του float c; // εδώ θα αποθηκεύουμε την τιμή της αντίστασης του φωτοαντιστάτη int d; // εδώ θα αποθηκεύσουμε την τιμή-όριο πάνω από την οποία θα ανάβουμε το void setup() { Serial.begin(9600); // ξεκινάμε το σειριακό μόνιτορ του Arduino IDE  d=500; // τιμή πάνω από την οποία θα ανάβουμε το LED pinMode(6, OUTPUT); // το πιν 6 θα είναι ή ΕΞΟΔΟΣ που θα συνδέσουμε το LED } void loop() { a=analogRead(A0); // διάβασε την αναλογική είσοδο A0 και βάλε την τιμή στην a  Serial.print("Τιμή: "); // απεικόνισε την τιμή της a στο σειριακό μόνιτορ του Arduino IDΕ Serial.print(a); Serial.print("\t"); b=a*5.0/1023; // υπολόγισε την τιμή της τάσης στα άκρα του φωτοαντιστάτη Serial.print("Τάση: "); Serial.print(b); // απεικόνισε την τιμή της τάσης Serial.print(" V \t"); c=b*10.0/(5-b); // υπολόγισε την αντίσταση του φωτοα...

Πώς λειτουργούν τα τρανζίστορ

  Πώς λειτουργούν τα τρανζίστορ –  από τον  Øyvind Nydal Dahl Το τρανζίστορ είναι ένα απλό εξάρτημα που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε πολλά διασκεδαστικά έργα. Σε αυτόν τον πρακτικό οδηγό, θα μάθετε πώς λειτουργούν τα τρανζίστορ, ώστε να μπορείτε να τα χρησιμοποιήσετε στο επόμενο κύκλωμά σας. Και είναι στην πραγματικότητα αρκετά εύκολο, μόλις μάθετε τα βασικά. Θα επικεντρωθώ στα δύο πιο συνηθισμένα τρανζίστορ εδώ: το  BJT  και το  MOSFET  . Το τρανζίστορ λειτουργεί σαν ηλεκτρονικός διακόπτης. Μπορεί να ενεργοποιήσει και να απενεργοποιήσει ένα ρεύμα. Ένας απλός τρόπος για να το σκεφτείτε είναι να δείτε το τρανζίστορ ως  ρελέ  χωρίς κινούμενα μέρη. Ένα τρανζίστορ είναι παρόμοιο με ένα ρελέ με την έννοια ότι μπορείτε να το χρησιμοποιήσετε για να ενεργοποιήσετε και να απενεργοποιήσετε κάτι. Αλλά ένα τρανζίστορ μπορεί επίσης να ενεργοποιηθεί μερικώς, κάτι που είναι χρήσιμο για την κατασκευή ενισχυτών. Πώς λειτουργούν τα τρανζίστ...