Skip to main content

GR-COTTON Special Project: Having Fun with LEDs

Overview

Here we introduce several ways to enjoy GR-COTTON LED lighting.

Simply copy and paste the sample programs to the Web compiler and IDE for GR.

cotton-sp-congratulation

Preparation

You will need a GR-COTTON board and a USB cable (Micro B type).

Make sure the white jumper on the reverse side of GR-COTTON is moved to the “3V3 USB” side. If it is set to the BATT side, remove and reinsert it into the USB side.

cotton-sp-prepare
cotton-sp-prepare2

The following sample is extremely easy to follow, and only makes the blue LED blink.

The blue LED is allocated to pin 24 on the GR-COTTON board. It is output from pin 24 in pinMode, and turned ON and OFF with digitalWrite.

Pin 22 is red and pin 23 is green, so set the #define area to 22 or 23 to change LED colors.


#include <arduino.h>

#define LED 24 // blue led
void setup() {
    pinMode(LED, OUTPUT);
    digitalWrite(LED, HIGH);
}



void loop() {
    digitalWrite(LED, LOW);
    delay(500);
    digitalWrite(LED, HIGH);
    delay(500);
}

Programming the LED to Flicker Like a Firefly

The sample shows how to make the red and green LEDs flicker like a firefly. The intensity of the LED light can be set by configuring area 0 - 255 using analogWrite; digitalWrite was used only to turn the LEDs ON and OFF.


#include <arduino.h>

#define LED_R 22 // red led
#define LED_G 23 // green led
void setup() {
}

void loop() {
    for(int i = 0; i < 255; i++){
    analogWrite(LED_R, i);
    analogWrite(LED_G, i);
    delay(5);
    }
    for(int i = 0; i < 255; i++){
    analogWrite(LED_R, 255 - i);
    analogWrite(LED_G, 255 - i);
    delay(5);
    }
}

Rainbow

The sample below shows how to make the LEDs flicker in a rainbow of colors.


#include <arduino.h>

void setup() {
}

void loop() {
    static double t = 0.0;
    analogWrite(22, int(255.0 * pow(0.5 - 0.49 * cos(t / 2.0), 2.0)));
    analogWrite(23, int(255.0 * pow(0.5 - 0.49 * cos(t / 3.0), 2.0)));
    analogWrite(24, int(255.0 * pow(0.5 - 0.49 * cos(t / 5.0), 2.0)));
    t = fmod(t + (2 * M_PI / 1000 * 10), 60.0 * M_PI);
    delay(1);
}

Support

Support Communities

Support Communities

Get quick technical support online from Renesas Engineering Community technical staff.
Browse Articles

Knowledge Base

Browse our knowledge base for helpful articles, FAQs, and other useful resources.
Submit a Ticket

Submit a Ticket

Need to ask a technical question or share confidential information?