Bug fixes and new examples Co-authored-by: Paulo Marques <pm@quant-insight.com> Co-authored-by: martin <admin@crossleys.biz> Co-authored-by: matiasilva <matias.silva@raspberrypi.com> Co-authored-by: Uri Shaked <uri@urishaked.com> Co-authored-by: Diego Solano <diegosolano@gmail.com> Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com> Co-authored-by: Adrian Hesketh <a-h@users.noreply.github.com> Co-authored-by: Emircan Gündoğdu <58917386+emircangun@users.noreply.github.com> Co-authored-by: Josef Wegner <80200012+josefwegner@users.noreply.github.com> Co-authored-by: pmarques-dev <72901351+pmarques-dev@users.noreply.github.com> Co-authored-by: Paulo Marques <pm@quant-insight.com> Co-authored-by: mjcross <mjcross@users.noreply.github.com> Co-authored-by: martin <admin@crossleys.biz>
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**
 | |
|  * Copyright (c) 2021 Raspberry Pi (Trading) Ltd.
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-3-Clause
 | |
|  */
 | |
| 
 | |
| #include <stdio.h>
 | |
| #include "pico/stdlib.h"
 | |
| #include "hardware/gpio.h"
 | |
| #include "hardware/adc.h"
 | |
| #include "hardware/uart.h"
 | |
| #include "pico/binary_info.h"
 | |
| 
 | |
| /* Example code to extract analog values from a microphone using the ADC
 | |
|    with accompanying Python file to plot these values
 | |
| 
 | |
|    Connections on Raspberry Pi Pico board, other boards may vary.
 | |
| 
 | |
|    GPIO 26/ADC0 (pin 31)-> AOUT or AUD on microphone board
 | |
|    3.3v (pin 36) -> VCC on microphone board
 | |
|    GND (pin 38)  -> GND on microphone board
 | |
| */
 | |
| 
 | |
| #define ADC_NUM 0
 | |
| #define ADC_PIN (26 + ADC_NUM)
 | |
| #define ADC_VREF 3.3
 | |
| #define ADC_RANGE (1 << 12)
 | |
| #define ADC_CONVERT (ADC_VREF / (ADC_RANGE - 1))
 | |
| 
 | |
| int main() {
 | |
|     stdio_init_all();
 | |
|     printf("Beep boop, listening...\n");
 | |
| 
 | |
|     bi_decl(bi_program_description("Analog microphone example for Raspberry Pi Pico")); // for picotool
 | |
|     bi_decl(bi_1pin_with_name(ADC_PIN, "ADC input pin"));
 | |
| 
 | |
|     adc_init();
 | |
|     adc_gpio_init( ADC_PIN);
 | |
|     adc_select_input( ADC_NUM);
 | |
| 
 | |
|     uint adc_raw;
 | |
|     while (1) {
 | |
|         adc_raw = adc_read(); // raw voltage from ADC
 | |
|         printf("%.2f\n", adc_raw * ADC_CONVERT);
 | |
|         sleep_ms(10);
 | |
|     }
 | |
| 
 | |
|     return 0;
 | |
| }
 |