# data[].attributes.body
Coverage: Global.
Creators: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino and David Mellis.
Date: 2005 (first Arduino board created).
Description: Arduino is a global open-source hardware and software ecosystem.
Source:

# data[].attributes.attachment_link.description
Open-source electronic prototyping platform enabling users to create interactive electronic objects.

# data[].attributes.body
Coverage: Global.
Date: 2005.
Description: The Starter Kit teaches the basics of using Arduino. The kit includes a selection of useful electronic components and a book of 15 projects.
Source:

# data[].attributes.attachment_link.description
The Arduino Starter Kit Classroom Pack is a bundled solution, containing six of the popular Arduino Starter Kits. This Classroom 6-Pack is for a classroom of at least twelve students - the recommended ratio is two students per kit -

# data[].attributes.body
Creator: 314Reactor.
Date: May 5th 2019
Description: Making an infinity Gauntlet to interface with my artificial life project.
Source:

# data[].attributes.body
Creator: Micheal Guerero.
Date: April 29th 2019.
Description: Unlock an inconspicuous chest from across the room with a secret switch.
Source:

# data[].attributes.attachment_link.title
Practical Prototypes: Hidden Bust Switch

# data[].attributes.body
Creator: Isangmu.
Date: April 24th 2019.
Description: How to make a remote controlled origami robot with Arduino.
Source:

# data[].attributes.attachment_link.title
How to Make Amazing RC Origami Robot | Luis Craft

# data[].attributes.body
Creator: AhmedAzouz.
Date: May 1st 2019.
Description: Introducing a super easy control labyrinth marble maze.
Source:

# data[].attributes.body
Creator: 30 Percent.
Date: April 22nd 2019.
Description: This project automates a console remote.
Source:

# data[].attributes.body
Creator: Charlotte Henderson.
Name: Colourmixinglamp.
Date: 29/11/17.
Size: 1.26 KB.
Description: Code for gym light system.
Type: Text Document.

# data[].attributes.attachment_link.readable_text
const int greenLEDPin = 9;
const int redLEDPin = 11;
const int blueLEDPin = 10;

const int redSensorPin = A0;
const int greenSensorPin = A1;
const int blueSensorPin = A2;

int redValue = 0;
int greenValue = 0;
int blueValue = 0;

int redSensorValue = 0;
int greenSensorValue = 0;
int blueSensorValue = 0;

void setup() {
  Serial.begin(9600);

  pinMode(greenLEDPin,OUTPUT);
  pinMode(redLEDPin,OUTPUT);
  pinMode(blueLEDPin,OUTPUT);
}

void loop() {
  redSensorValue = analogRead(redSensorPin);
  delay(5);
  greenSensorValue = analogRead(greenSensorPin);
  delay(5);
  blueSensorValue = analogRead(blueSensorPin);
  Serial.print("Raw Sensor Values \t Red: ");
  Serial.print(redSensorValue);
  Serial.print("\t Green: ");
  Serial.print(greenSensorValue);
  Serial.print("\t Blue: ");
  Serial.println(blueSensorValue);

  redValue = redSensorValue/4;
  greenValue = greenSensorValue/4;
  blueValue = blueSensorValue/4;

  Serial.print("Mapped Sensor Values \t Red: ");
  Serial.print(redValue);
  Serial.print("\t Green: ");
  Serial.print(greenValue);
  Serial.print("\t Blue: ");
  Serial.println(blueValue);
  
  analogWrite(redLEDPin, redValue);
  analogWrite(greenLEDPin, greenValue);
  analogWrite(blueLEDPin, blueValue);
  
}

# data[].attributes.body
Creator: Charlotte Henderson.
Name: Spaceship.
Date: 22/11/17.
Size: 1 KB.
Description: Draft start-up for space ship code.
Type: Text Document.

# data[].attributes.attachment_link.readable_text


int switchState = 0;
 void setup() {
   // put your setup code here, to run once:
 pinMode(3,OUTPUT);
 pinMode(4,OUTPUT);
 pinMode(5,OUTPUT);
 pinMode(2,OUTPUT);
 }

void loop() {
   // put your main code here, to run repeatedly:
 switchState=digitalRead(2);
 if (switchState == LOW) {
   // the button is not pressed

  digitalWrite(3, HIGH);
   digitalWrite(4, LOW);
   digitalWrite(5, LOW);
 }
 else { //the button is pressed
   digitalWrite(3, LOW);
   digitalWrite(4, LOW);
   digitalWrite(5, HIGH);

  delay(100); //wait for a quarter second
   //toggle the LEDs
   digitalWrite(4, HIGH);
   digitalWrite(5, LOW);
   delay(100); //wait for a quarter second
   
 }

} //go back to the beginning of the loop 

# data[].attributes.body
Creator: Charlotte Henderson.
Name: HigherMarkCode.
Date: 10/01/18
Size: 1.65 KB.
Type: Text Document.
Description: Complete code for working gym light system.

# data[].attributes.attachment_link.readable_text
const int sensorPin = A0;
const float baselineTemp = 18.0;
const int blueLEDPin = 4;
const int lightSensorPin = A1;
const float baselinelight = 1022;
int blueValue = 0;
int lightSensorValue = 0;
int switchState = 0;
void setup(){
Serial.begin(9600); //open a serial port
  for(int pinNumber = 2; pinNumber<5; pinNumber++){
  pinMode(pinNumber,OUTPUT);
  digitalWrite(pinNumber, LOW);
  pinMode(blueLEDPin,OUTPUT);
  pinMode(5,OUTPUT);
}
}
void loop(){
switchState = digitalRead(5);
  if (switchState == LOW) {
  // the button is not pressed
digitalWrite(4, LOW);
  }
  else { // the button is pressed
digitalWrite(4, HIGH);
  delay(10000);
  }

lightSensorValue = analogRead(lightSensorPin);
Serial.print("lightSensorValue: ");
Serial.print(lightSensorValue);
  blueValue = lightSensorValue/4;
  if (lightSensorValue < baselinelight){
  digitalWrite(4, HIGH);
  }else if(lightSensorValue > baselinelight){
  digitalWrite(4, LOW);
  }
int sensorVal = analogRead(sensorPin);
Serial.print("Sensor Value: ");
Serial.print(sensorVal);
// convert the ACD reading to voltage
float voltage = (sensorVal/1024.0) * 5.0;
Serial.print(", Volts ");
Serial.print(voltage);
Serial.print(", degrees C: ");
// convert the voltage to temperature in degrees
float temperature = (voltage - .5) * 100;
Serial.println(temperature);
  if(temperature < baselineTemp){
  digitalWrite(2, HIGH);
  digitalWrite(3, LOW); 
  }else if(temperature >= baselineTemp && temperature < baselineTemp+3){
  digitalWrite(2, LOW);
  digitalWrite( 3, HIGH);
  }else if(temperature >= baselineTemp+3) {
  digitalWrite(2, HIGH);
  digitalWrite(3, LOW); 
  }
  delay(1);
}

# data[].attributes.body
Creator: Charlotte Henderson.
Name: Annota.
Date: 11/01/18.
Size: 3.77 KB.
Type: Text Document.
Description: Annotated complete gym light code.

