Documente Academic
Documente Profesional
Documente Cultură
SISTEME MECATRONICE
LABORATOARELE: 1,2
Data: 17.03.2022
Temele impuse:
Laborator 3: Achiziția datelor pe portul analogic
Placa de dezvoltare cu ESP32 – WEMOS LOLIN 32
1. Considerații generale
2. Caracteristici placă
3. Descriere schemă hardware
4. Utilizare port analogic
Laborator 4: Aplicații
5. Scriere programe pentru placa de dezvoltare
Citește port analogic
Mediază valorile citite
6. Aplicații cu led-uri
Aprinde/stinge led-uri la valori citite de pe potențiometru
7. Interfațare cu un sistem Wi-Fi
Afișează pe o pagină web valorile citite de la potențiometru
8. Interpretare date achiziționate
/*********
Rui Santos
Complete project details at https://randomnerdtutorials.com
*********/
void setup() {
Serial.begin(115200);
// Initialize the output variables as outputs
pinMode(output26, OUTPUT);
pinMode(output27, OUTPUT);
// Set outputs to LOW
digitalWrite(output26, LOW);
digitalWrite(output27, LOW);
IPAddress IP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(IP);
server.begin();
}
void loop(){
WiFiClient client = server.available(); // Listen for incoming clients
#include "Statistic.h"
uint32_t start;
uint32_t stop;
void setup(void)
{
Serial.begin(115200);
Serial.println(__FILE__);
Serial.print("Demo Statistics lib ");
Serial.println(STATISTIC_LIB_VERSION);
myStats.clear(); //explicitly start clean
start = millis();
}
void loop(void)
{
long rn = random(0, 9999);
myStats.add(rn / 100.0 + 1);
if (myStats.count() == 10000)
{
stop = millis();
Serial.print(" Count: ");
Serial.println(myStats.count());
Serial.print(" Min: ");
Serial.println(myStats.minimum(), 4);
Serial.print(" Max: ");
Serial.println(myStats.maximum(), 4);
Serial.print(" Average: ");
Serial.println(myStats.average(), 4);
Serial.print(" variance: ");
Serial.println(myStats.variance(), 4);
Serial.print(" pop stdev: ");
Serial.println(myStats.pop_stdev(), 4);
Serial.print(" unbias stdev: ");
Serial.println(myStats.unbiased_stdev(), 4);
Serial.print(" time(ms): ");
Serial.println(stop - start);
Serial.println("=====================================");
myStats.clear();
delay(1000);
start = millis();
}
}
// -- END OF FILE --
void setup() {
Serial.begin(115200);
delay(1000);
}
void loop() {
// Reading potentiometer value
potValue = analogRead(potPin);
Serial.println(potValue);
delay(500);
}
/*
Analog median and average
by Tom Igoe
This program reads an analog input and gives the average of 9 readings,
and sorts the list of readings and delivers the median number.
//function prototypes:
void bubbleSort();
int averageArray();
void setup() {
Serial.begin(9600);
}
void loop() {
// delay(1000);
for (readingNumber = 0; readingNumber < numReadings; readingNumber++) {
//get the reading:
analogValues[readingNumber] = analogRead(34);
// increment the counter:
readingNumber++;
}
// sort the array using a bubble sort:
bubbleSort();
Serial.print("\r\n");
delay(1000);
}
}
// average = total/(numReadings + 1);
average = total/(numReadings);
//*****************
// if (average == median) {
// Serial.print(" Average = ");
// Serial.print(averageArray(), DEC);
// }
//************
return average;
}
void bubbleSort() {
int out, in, swapper;
for(out=0 ; out < numReadings; out++) { // outer loop
for(in=out; in<(numReadings-1); in++) { // inner loop
if( analogValues[in] > analogValues[in+1] ) { // out of order?
// swap them:
swapper = analogValues[in];
analogValues [in] = analogValues[in+1];
analogValues[in+1] = swapper;
}
}
}
}