added arduino, modified build

This commit is contained in:
2020-02-02 15:28:36 -08:00
parent 0189d519c6
commit 6480bc593f
3583 changed files with 1305025 additions and 247 deletions

View File

@@ -0,0 +1,89 @@
// Circuit Playground Analog Sensor Demo
// Shows how to read an analog sensor like temperature, light,
// sound, or even external inputs and convert the analog value
// to color and sound on the board. Will light up NeoPixel 4 and 5
// with a color proportional to the analog value, and if the slide
// switch is turned to the left will play a music tone proportional
// to the value.
#include <Adafruit_CircuitPlayground.h>
#include <Wire.h>
#include <SPI.h>
// Change the analog input value below to try different sensors:
#define ANALOG_INPUT A5 // Specify the analog input to read.
// Circuit Playground has the following
// inputs available:
// - A0 = temperature sensor / thermistor
// - A4 = sound sensor / microphone
// - A5 = light sensor
// - A7 = pin #6 on board
// - A9 = pin #9 on board
// - A10 = pin #10 on board
// - A11 = pin #12 on board
// These defines set the range of expected analog values.
// This is used to scale the NeoPixels, sound, etc.
#define VALUE_MIN 0
#define VALUE_MAX 200
// These defines set the range of pixel color when mapping
// to the sensor value.
#define COLOR_RED_MIN 255
#define COLOR_GREEN_MIN 0
#define COLOR_BLUE_MIN 0
#define COLOR_RED_MAX 0
#define COLOR_GREEN_MAX 0
#define COLOR_BLUE_MAX 255
// These defines set the range of sound frequencies when
// mapping to the sensor value.
#define TONE_FREQ_MIN 523 // C5 note
#define TONE_FREQ_MAX 988 // B5 note
void setup() {
// Setup serial port.
Serial.begin(115200);
Serial.println("Circuit Playground Analog Sensor Demos!");
// Setup Circuit Playground library.
CircuitPlayground.begin();
}
void loop() {
// Get the sensor sensor value and print it out (can use serial plotter
// to view realtime graph!).
uint16_t value = analogRead(ANALOG_INPUT);
Serial.println(value, DEC);
// Map the sensor value to a color.
// Use the range of minimum and maximum sensor values and
// min/max colors to do the mapping.
if(value < VALUE_MIN) value = VALUE_MIN;
else if(value > VALUE_MAX) value = VALUE_MAX;
int red = map(value, VALUE_MIN, VALUE_MAX, COLOR_RED_MIN , COLOR_RED_MAX);
int green = map(value, VALUE_MIN, VALUE_MAX, COLOR_GREEN_MIN, COLOR_GREEN_MAX);
int blue = map(value, VALUE_MIN, VALUE_MAX, COLOR_BLUE_MIN , COLOR_BLUE_MAX);
// Gamma correction gives a more linear appearance to brightness ranges
red = CircuitPlayground.gamma8(red);
green = CircuitPlayground.gamma8(green);
blue = CircuitPlayground.gamma8(blue);
// Light up pixel #4 and 5 with the color.
CircuitPlayground.clearPixels();
CircuitPlayground.setPixelColor(4, red, green, blue);
CircuitPlayground.setPixelColor(5, red, green, blue);
// Map the sensor value to a tone frequency.
int frequency = map(value, VALUE_MIN, VALUE_MAX, TONE_FREQ_MIN, TONE_FREQ_MAX);
// Play the tone if the slide switch is turned on (to the left).
if (CircuitPlayground.slideSwitch()) {
// Play tone of the mapped frequency value for 100 milliseconds.
CircuitPlayground.playTone(frequency, 100);
}
// Delay for a bit and repeat the loop.
delay(100);
}