DSL810 Assignment4: Arduino Micro-Controller Coding

Assignment 4


1)

Write your first name by switching 9 LEDs on/off and push buttons such that: With press of one push button, the letters of the name blink every 1000 ms.

2)

With press of another push button, all LEDs blink ON and then OFF with a delay of 1000 ms five times.

3)

Extra credit: Also, print the letter typed on the Serial Monitor using the 9 LEDs

This entire process has to be documented and a video has to be uploaded on your assignment webpage which shows the assignment deliverables. Please provide a link to the arduino code used.



Connection


Components Used


Working on Connections


Code


int ledPin1 = 2;
int ledPin2 = 3;
int ledPin3 = 4;
int ledPin4 = 5;
int ledPin5 = 6;
int ledPin6 = 7;
int ledPin7 = 8;
int ledPin8 = 9;
int ledPin9 = 10;
int buttonApin = 11;
int buttonBpin = 12;
int duration=1000;

char letter = 0;
int n=5;

void setup()
{
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);

pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buttonBpin, INPUT_PULLUP);
}

void loop()
{

if (digitalRead(buttonApin) == LOW)
{
P();
delay(duration);
R();
delay(duration);
A();
delay(duration);
K();
delay(duration);
H();
delay(duration);
A();
delay(duration);
R();
delay(duration);
}

if (digitalRead(buttonBpin) == LOW)
{
for(int n= 0; n<5; n++)
{
ALLUP();
delay(duration);
ALLDOWN();
delay(duration);
}
}

if (Serial.available() > 0) // is a character available?
{ letter = Serial.read(); // get the character

// check if a number was received
if (letter == 'P')
{
Serial.print("Letter received = ");
Serial.println(letter);
P();/*letter P*/
delay(duration);
}
if (letter == 'R')
{
Serial.print("Letter received = ");
Serial.println(letter);
R();/*letter H*/
delay(duration);
}
if (letter == 'A')
{
Serial.print("Letter received = ");
Serial.println(letter);
A();/*letter H*/
delay(duration);
}
if (letter == 'K')
{
Serial.print("Letter received = ");
Serial.println(letter);
K();/*letter H*/
delay(duration);
}
if (letter == 'H')
{
Serial.print("Letter received = ");
Serial.println(letter);
H();/*letter H*/
delay(duration);
}

if (letter == 'A')
{
Serial.print("Letter received = ");
Serial.println(letter);
A();/*letter H*/
delay(duration);
}

if (letter == 'R')
{
Serial.print("Letter received = ");
Serial.println(letter);
R();/*letter H*/
delay(duration);
}
}
}

void P(){
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
digitalWrite(ledPin8, HIGH);
digitalWrite(ledPin9, HIGH);
}

void A(){
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
digitalWrite(ledPin8, HIGH);
digitalWrite(ledPin9, HIGH);
}
void R(){
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
digitalWrite(ledPin8, LOW);
digitalWrite(ledPin9, HIGH);
}
void K(){
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,HIGH);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
digitalWrite(ledPin8, LOW);
digitalWrite(ledPin9, HIGH);
}
void H(){
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
digitalWrite(ledPin8, LOW);
digitalWrite(ledPin9, HIGH);
}

void ALLUP(){
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
digitalWrite(ledPin8, HIGH);
digitalWrite(ledPin9, HIGH);
}

void ALLDOWN(){
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin7, LOW);
digitalWrite(ledPin8, LOW);
digitalWrite(ledPin9, LOW);
}



Videos


1. Write your first name by switching 9 LEDs on/off and push buttons such that: With press of one push button, the letters of the name blink every 1000 ms


2. With press of another push button, all LEDs blink ON and then OFF with a delay of 1000 ms five times.


3. Print the letter typed on the Serial Monitor using the 9 LEDs


Thank You! :)