﻿ My Ardunio Hello world - 3 LED's and a Potentiometer

This morning I jumped out of bed at 7am (like at 9 year old boy), brewed a coffee (like a middle-aged man) and set about playing with my new Arduino (like a 9 year old boy). After flying through a few basic tutorials, I was ready to go it alone and try building something off my own back.

This isn't strictly an Internet of Things project but just 2 hours into learning about electronics I have made something work, and I'm proud of myself so thought I'd knock out a quick blog post.

## What does it do?

I decided I wanted to make a series of LED's represent the resistance across a potentiometer - not exactly groundbreaking but it was a challenge I felt I could achieve before my pot of coffee went cold.

Kit I used on this project:

• 1 x Arduino UNO r3
• 1 x Breadboard
• 1 x Potentiometer
• 3 x coloured LED's
• 3 x 220 Ohm resistors
• A load of hook-up wires
• USB cable (for power and data)
• Laptop
• Offical Arduino IDE
• Limited imagination
• Programing knowledge

## How does it work

I wrote a simple script that does the following:

• Initiates serial comms on startup
• Runs a continuous loop that reads analog input from the Potentiometer sensor
• Checks the sensor value on each pass of the loop
• Turns on the correct LED based on sensor value
• If high value (>1000) run another loop to make the red LED flash

I also created a simple method called `clearLEDs()` that is called whenever I want all LED's to be switched off.

## The code

This is a thrown-together script to get something working but hey it works so serves its purpose.

``````int redPin = 9;
int greenPin = 10;
int bluePin = 11;
int fadeValue = 250;

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

void loop() {

int sensorValue = analogRead(A0);
Serial.println(sensorValue);

if (sensorValue < 5){
clearLEDs();
}
else if (sensorValue < 500){
clearLEDs();
}
else if (sensorValue < 900){
clearLEDs();
}
else{
clearLEDs();
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
delay(2);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
delay(5);
}
}
delay(100);
}

void clearLEDs() {
for (int thisPin = 9; thisPin < 12; thisPin++) {
analogWrite(thisPin, 0);
}
}
``````

This is a very simple "Hello World" project but I'm happy with my first ever Arduino project. The best part is I managed to not blow anything up!

Next up is my first real IoT project!

﻿