mirror of
https://github.com/geekammo/MicroView-Arduino-Library.git
synced 2026-02-20 11:31:24 +01:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
abacd6b7bc |
@@ -91,6 +91,9 @@ void loop() {
|
||||
</code></pre>
|
||||
|
||||
## History
|
||||
**v1.14b: 26th July 2014 by JP Liew
|
||||
* added Learning Kit Circuit Sketch
|
||||
|
||||
**v1.13b: 13th June 2014 by JP Liew**
|
||||
* added Sine Wave Example
|
||||
* inserted license to example code
|
||||
|
||||
24
examples/LearningKit/Blink/Blink.ino
Normal file
24
examples/LearningKit/Blink/Blink.ino
Normal file
@@ -0,0 +1,24 @@
|
||||
#include <MicroView.h>
|
||||
/*
|
||||
MicroView Blink
|
||||
Draw a circle for one second, then off for one second, repeatedly.
|
||||
|
||||
This example code is in the public domain.
|
||||
*/
|
||||
|
||||
// the setup routine runs once when you press reset:
|
||||
void setup() {
|
||||
uView.begin();
|
||||
uView.clear(PAGE);
|
||||
}
|
||||
|
||||
// the loop routine runs over and over again forever:
|
||||
void loop() {
|
||||
uView.circleFill(32,24,10,WHITE,NORM);
|
||||
uView.display();
|
||||
delay(1000); // wait for a second
|
||||
|
||||
uView.circleFill(32,24,10,BLACK,NORM);
|
||||
uView.display();
|
||||
delay(1000); // wait for a second
|
||||
}
|
||||
14
examples/LearningKit/Circuit1/Circuit1.ino
Normal file
14
examples/LearningKit/Circuit1/Circuit1.ino
Normal file
@@ -0,0 +1,14 @@
|
||||
int LED = A3; // declare LED as pin A3 of MicroView
|
||||
|
||||
void setup()
|
||||
{
|
||||
pinMode(LED, OUTPUT); // set LED pin as OUTPUT
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
digitalWrite(LED, HIGH); // set LED pin HIGH voltage, LED will be on
|
||||
delay(1000); // delay 1000 ms
|
||||
digitalWrite(LED, LOW); // set LED pin LOW voltage, LED will be off
|
||||
delay(1000); // delay 1000 ms
|
||||
}
|
||||
23
examples/LearningKit/Circuit10/Circuit10.ino
Normal file
23
examples/LearningKit/Circuit10/Circuit10.ino
Normal file
@@ -0,0 +1,23 @@
|
||||
#include <MicroView.h> // include MicroView library
|
||||
|
||||
int relayPin = 2; // set relayPin as pin 2 of Arduino
|
||||
|
||||
void setup() {
|
||||
uView.begin(); // start MicroView
|
||||
uView.clear(PAGE); // clear page
|
||||
pinMode(relayPin, OUTPUT); // initialize the digital pin as an output.
|
||||
}
|
||||
|
||||
void loop() {
|
||||
uView.setCursor(0,0); // set cursor at 0,0
|
||||
uView.print("YELLOW"); // print YELLOW text
|
||||
uView.display(); // display
|
||||
digitalWrite(relayPin, HIGH); // turn the RELAY ON (HIGH is the voltage level)
|
||||
delay(1000); // wait for a second
|
||||
|
||||
uView.setCursor(0,0);
|
||||
uView.print("RED ");
|
||||
uView.display();
|
||||
digitalWrite(relayPin, LOW); // turn the RELAY off by making the voltage LOW
|
||||
delay(1000); // wait for a second
|
||||
}
|
||||
20
examples/LearningKit/Circuit11/Circuit11.ino
Normal file
20
examples/LearningKit/Circuit11/Circuit11.ino
Normal file
@@ -0,0 +1,20 @@
|
||||
#include <MicroView.h> // include MicroView library
|
||||
|
||||
MicroViewWidget *widget; // declare widget pointer
|
||||
|
||||
int sensorValue; // declare variable to store sensor value
|
||||
int sensorPin=A0; // declare sensor pin as A0 of Arduino
|
||||
|
||||
void setup() {
|
||||
uView.begin(); // start MicroView
|
||||
uView.clear(PAGE); // clear page
|
||||
widget = new MicroViewSlider(0,0,0,1024, WIDGETSTYLE1); // declare widget as slider
|
||||
pinMode(sensorPin, INPUT); // set sensor pin as INPUT
|
||||
}
|
||||
|
||||
void loop () {
|
||||
sensorValue=analogRead(sensorPin); // read and store sensor value
|
||||
widget->setValue(sensorValue); // set sensor value to widget
|
||||
uView.display(); // display widget
|
||||
delay(20); // delay 20 ms
|
||||
}
|
||||
26
examples/LearningKit/Circuit2/Circuit2.ino
Normal file
26
examples/LearningKit/Circuit2/Circuit2.ino
Normal file
@@ -0,0 +1,26 @@
|
||||
#include <MicroView.h> // include MicroView library
|
||||
|
||||
MicroViewWidget *widget; // create widget pointer
|
||||
MicroViewWidget *widget2; // create widget pointer
|
||||
|
||||
int sensorPin = A1; // select the input pin for the potentiometer
|
||||
int sensorValue = 0; // variable to store the value coming from the sensor
|
||||
|
||||
void setup()
|
||||
{
|
||||
digitalWrite(sensorPin, HIGH); // Internal Pull-up
|
||||
pinMode(sensorPin, INPUT); // make pin as INPUT
|
||||
uView.begin(); // start MicroView
|
||||
uView.clear(PAGE); // clear page
|
||||
widget = new MicroViewSlider(0, 0, 0, 1024); // make widget as Slider
|
||||
widget2 = new MicroViewSlider(0, 20, 0, 1024, WIDGETSTYLE1); // make widget as Silder STYLE1
|
||||
uView.display(); // display the content in the screen buffer
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
sensorValue = analogRead(sensorPin); // read sensorPin
|
||||
widget->setValue(sensorValue); // set value of sensorPin to widget
|
||||
widget2->setValue(sensorValue); // set value of sensorPin to widget
|
||||
uView.display(); // display the content in the screen buffer
|
||||
}
|
||||
71
examples/LearningKit/Circuit3/Circuit3.ino
Normal file
71
examples/LearningKit/Circuit3/Circuit3.ino
Normal file
@@ -0,0 +1,71 @@
|
||||
#include <MicroView.h> // include MicroView library
|
||||
|
||||
MicroViewWidget *redWidget, *greenWidget, *blueWidget; // declare 3 widget pointers
|
||||
|
||||
int RED = 6; // declare RED LED pin 6
|
||||
int GREEN = 5; // declare GREEN LED pin 5
|
||||
int BLUE = 3; // declare BLUE LED pin 3
|
||||
int fadeStep = 10; // declare fading steps
|
||||
int dly=20; // declare delay
|
||||
|
||||
void setup()
|
||||
{
|
||||
uView.begin(); // start MicroView
|
||||
uView.clear(PAGE); // clear page
|
||||
redWidget = new MicroViewSlider(0,0,0,255); // declare RED widget as slider
|
||||
greenWidget = new MicroViewSlider(0,10,0,255); // declare GREEN widget as slider
|
||||
blueWidget = new MicroViewSlider(0,20,0,255); // declare BLUE widget as slider
|
||||
|
||||
pinMode(RED, OUTPUT); // set RED LED pin as OUTPUT
|
||||
pinMode(GREEN, OUTPUT); // set GREEN LED pin as OUTPUT
|
||||
pinMode(BLUE, OUTPUT); // set BLUE LED pin as OUTPUT
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
int i; // init i variable for general use
|
||||
// brightening
|
||||
for (i=0;i<=255;i+=fadeStep) { // step i from 0 to 255 by fadeSteps
|
||||
redWidget->setValue(i); // set brightness value for RED LED to widget
|
||||
uView.display(); // display the content of the screen buffer
|
||||
analogWrite(RED,i); // set brightness value for RED LED to the pin
|
||||
delay(dly);
|
||||
}
|
||||
// dimming
|
||||
for (i=255;i>=0;i-=fadeStep) { // step i from 255 to 0 by fadeSteps
|
||||
redWidget->setValue(i);
|
||||
uView.display();
|
||||
analogWrite(RED,i);
|
||||
delay(dly);
|
||||
}
|
||||
|
||||
// brightening
|
||||
for (i=0;i<=255;i+=fadeStep) {
|
||||
greenWidget->setValue(i);
|
||||
uView.display();
|
||||
analogWrite(GREEN,i);
|
||||
delay(dly);
|
||||
}
|
||||
// dimming
|
||||
for (i=255;i>=0;i-=fadeStep) {
|
||||
greenWidget->setValue(i);
|
||||
uView.display();
|
||||
analogWrite(GREEN,i);
|
||||
delay(dly);
|
||||
}
|
||||
|
||||
// brightening
|
||||
for (i=0;i<256;i+=fadeStep) {
|
||||
blueWidget->setValue(i);
|
||||
uView.display();
|
||||
analogWrite(BLUE,i);
|
||||
delay(dly);
|
||||
}
|
||||
// dimming
|
||||
for (i=255;i>=0;i-=fadeStep) {
|
||||
blueWidget->setValue(i);
|
||||
uView.display();
|
||||
analogWrite(BLUE,i);
|
||||
delay(dly);
|
||||
}
|
||||
}
|
||||
29
examples/LearningKit/Circuit4/Circuit4.ino
Normal file
29
examples/LearningKit/Circuit4/Circuit4.ino
Normal file
@@ -0,0 +1,29 @@
|
||||
#include <MicroView.h> // include MicroView library
|
||||
|
||||
int buttonPin = A0; // push button pin
|
||||
int buttonState = 0; // variable to store the pushbutton status
|
||||
|
||||
void setup() {
|
||||
uView.begin(); // start MicroView
|
||||
uView.clear(PAGE); // clear page
|
||||
|
||||
pinMode(buttonPin, INPUT); // initialize the pushbutton pin as an input
|
||||
digitalWrite(buttonPin,HIGH); // set Internal pull-up
|
||||
}
|
||||
|
||||
void loop() {
|
||||
buttonState = digitalRead(buttonPin); // read the state of the pushbutton value
|
||||
|
||||
// check if the pushbutton is pressed.
|
||||
// if it is not pressed, the buttonState is HIGH:
|
||||
if (buttonState == HIGH) {
|
||||
uView.setCursor(0,0); // set cursor at 0,0
|
||||
uView.print("OFF"); // print OFF
|
||||
uView.display();
|
||||
}
|
||||
else {
|
||||
uView.setCursor(0,0);
|
||||
uView.print("ON ");
|
||||
uView.display();
|
||||
}
|
||||
}
|
||||
20
examples/LearningKit/Circuit5/Circuit5.ino
Normal file
20
examples/LearningKit/Circuit5/Circuit5.ino
Normal file
@@ -0,0 +1,20 @@
|
||||
#include <MicroView.h> // include MicroView library
|
||||
|
||||
MicroViewWidget *widget; // declare widget pointer
|
||||
|
||||
int sensorPin = A2; // select the input pin for the photo resistor
|
||||
int sensorValue = 0; // variable to store the value coming from the sensor
|
||||
|
||||
void setup() {
|
||||
pinMode(sensorPin,INPUT); // set sensor pin as INPUT
|
||||
digitalWrite(sensorPin,HIGH); // set Internal pull-up
|
||||
uView.begin(); // start MicrView
|
||||
uView.clear(PAGE); // clear page
|
||||
widget = new MicroViewGauge(32,24,0,1023,WIDGETSTYLE1); // set widget as gauge STYLE1
|
||||
}
|
||||
|
||||
void loop() {
|
||||
sensorValue= analogRead(sensorPin); // read value from sensorPin
|
||||
widget->setValue(sensorValue); // set the sensorValue to the gauge widget
|
||||
uView.display(); // display the widget
|
||||
}
|
||||
23
examples/LearningKit/Circuit6/Circuit6.ino
Normal file
23
examples/LearningKit/Circuit6/Circuit6.ino
Normal file
@@ -0,0 +1,23 @@
|
||||
#include <MicroView.h> // include MicroView library
|
||||
|
||||
MicroViewWidget *widget; // declare widget pointer
|
||||
|
||||
int sensorPin = A0; // select the input pin for the temperature sensor
|
||||
int sensorValue = 0; // variable to store the value coming from the sensor
|
||||
|
||||
void setup() {
|
||||
pinMode(sensorPin,INPUT); // set sensor pin as INPUT
|
||||
uView.begin(); // start MicroView
|
||||
uView.clear(PAGE); // clear page
|
||||
widget = new MicroViewGauge(32,24,0,255,WIDGETSTYLE1); // declare as gauge widget
|
||||
uView.drawChar(47,33,67); // Character C is ASCII code 67
|
||||
}
|
||||
|
||||
void loop() {
|
||||
sensorValue= analogRead(sensorPin); // read sensor pin value
|
||||
float voltage = sensorValue * 5.0; // voltage at pin in volt
|
||||
voltage /= 1024.0; // voltage = sensorValue x (5/1024)
|
||||
float temperatureC = (voltage - 0.5) * 100 ; // C = (voltage - 0.5) x 100
|
||||
widget->setValue(temperatureC); // set temperature value to the gauge
|
||||
uView.display(); // display gauge tick
|
||||
}
|
||||
38
examples/LearningKit/Circuit7/Circuit7.ino
Normal file
38
examples/LearningKit/Circuit7/Circuit7.ino
Normal file
@@ -0,0 +1,38 @@
|
||||
#include <MicroView.h> // include MicroView library
|
||||
#include <Servo.h> // include Servo library
|
||||
|
||||
Servo servo; // declare servo object
|
||||
|
||||
void setup()
|
||||
{
|
||||
uView.begin(); // start MicroView
|
||||
uView.clear(PAGE); // clear page
|
||||
servo.attach(6); // servo control pin at D6
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
uView.setCursor(0,0); // set cursor to 0,0
|
||||
uView.print("Mid "); // display Mid
|
||||
uView.display();
|
||||
servo.write(90); // about 90 degree
|
||||
delay(2000); // delay 2 seconds
|
||||
|
||||
uView.setCursor(0,0);
|
||||
uView.print("Left ");
|
||||
uView.display();
|
||||
servo.write(20); // about 20 degree
|
||||
delay(2000);
|
||||
|
||||
uView.setCursor(0,0);
|
||||
uView.print("Mid ");
|
||||
uView.display();
|
||||
servo.write(90); // about 90 degree
|
||||
delay(2000);
|
||||
|
||||
uView.setCursor(0,0);
|
||||
uView.print("Right");
|
||||
uView.display();
|
||||
servo.write(160); // about 160 degree
|
||||
delay(2000);
|
||||
}
|
||||
82
examples/LearningKit/Circuit8/Circuit8.ino
Normal file
82
examples/LearningKit/Circuit8/Circuit8.ino
Normal file
@@ -0,0 +1,82 @@
|
||||
#include <MicroView.h>
|
||||
// adapted from SparkFun Inventor Kit https://www.sparkfun.com/products/12001
|
||||
// Please download the original source code for detail comment of the source code
|
||||
// http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Kits/SIK%20Guide%20Code.zip
|
||||
|
||||
const int buzzerPin = A0;
|
||||
const int songLength = 18;
|
||||
char notes[] = "cdfda ag cdfdg gf "; // a space represents a rest
|
||||
int beats[] = {1,1,1,1,1,1,4,4,2,1,1,1,1,1,1,4,4,2};
|
||||
|
||||
int tempo = 150;
|
||||
|
||||
void setup()
|
||||
{
|
||||
uView.begin();
|
||||
uView.clear(PAGE);
|
||||
pinMode(buzzerPin, OUTPUT);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
int i, duration;
|
||||
|
||||
for (i = 0; i < songLength; i++) // step through the song arrays
|
||||
{
|
||||
duration = beats[i] * tempo; // length of note/rest in ms
|
||||
|
||||
if (notes[i] == ' ') // is this a rest?
|
||||
{
|
||||
uView.print(" ");
|
||||
uView.display();
|
||||
delay(duration); // then pause for a moment
|
||||
}
|
||||
else // otherwise, play the note
|
||||
{
|
||||
uView.print(notes[i]);
|
||||
uView.display();
|
||||
tone(buzzerPin, frequency(notes[i]), duration);
|
||||
delay(duration); // wait for tone to finish
|
||||
}
|
||||
delay(tempo/10); // brief pause between notes
|
||||
}
|
||||
|
||||
// We only want to play the song once, so we'll pause forever:
|
||||
while(true){}
|
||||
// If you'd like your song to play over and over,
|
||||
// remove the above statement
|
||||
}
|
||||
|
||||
|
||||
int frequency(char note)
|
||||
{
|
||||
// This function takes a note character (a-g), and returns the
|
||||
// corresponding frequency in Hz for the tone() function.
|
||||
|
||||
int i;
|
||||
const int numNotes = 8; // number of notes we're storing
|
||||
|
||||
// The following arrays hold the note characters and their
|
||||
// corresponding frequencies. The last "C" note is uppercase
|
||||
// to separate it from the first lowercase "c". If you want to
|
||||
// add more notes, you'll need to use unique characters.
|
||||
|
||||
// For the "char" (character) type, we put single characters
|
||||
// in single quotes.
|
||||
|
||||
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
|
||||
int frequencies[] = {262, 294, 330, 349, 392, 440, 494, 523};
|
||||
|
||||
// Now we'll search through the letters in the array, and if
|
||||
// we find it, we'll return the frequency for that note.
|
||||
|
||||
for (i = 0; i < numNotes; i++) // Step through the notes
|
||||
{
|
||||
if (names[i] == note) // Is this the one?
|
||||
{
|
||||
return(frequencies[i]); // Yes! Return the frequency
|
||||
}
|
||||
}
|
||||
return(0); // We looked through everything and didn't find it,
|
||||
// but we still need to return a value, so return 0.
|
||||
}
|
||||
54
examples/LearningKit/Circuit9/Circuit9.ino
Normal file
54
examples/LearningKit/Circuit9/Circuit9.ino
Normal file
@@ -0,0 +1,54 @@
|
||||
#include <MicroView.h> // include MicroView library
|
||||
|
||||
int motorPIN = 3; // set motor control pin
|
||||
MicroViewWidget *widget; // declare widget pointer
|
||||
|
||||
void setup() {
|
||||
uView.begin(); // start MicroView
|
||||
uView.clear(PAGE); // clear page
|
||||
pinMode(motorPIN, OUTPUT); // initialize the digital pin as an output.
|
||||
widget = new MicroViewGauge(32,24,90,255,WIDGETSTYLE1); // set widget as gauge STYLE1
|
||||
setPwmFrequency(motorPIN,1); // set PWM frequency to about 31K
|
||||
}
|
||||
|
||||
void loop() {
|
||||
for (int i=90;i<255;i+=10) { // step i from 90 to 255 by step of 10
|
||||
widget->setValue(i); // set i value to gauge
|
||||
uView.display(); // display gauge
|
||||
analogWrite(motorPIN, i); // set the DUTY cycle of the motorPIN
|
||||
delay(500); // delay 500 ms
|
||||
}
|
||||
}
|
||||
|
||||
// function to set the frequency of the PWM pin
|
||||
// adapted from http://playground.arduino.cc/Code/PwmFrequency
|
||||
void setPwmFrequency(int pin, int divisor) {
|
||||
byte mode;
|
||||
if(pin == 5 || pin == 6 || pin == 9 || pin == 10) {
|
||||
switch(divisor) {
|
||||
case 1: mode = 0x01; break;
|
||||
case 8: mode = 0x02; break;
|
||||
case 64: mode = 0x03; break;
|
||||
case 256: mode = 0x04; break;
|
||||
case 1024: mode = 0x05; break;
|
||||
default: return;
|
||||
}
|
||||
if(pin == 5 || pin == 6) {
|
||||
TCCR0B = TCCR0B & 0b11111000 | mode;
|
||||
} else {
|
||||
TCCR1B = TCCR1B & 0b11111000 | mode;
|
||||
}
|
||||
} else if(pin == 3 || pin == 11) {
|
||||
switch(divisor) {
|
||||
case 1: mode = 0x01; break;
|
||||
case 8: mode = 0x02; break;
|
||||
case 32: mode = 0x03; break;
|
||||
case 64: mode = 0x04; break;
|
||||
case 128: mode = 0x05; break;
|
||||
case 256: mode = 0x06; break;
|
||||
case 1024: mode = 0x7; break;
|
||||
default: return;
|
||||
}
|
||||
TCCR2B = TCCR2B & 0b11111000 | mode;
|
||||
}
|
||||
}
|
||||
10
examples/LearningKit/HelloWorld/HelloWorld.ino
Normal file
10
examples/LearningKit/HelloWorld/HelloWorld.ino
Normal file
@@ -0,0 +1,10 @@
|
||||
#include <MicroView.h>
|
||||
|
||||
void setup() {
|
||||
uView.begin(); // start MicroView
|
||||
uView.clear(PAGE); // clear page
|
||||
uView.print("HelloWorld"); // display HelloWorld
|
||||
uView.display();
|
||||
}
|
||||
|
||||
void loop () {}
|
||||
Reference in New Issue
Block a user