Hirdetés
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Postas99
őstag
válasz
Postas99 #23178 üzenetére
/* Audio streamer with ESP32 and Adafruit elected microphone board.
* Created by Julian Schroeter.
*/
#include <Arduino.h>
#include <WiFi.h>
#include <driver/adc.h>
#define AUDIO_BUFFER_MAX 800
uint8_t audioBuffer[AUDIO_BUFFER_MAX];
uint8_t transmitBuffer[AUDIO_BUFFER_MAX];
uint32_t bufferPointer = 0;
const char* ssid = "YOUR SSID";
const char* password = "YOUR PASSWORD";
const char* host = "YOUR SERVER IP ADDRESS";
bool transmitNow = false;
WiFiClient client;
hw_timer_t * timer = NULL; // our timer
portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;
void IRAM_ATTR onTimer() {
portENTER_CRITICAL_ISR(&timerMux); // says that we want to run critical code and don't want to be interrupted
int adcVal = adc1_get_voltage(ADC1_CHANNEL_0); // reads the ADC
uint8_t value = map(adcVal, 0 , 4096, 0, 255); // converts the value to 0..255 (8bit)
audioBuffer[bufferPointer] = value; // stores the value
bufferPointer++;
if (bufferPointer == AUDIO_BUFFER_MAX) { // when the buffer is full
bufferPointer = 0;
memcpy(transmitBuffer, audioBuffer, AUDIO_BUFFER_MAX); // copy buffer into a second buffer
transmitNow = true; // sets the value true so we know that we can transmit now
}
portEXIT_CRITICAL_ISR(&timerMux); // says that we have run our critical code
}
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("MY IP address: ");
Serial.println(WiFi.localIP());
adc1_config_width(ADC_WIDTH_12Bit); // configure the analogue to digital converter
adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN_0db); // connects the ADC 1 with channel 0 (GPIO 36)
const int port = 4444;
while (!client.connect(host, port)) {
Serial.println("connection failed");
delay(1000);
}
Serial.println("connected to server");
timer = timerBegin(0, 80, true); // 80 Prescaler
timerAttachInterrupt(timer, &onTimer, true); // binds the handling function to our timer
timerAlarmWrite(timer, 125, true);
timerAlarmEnable(timer);
}
void loop() {
if (transmitNow) { // checks if the buffer is full
transmitNow = false;
client.write((const uint8_t *)audioBuffer, sizeof(audioBuffer)); // sending the buffer to our server
}
}
Új hozzászólás Aktív témák
- Intel Core i7-14700 20-Core 2.1GHz LGA1700
- Eladó két darab JBL PartyBox 520 hangszóró újszerű állapot, 34hónap garanciával!
- Megválnék a fotós arzenálomtól 6D MkII, Sigma üvegek, vakuk, és még sok más
- DELL T3620 WORKSTATION INTEL XEON I7-6700 / NVME SSD / DDR4 - vga tápkábel
- Gamer PC - R5 5500, RTX 2060 és 16gb RAM + GARANCIA
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Xbox Series X 1 TB + kontroller 6 hó garancia, számlával!
- Bomba ár! Lenovo ThinkPad T490s - i5-8GEN I 8-16GB I 256SSD I 14" FHD Touch I Cam I W11 I Gari!
- HUAWEI MateBook 13 2020 - Kijelző nélkül - I7-10510U - 16GB - 512GB SSD - Win11 - MAGYAR
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest