Add the 74HC595 Snake game project
This commit is contained in:
42
08-74HC595-Snake/7Segment.cpp
Normal file
42
08-74HC595-Snake/7Segment.cpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#include <Arduino.h>
|
||||
#include "7Segment.h"
|
||||
#include "IC74HC595.h"
|
||||
#include "error.h"
|
||||
|
||||
int init7Segment() {
|
||||
pinMode(PIN_7SEGMENT_DIGIT1, OUTPUT);
|
||||
pinMode(PIN_7SEGMENT_DIGIT2, OUTPUT);
|
||||
pinMode(PIN_7SEGMENT_DIGIT3, OUTPUT);
|
||||
pinMode(PIN_7SEGMENT_DIGIT4, OUTPUT);
|
||||
return ERRNO_SUCCESS;
|
||||
}
|
||||
|
||||
void test7Segment()
|
||||
{
|
||||
uint8_t segments[] = {
|
||||
PIN_7SEGMENT_DIGIT1,
|
||||
PIN_7SEGMENT_DIGIT2,
|
||||
PIN_7SEGMENT_DIGIT3,
|
||||
PIN_7SEGMENT_DIGIT4
|
||||
};
|
||||
for ( int j = 0; j < 4 ; j++ ) {
|
||||
select7SegDisplay(segments[j]);
|
||||
for ( int i = 0 ; i < 8; i++ ) {
|
||||
if ( i > 0 ) {
|
||||
writeIC74HC595Char(&scoreboard, ((uint8_t) ~(SEG_DP | (1 << i))), MSBFIRST);
|
||||
} else {
|
||||
writeIC74HC595Char(&scoreboard, ((uint8_t) ~(SEG_DP | 1)), MSBFIRST);
|
||||
}
|
||||
delay(1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
int select7SegDisplay(uint8_t pin)
|
||||
{
|
||||
digitalWrite(PIN_7SEGMENT_DIGIT1, LOW);
|
||||
digitalWrite(PIN_7SEGMENT_DIGIT2, LOW);
|
||||
digitalWrite(PIN_7SEGMENT_DIGIT3, LOW);
|
||||
digitalWrite(PIN_7SEGMENT_DIGIT4, LOW);
|
||||
digitalWrite(pin, HIGH);
|
||||
return ERRNO_SUCCESS;
|
||||
}
|
||||
Reference in New Issue
Block a user