Since the Sino:bit uses the same MCU as the Micro:bit, it has the same analog input capabilities (see the GPIO section).
int analogPin = 0; int val = 0; void setup() { Serial.begin(9600); } void loop() { delay(1000); val = analogRead(analogPin); Serial.println(val); }
The big LED matrix gives us more potential for displaying things, like a histogram of analog readings.
#include <sinobit.h> Sinobit matrix = Sinobit(); int analogPin = SINOBIT_PAD_P0; int readings[12]; void setup() { matrix.begin(); delay(100); matrix.clearScreen(); for (int i = 0; i < 12; i++) { readings[i] = 0; } } void loop() { delay(1000); for (int i = 0; i < 11; i++) { readings[i] = readings[i + 1]; } // experience showed that my photocell never got to a max reading // which is why I use 12 as the upper limit instead of 11 as expected readings[11] = map(analogRead(analogPin), 0, 1023, 0, 12); for (int i = 0; i < 12; i++) { if (readings[i] == 0) { matrix.drawLine(i, 11, i, 0, 0); } else if (readings[i] == 11) { matrix.drawLine(i, 11, i, 0, 1); } else { matrix.drawLine(i, 11, i, 12 - readings[i], 1); matrix.drawLine(i, 11 - readings[i], i, 0, 0); } } matrix.writeScreen(); }
Page last edited March 08, 2024
Text editor powered by tinymce.