Nixie bargraph klockan (5 / 6 steg)
Steg 5: Arduino skiss - kalibrering
#define HOUR_PIN 1 / / timme display via PWM på prydnadssak GPIO #1
#define MINUTE_PIN 4 / / minut display via PWM på prydnadssak GPIO #4 (via Timer 1 samtal)
int timmar = 57;
int minuter = 57; Ange minsta pwm
Ogiltiga inställningar () {
pinMode (HOUR_PIN, OUTPUT);
pinMode (MINUTE_PIN, OUTPUT);
PWM4_init(); Ställ in PWM utgångar
}
Ogiltig loop () {
Används för att justera nixie krukor maximala tube höjd motsvarar
analogWrite (HOUR_PIN, 255);
analogWrite4(255); Används för att kalibrera de minsta påslagen
/*
analogWrite4(57); minut 0
Delay(5000);
analogWrite4(107); minut 15
Delay(5000);
analogWrite4(156); minut 30
Delay(5000);
analogWrite4(206); minut 45
Delay(5000);
analogWrite4(255); minut 60
Delay(5000);
*/
Används för att kalibrera de timme påslagen / *
analogWrite (HOUR_PIN, 57); 57 är den minsta produktionen och motsvarar 1 am/pm
Delay(4000); fördröjning på 4 sekunder
analogWrite (HOUR_PIN, 75); 75 är produktionen som motsvarar 2 am/pm
Delay(4000);
analogWrite (HOUR_PIN, 93); 93 är produktionen som motsvarar 3 am/pm
Delay(4000);
analogWrite (HOUR_PIN, 111); 111 är utdata som motsvarar 4 am/pm
Delay(4000);
analogWrite (HOUR_PIN, 129); 129 är produktionen som motsvarar 5 am/pm
Delay(4000);
analogWrite (HOUR_PIN, 147); 147 är produktionen som motsvarar 6 am/pm
Delay(4000);
analogWrite (HOUR_PIN, 165); 165 är produktionen som motsvarar 7 am/pm
Delay(4000);
analogWrite (HOUR_PIN, 183); 183 är produktionen som motsvarar 8 am/pm
Delay(4000);
analogWrite (HOUR_PIN, 201); 201 är produktionen som motsvarar 9 am/pm
Delay(4000);
analogWrite (HOUR_PIN, 219); 219 är produktionen som motsvarar 10 am/pm
Delay(4000);
analogWrite (HOUR_PIN, 237); 237 är produktionen som motsvarar kl 11 /
Delay(4000);
analogWrite (HOUR_PIN, 255); 255 är produktionen som motsvarar 12 am/pm
*/
}
void PWM4_init() {
Ställ in PWM på prydnadssak GPIO #4 (PB4, stift 3) använda Timer 1
TCCR1 = _BV (CS10); ingen prescaler
GTCCR = _BV (COM1B1) | _BV (PWM1B); Rensa OC1B på Jämför
OCR1B = 127; duty cycle initiera till 50%
OCR1C = 255; frekvens
}
Funktionen att tillåta analogWrite på prydnadssak GPIO #4
void analogWrite4 (uint8_t duty_value) {
OCR1B = duty_value; tullen kan vara 0 till 255 (0 till 100%)
}