# data[].attributes.attachment_link.readable_text
const int sensorPin = A0; //'const' (constants) allow you to name things in the program.
const float baselineTemp = 18.0; //'baselineTemp' is the name given to the base temperature.
const int blueLEDPin = 4; //Blue LED represents the gym lights.
const int lightSensorPin = A1; //'lightSensorPin' is the name given to the light sensor. It identifies the pin (A1).
const float baselinelight = 1022; //this identifies the base light (1022 sensor value).
int blueValue = 0; //'int' will hold a whole number (integer).
int lightSensorValue = 0;
int switchState = 0;
void setup(){
Serial.begin(9600); //open a serial port //'Serial.begin' opens up a connection between the arduino and the computer
//-this is so i can see the values from the analog input.
  for(int pinNumber = 2; pinNumber<5; pinNumber++){
  pinMode(pinNumber,OUTPUT); //pinMode is the name of a command.
  digitalWrite(pinNumber, LOW);
  pinMode(blueLEDPin,OUTPUT);
  pinMode(5,OUTPUT);
} //code written in the curly brackets will be executed when the function is called.
}
void loop(){
switchState = digitalRead(5); //'digitalRead checks the pin for volatage. In my program it will check pin 5 ans store
//-the value in the switchState variable.
  if (switchState == LOW) {
  // the button is not pressed
digitalWrite(4, LOW); //digital write is a command that allows the user to send 5V or 0V to an output pin.
//you choose what pin to control (in this case 4) and also what value to set that pin i.e. HIGH or LOW.
  }
  else { // the button is pressed
    //The 'if' statement has an optional 'else'. This allows something to happen if the former condition is not met.
    //In this case if the button is pressed.
digitalWrite(4, HIGH);//blue LED
  delay(10000); //delay allows you to stop the arduino from executing anything for a specific amount of time.
  }

lightSensorValue = analogRead(lightSensorPin); //'analogRead' gets the value from the sensor. This decides what pin it should take
//-a voltage reading from. The value is between 0-1023. 
Serial.print("lightSensorValue: "); //'Serial.print' sends information from the Arduino to a connected computer. The value written in
//-in the brackets ("lightSensorValue: ") is shown within the serial monitor that you can see on screen.
Serial.print(lightSensorValue);
  blueValue = lightSensorValue/4;
  if (lightSensorValue < baselinelight){ //if the light sensor is less than the baselinelight then the light is on.
  digitalWrite(4, HIGH);
  }else if(lightSensorValue > baselinelight){ //if the light sensor value is greater than the the baselinelight then the light is off.
  digitalWrite(4, LOW);
  }
int sensorVal = analogRead(sensorPin);
Serial.print("Sensor Value: "); //'Sensor Value' will be shown on the serial monitor.
Serial.print(sensorVal);
// convert the ACD reading to voltage
float voltage = (sensorVal/1024.0) * 5.0;
Serial.print(", Volts "); // 'Volts' will be shown on the serial monitor.
Serial.print(voltage); // 'voltage' will be shown on the serial monitor.
Serial.print(", degrees C: ");
// convert the voltage to temperature in degrees
float temperature = (voltage - .5) * 100; 
Serial.println(temperature);
  if(temperature < baselineTemp){//if temperature is less than the baseline temp then red light will show and green light will be off.
  digitalWrite(2, HIGH);// red LED
  digitalWrite(3, LOW); //Green LED
  }else if(temperature >= baselineTemp && temperature < baselineTemp+3){ //'&&' means 'and'.
    //if temperature is greater than the baseline temp and the temperature is less than the baseline temp plus 3 then the green light is on.
  digitalWrite(2, LOW);
  digitalWrite( 3, HIGH);
  }else if(temperature >= baselineTemp+3) {// if the temperature is greater than or equal to the baseline temp plus three then the red light is on.
  digitalWrite(2, HIGH);
  digitalWrite(3, LOW); 
  }
  delay(1);
}

# data[].attributes.body
Creator: Charlotte Henderson.
Website: www.tinkercad.com.
Name: Ard1.
Date: 17/01/2018.
Size: 153 KB.
Dimensions: 1280 x 1024.
Type: PNG File.
Description: Using the website 'TinkerCad' you can create working Arduino models using diagrams and code.

# data[].attributes.body
Creator: Helektrika.
Website: www.tinkercad.com.
Name: Diagram2.
Date: 05/08/18.
Size: 280 KB.
Dimensions: 1920 x 1080.
Type: PNG File.
Description: How to make an Arduino RC Robot.

