Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Pins 5 and 6:[/size]
- Setting Divisor Frequency
- 0x01 1 62500
- 0x02 8 7812.5
- 0x03 64 976.5625
- 0x04 256 244.140625
- 0x05 1024 61.03515625
- PWM frequency 9 e 10
- 0x01 1 31250
- 0x02 8 3906.25
- 0x03 64 488.28125
- 0x04 256 122.0703125
- 0x05 1024 30.517578125
- Pins 11 and 3:[/size]
- 0x01 1 31250
- 0x02 8 3906.25
- 0x03 32 976.5625
- 0x04 64 488.28125
- 0x05 128 244.140625
- 0x06 256 122.0703125
- 0x07 1024 30.517578125
- */
- #define potnPinDuracao A0 // Port potenciômetro duracao pulso
- #define potnPinInicio A1 // Port potenciômetro inicio pulso
- #define bobina 13 // Port onde seráo ligadas as bobinas
- int duracao = 0; // Valor da duracao do pulso
- int inicio = 250; // Valor de atraso de inicio do pulso
- unsigned int freq; // Varialvel para correcao da frequencia
- bool flag = 0; // Controle de inici de pulso
- //-------------------------------
- void setup()
- {
- pinMode(potnPinDuracao, INPUT); // Port entrada duraçã0
- pinMode(potnPinInicio, INPUT); // Port entrada inicio
- pinMode(bobina, OUTPUT); // Port saida bobina
- attachInterrupt(0, pulse, RISING); // Interrupt a cada pulso
- TCCR1B = TCCR1B & B11111000 | B00000101; // Set PWM frequency for D9 & D10 :
- pinMode(9, OUTPUT); // sets the pin as output
- // pinMode(10, OUTPUT); // sets the pin as output
- // TCCR2B = TCCR2B & B11111000 | B00000001; // Set PWM for D3 & D11
- // pinMode(3, OUTPUT); // sets the pin as output
- // pinMode(11, OUTPUT); // sets the pin as output
- }
- //------------------------------
- void pulse()
- {
- flag = 1; // Indica passagem bola pelo sensor
- Serial.println(flag);
- }
- //-------------------------------
- void loop()
- {
- // Serial.println(flag);
- analogWrite(9, 128);
- inicio = map(analogRead(potnPinInicio), 0, 1023, 1 , 20); // Valor de ajuste do atraso
- delay(1); // Tempo recuperacao do ADC
- duracao = map(analogRead(potnPinDuracao), 0, 1023, 1 , 20); // Valor de ajuste da duracao
- if (flag == 1) // Se a bola passou
- {
- delay(inicio); // Atrasa para ligar bobina igual ajuste
- digitalWrite(bobina, HIGH); // Liga bobina
- delay(duracao); // Duração ligada igual ajuste
- digitalWrite(bobina, LOW); // Desliga bobina
- flag = 0; // Desabilita ligar bobina
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement