Question: I already have the hardware part setup. Please do as much as possible in C language. Problem statement: You need to program the firmware for

I already have the hardware part setup. Please do as much asI already have the hardware part setup. Please do as much as possible in C language.

Problem statement: You need to program the firmware for a hotel safe. Hardware: two momentary pushbuttons (key and key1), and four leds (one green, one red, one blue, and one yellow). Your hardware team has selected the ATtiny85, which only has 5 usable I/0 pins, and so there is multiplexing of the leds using the Charlieplexing technique. Initialization state: At power up/reset, the unit should be in the unlocked state (indicated by the green led) and in programming mode (indicated by the yellow led) It will then accept a 6 bit code, using key and key1 to represent "o" and "1" respectively. When the code is provided, it should move into the locked state (indicated by the red led, and the programming led should go off. It will now wait for a 6 bit code to be entered. If the entry is correct, it will move to unlock/program mode. If incorrect, it will flash the yellow led for a short time, and wait for another 6 bit input. The blue led should be used as a visual indicator to acknowledge a button press (i.e. a short flash for each press) You will need to use some debounce logic on the switch inputs. You need to use an interrupt handler. You need to use some form of finite state machine Problem statement: You need to program the firmware for a hotel safe. Hardware: two momentary pushbuttons (key and key1), and four leds (one green, one red, one blue, and one yellow). Your hardware team has selected the ATtiny85, which only has 5 usable I/0 pins, and so there is multiplexing of the leds using the Charlieplexing technique. Initialization state: At power up/reset, the unit should be in the unlocked state (indicated by the green led) and in programming mode (indicated by the yellow led) It will then accept a 6 bit code, using key and key1 to represent "o" and "1" respectively. When the code is provided, it should move into the locked state (indicated by the red led, and the programming led should go off. It will now wait for a 6 bit code to be entered. If the entry is correct, it will move to unlock/program mode. If incorrect, it will flash the yellow led for a short time, and wait for another 6 bit input. The blue led should be used as a visual indicator to acknowledge a button press (i.e. a short flash for each press) You will need to use some debounce logic on the switch inputs. You need to use an interrupt handler. You need to use some form of finite state machine

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!