# data[].attributes.body
Creator: Kevin Lewis.
Website: www.tinkercad.com.
Name: Diagram3.
Date: 18/08/17.
Size: 161 KB.
Dimensions: 1920 x 1080.
Type: PNG File.
Description: Arduino powered calculator.

# data[].attributes.body
Creator: Joshua Brooks.
Website: www.tinkercad.com.
Name: simplepiano.
Date: 20/06/17.
Size: 257 KB.
Dimensions: 1920 x 1080.
Type: PNG File.
Description: Very simple Arduino piano.

# data[].attributes.body
Creator: Charlotte Henderson.
Name: Arduino Image 1.
Date: 29/11/17
Size: 589 KB.
Dimensions: 4096 x 2304.
Type: JPG File.
Description: Photo of LED Switch Arduino circuit that I put together.

# data[].attributes.body
Creator: Charlotte Henderson.
Name: Arduino Image 2.
Date: 29/11/17
Size: 586 KB.
Dimensions: 4096 x 2304.
Type: JPG File.
Description: Photo of LED Switch Arduino circuit that I put together.

# data[].attributes.body
Creator: Charlotte Henderson.
Name: Ard22.
Date: 29/11/17
Size: 952 KB.
Dimensions: 1920 x 1080.
Type: PNG File.
Description: Annotation hardware of photo LED Switch Arduino circuit that I put together.

# data[].attributes.headline
Print Screen of Serial Monitor when simulation is run:

# data[].attributes.subject
Print Screen of Serial Monitor when simulation is run:

# data[].attributes.body
Creator: Charlotte Henderson.
Name: ard3.
Date: 29/11/18.
Size: 103 KB.
Dimensions: 1280 x 1024.
Type: PNG File.
Description: Print screen of serial monitor when simulation is running.

# data[].attributes.body
Creator: SurtrTech.
Date: May 8th 2019.
Description: Contactless temperature sensor can be used to detect body temperature.
Source:

# data[].attributes.attachment_link.title
Contactless temperature sensor MLX90614 + Arduino + LCD/OLED

# data[].attributes.body
Creator: Puran Singh & Piara Singh.
Date: April 26th 2019.
Description: Using Arduino to create garden clock.
Source:

# data[].attributes.body
Creator: Puran Singh & Piara Singh.
Name: nighttimeclock.
Date: 26/4/19
Size: 195 KB.
Dimensions: 1280 x 720.
Type: JPG File.
Description: Photo for Day time garden clock.

# data[].attributes.body
Creator: Puran Singh & Piara Singh.
Name: daytimeclock.
Date: 26/4/19
Size: 80.4 KB.
Dimensions: 1280 x 720.
Type: JFIF File.
Description: Photo for night time garden clock.

# data[].attributes.body
Creator: 314Reactor.
Name: Infinitygauntlet.
Date: 05/5/19
Size: 251 KB.
Dimensions: 1280 x 960.
Type: JFIF File.
Description: Photo of infinity gauntlet.

# data[].attributes.body
Creator: 314Reactor.
Name: hardwareinfinty.
Date: 05/5/19
Size: 122 KB.
Dimensions: 1280 x 960.
Type: JFIF File.
Description: Photo of hardware used to create Arduino gauntlet.

# data[].attributes.body
Creator: 314Reactor.
Name: finishedgauntlet.
Date: 05/5/19
Size: 103 KB.
Dimensions: 960 x 960.
Type: JPG File.
Description: Photo of finished infinity gauntlet.

# data[].attributes.body
Creator: Micheal Guerero.
Name: code for hidden switch.
Date: 29/04/19.
Size: 4.13 KB.
Type: Text Document.
Description: Code for hidden switch.

# data[].attributes.attachment_link.readable_text
/* Secret Bust Button
 * Bust
 */
#include <SPI.h>
#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>

RF24 radio(7, 8); // CE, CSN
const byte address[6] = "00001";

