Orion IoT Code Repository
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

55 lines
1.5 KiB

/*
I2S stereo microphone (input) example
Run using the Arduion Serial Plotter to see waveform.
Released to the Public Domain by Earle F. Philhower, III
For the Google AIY Voice Hat Microphone daughterboard, part
of the Raspberry Pi AIY cardboard box, the I2S stereo pinout
looking at the board top with the RPI logo on the left hand
side:
+-- ------------------------------------ --+
left RPI | (1) GND (2) DIN (3) BCLK (4) LRCLK (5) 3.3V | AIY right
+---------------------------------------------+
The I2S pins are on different pins depending on your board.
The *internal GPIO number* which is NOT NECESSARIALY the
same as the pin numbers, are as follows:
I2SI_DATA = GPIO12
IS2I_BCK = GPIO13
I2SI_WS/LRCLK = GPIO14
On the D1 mini the I2SI pins map to the following D pins:
I2SI_DATA = GPIO12 = D6
IS2I_BCK = GPIO13 = D7
I2SI_WS/LRCLK = GPIO14 = D5
Expect different D pins on different ESP8266 boards, and of
course be sure to wire up VCC(3.3V) and GND.
*/
#include <ESP8266WiFi.h>
#include <i2s.h>
void setup() {
Serial.begin(115200);
WiFi.forceSleepBegin();
delay(500);
i2s_rxtx_begin(true, false); // Enable I2S RX
i2s_set_rate(11025);
delay(1000);
while (1) {
int16_t l, r;
i2s_read_sample(&l, &r, true);
char withScale[256];
sprintf(withScale, "%d %d", l, r);
Serial.println(withScale);
yield();
}
}
void loop() {
/* Nothing here */
}