Once you've gotten the basic Blink example to work, you can try
some of the other Arduino functions and libraries. We'll be filling out
this section with more example code and links to tutorials - this is
just to get you started!
pinMode() & digitalWrite() & digitalRead()
You can use pinMode() to make inputs and outputs on any of digital pins #0 thru #2
digitalWrite also works well, and you can also use it with pinMode(INPUT) to activate the internal pull-up resistor on a pin
For example, to set up digital #0 as an input, with an internal pullup, and then check if it is being pulled to ground via a button or switch and turn on the red LED when it is pressed:
pinMode() & digitalWrite() & digitalRead()
You can use pinMode() to make inputs and outputs on any of digital pins #0 thru #2
digitalWrite also works well, and you can also use it with pinMode(INPUT) to activate the internal pull-up resistor on a pin
For example, to set up digital #0 as an input, with an internal pullup, and then check if it is being pulled to ground via a button or switch and turn on the red LED when it is pressed:
/* Button Turns on an LED when a switch connected from #0 to ground is pressed This example code is in the public domain. To upload to your Gemma or Trinket: 1) Select the proper board from the Tools->Board Menu 2) Select USBtinyISP from the Tools->Programmer 3) Plug in the Gemma/Trinket, make sure you see the green LED lit 4) For windows, install the USBtiny drivers 5) Press the button on the Gemma/Trinket - verify you see the red LED pulse. This means it is ready to receive data 6) Click the upload button above within 10 seconds */ #define SWITCH 0 #define LED 1 // the setup routine runs once when you press reset: void setup() { // initialize the LED pin as an output. pinMode(LED, OUTPUT); // initialize the SWITCH pin as an input. pinMode(SWITCH, INPUT); // ...with a pullup digitalWrite(SWITCH, HIGH); } // the loop routine runs over and over again forever: void loop() { if (! digitalRead(SWITCH)) { // if the button is pressed digitalWrite(LED, HIGH); // light up the LED } else { digitalWrite(LED, LOW); // otherwise, turn it off } }
analogRead()
You can read an analog voltage from digital #2 (called A1)
For example, to read an analog voltage on pin #2, you would call analogRead(A1)
analogWrite()
There are a few PWM outputs on the Trinket, you can call analogWrite() on digital #0 and #1
For example, to pulse the built-in LED slowly, upload this code:
/* Pulse Pulses the internal LED to demonstrate the analogWrite function This example code is in the public domain. To upload to your Gemma or Trinket: 1) Select the proper board from the Tools->Board Menu 2) Select USBtinyISP from the Tools->Programmer 3) Plug in the Gemma/Trinket, make sure you see the green LED lit 4) For windows, install the USBtiny drivers 5) Press the button on the Gemma/Trinket - verify you see the red LED pulse. This means it is ready to receive data 6) Click the upload button above within 10 seconds */ int led = 1; // pulse 'digital' pin 1 - AKA the built in red LED // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { for (int i=0; i<256; i++) { analogWrite(led, i); // PWM the LED from 0 to 255 (max) delay(5); } for (int i=255; i>=0; i--) { analogWrite(led, i); // PWM the LED from 255 (max) to 0 delay(5); } }
More...
We also know the following libraries work:
- Adafruit NeoPixel - control up to ~150 Neopixels via a Trinket!
- SoftwareSerial - the built in SoftSerial library can (at least) transmit data on any digital pin.
- More as we do more testing and verification!
Page last edited September 11, 2013
Text editor powered by tinymce.