const int buttonPin = 9;
bool buttonState;
//bool prevButtonState = 0;

void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();

  pinMode(buttonPin, INPUT);
}

void loop() {
  buttonState = digitalRead(buttonPin);
  Serial.println(buttonState);

  radio.write(&buttonState, sizeof(buttonState));
  }
  
  
  
  
  /* Secret Bust Switch Project
 * Box Code
*/

// Include Libraries
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>

// Create Objects
RF24 radio(7, 8); // CE, CSN
Servo servo;

// Declare Variables
const byte address[6] = "00001";
bool buttonState;
const int solenoidPin = 4 ;
const int servoPin = 3;
bool lidOpenState = false;
int pos;
int prevButtonState;

void setup() {
  Serial.begin(9600);                       // Start Serial Monitor
  radio.begin();                            
  radio.openReadingPipe(0, address);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();                   // Start Listening for radio transmission
  pinMode(solenoidPin, OUTPUT);
  digitalWrite(solenoidPin, HIGH);          // Release (Lock) Solenoid
  servo.attach(servoPin);                   
  servo.write(5);                           // Home Servo to 0 Deg (Box Closed Position)
  delay(1000);                              // Wait one second
  servo.detach();                           
}

void loop() {
if (radio.available()){
  radio.read(&buttonState, sizeof(buttonState));
  prevButtonState = buttonState;
  for (int n=0; n=5; n++){
    radio.read(&buttonState, sizeof(buttonState));
    delay(50);
    if (prevButtonState != buttonState){
      n = 0;
    }
  Serial.print("Button State:    "); Serial.println(buttonState);
  Serial.print("Lid Open State:    "); Serial.println(lidOpenState);
  if (buttonState == true && lidOpenState == false){          // If bust switch is pressed and lid is closed...
    openLid();                                                // Open lid seqence...
    lidOpenState = true;                                      // Lid is now open
  }
  if (buttonState == false && lidOpenState == true){          // If bust switch is unpressed and lid is open...
    closeLid();                                               // Close lid sequence...
    lidOpenState = false;                                     // Lid is now closed
  }
}
//delay(100);
}
}
/*
------------------------------------------------------------------------------------------------------------------------------------
                                                    Open lid sequence
------------------------------------------------------------------------------------------------------------------------------------
*/ 
void openLid(){                                               
    Serial.println("Opening");
    digitalWrite(solenoidPin, LOW);              // Engage(unlock) Solenoid
    servo.attach(servoPin);                                   
    delay(500);
    servo.write(180);
    delay(1200);
    servo.detach();
    digitalWrite(solenoidPin, HIGH);            // Solenoid is in released (locked) position
}

/*
------------------------------------------------------------------------------------------------------------------------------------
                                                    Close lid sequence
------------------------------------------------------------------------------------------------------------------------------------
*/ 
void closeLid(){                                              
    Serial.println("Closing");
    digitalWrite(solenoidPin, LOW);                             // Engage (unlock) Solenoid
    servo.attach(servoPin);
    delay(500);
    servo.write(5);
    delay(1200);
    servo.detach();
    digitalWrite(solenoidPin, HIGH);                          // Solenoid is in released (locked) position 
}

# data[].attributes.body
Creator: Micheal Guerero.
Name: batmanswitch.
Date: 29/4/19
Size: 44.2 KB.
Dimensions: 900 x 675.
Type: JPG File.
Description: Photo for Day time garden clock.

# data[].attributes.body
Creator: Isangmu.
Name: origami robot.
Date: 29/4/19
Size: 37.7 KB.
Dimensions: 900 x 675.
Type: JFIF File.
Description: Photo of origami robot.
Source:

# data[].attributes.body
Creator: Isangmu.
Name: code origami robot.
Date: 29/4/19
Size: 1.16 KB.
Dimensions: 900 x 675.
Type: Text Document.
Description: Code for origami robot.
Source: