Questions tagged [timers]
Timers are the hardware in the processor used to count and time events. Use this tag for questions about the hardware timers.
437
questions
1
vote
2
answers
46
views
Timer 1 "Set on Compare Match" in Normal Mode - Not working
I'm using the hardware timers on the 328 for phase angle control of a triac with zero-crossing detection. I am encountering some strange behavior with the "Set on Compare Match" feature not ...
0
votes
1
answer
115
views
DS3231 with Arduino Nano for Timing precision
I am in need to synchronize two separate circuit boards working with Arduino nano. The need is to activate one relay using Arduino-1 after 45 min and another relay using Arduino-2 after 45.36 seconds. ...
2
votes
2
answers
90
views
Arudino receiving interrupt command BEFORE entering sleep mode causing it not to receive any interrupt commands in order to wake up
I've written code for an Arduino Nano that when a button is pressed, it sends an IR command. It is set so that if no button press has been received for a period of 10 seconds, it will enter sleep mode ...
0
votes
1
answer
89
views
Arduino nano timing precision
How precisely can an Arduino nano be timed? The project I am working on needs two Arduino nano to work synchronously. Arduino one have to activate a relay after 2700 sec and Arduino two have to ...
-1
votes
1
answer
82
views
How to read analog sensor data with different timers in arduino
I have three analog sensors like voltage, temperature and pressure. I need to measure the voltage and temperature every 10 ms and I need to measure the pressure alone every 30 ms by using the timers ...
0
votes
0
answers
28
views
Arduino Due timer based PWM pattern signal
Here's the PWM pattern I want to generate (I've drawn only 1 period's waveforms, this pattern repeats each cycle i.e this figure is between 0 and T (T = time period))
I have been able to generate the ...
2
votes
1
answer
46
views
Ramping servo motor taking longer than calculated
I'm learning how to code a "BOE Shield bot" with a partner at my university (first year). To clarify for those that do not know: a BOE Shield bot is a small robot equipped with 2 servo ...
-2
votes
1
answer
123
views
1Hz & 32Hz from 32.768 kHz on ATmega328P at 8MHz & DS3231 32K
I have a 32.768 kHz signal at the ATmega328P input.
I need to get 2 signals from this signal: 1Hz and 32Hz.
How well will it work?
How to do this with a ATmega328P Timer/Counter?
What gain will the ...
-1
votes
1
answer
205
views
Stopwatch stop/start button and reset
i am trying to make a stop watch with a stop/start button and a reset button
i have made this
#include "RTClib.h"
//Setup the Real Time Clock, DS3231
RTC_DS3231 rtc;
const byte SQWinput = 2;...
0
votes
1
answer
622
views
Teensy 4.1 / 4.0 When to use FlexPWM vs QuadTimer pins to strobe LEDs
I want to strobe 3 LEDs (at independent frequencies and duty cycles) via mosfets with a duty cycle of 0.05%-1% at a frequency range of 24-100 hz. I would like to hold 1% or better accuracy for both ...
4
votes
1
answer
599
views
ISR for very fast processes, strange code found. Has ISR effect on timer behaviour?
I found the following code within an example for performing very fast changes on a PWM-output. It works, however I'm wondering about some details.
TIMER2 was set up in setup() as follows:
TCCR2A = 0; ...
1
vote
4
answers
175
views
How to efficiently code a long duration timer
I'm working on a battery-powered project. I'm trying to write code, which checks the battery voltage every 30 minutes and changes the color of a LED accordingly. Should I still be using millis() or is ...
3
votes
2
answers
1k
views
Attach the Arduino ISR function to the class member
I intended to use a timer interrupt for limited instances of a class in my ESP32 Arduino project. My first code conception was as follows:
portEXIT_CRITICAL_ISR(&lock0);
}
...
0
votes
1
answer
64
views
Safely extend TCNT1 / ICR1 to 24 bits using TOV1
I'm hoping to time external events on a '328p Arduino that will occur slowly enough that they'll overflow the 16-bit counter TCNT1. In a different scenario I'd prescale the counter, but I need the ...
1
vote
1
answer
345
views
Interval timer on Arduino: Doubt about TimerOne library
I want to synchronize a timer interrupt from a button is pressed. I want to read a button state 3 seconds later from the first pulse moment (to identify long pressed button, 3 seconds for this example)...
1
vote
1
answer
97
views
Where am I going wrong in modifying Timer0 and the ISR interrupts in this example?
(Arduino) Hello I don't know where I am going wrong here, please advise.
In the end I want to step a bipolar motor, HIGH/LOW, using Timer0 with OCR0A and OCR0B interrupts to adjust the motors step ...
1
vote
0
answers
384
views
Pulse period capture with SAMD21
I need to count the number of pulses in a moving window (e.g. last 60 seconds) using as less CPU time as possible.
The first step is to use TCC to capture pulse period.
The pulses arrive randomly at ...
0
votes
1
answer
89
views
Why do I get different times when using analogRead() inside while loop?
I have the following code which checks the latency of another board.
int triggerPin = 13;
int dataPin = 9;
int ejectorPin = A0;
unsigned long t_start = 0;
unsigned long t_end = 0;
...
1
vote
1
answer
73
views
Arduino pro mini sampling rate
what are the possible sampling rate the user can set in Arduino pro mini using ADCSRA registers.
I want to set my desired sampling rate through registers, is it possible?
1
vote
1
answer
95
views
I am trying to add a countdown to my Arduino code but it does 0 days, 04:09:36 instead of starting at 7 days
The code I use probably has a math problem since an Arduino can only count a 16 bit integer. This problem is with the WeekDelay() function.
The project is for an Aerogarden. It pumps water into the ...
-1
votes
1
answer
122
views
I have been having a lot of trouble adding a countdown to a piece of code [closed]
This is the code. The /// are where I added the countdown. Unfortunately the countdown only goes down 9 seconds. What I want it to do is go down the full 24 hours. I have been trying to fix this error ...
-1
votes
1
answer
72
views
Can't get 1 second on a ATMega168 timer
TCCR1A = 0;
TCCR1B = 0;
OCR1B = 0xFF00;
TCCR1A = (1<<WGM10) ;
TCCR1B = (1<<CS12) | (1<<CS10);; //set the pre-scalar as 1024
TIMSK1 = (1 << OCIE1A);
This doesn't ...
-1
votes
1
answer
46
views
Cannot change pointer for port in main loop
I am testing on an Arduino UNO. I want to use timer1 and interrupts to create various LED patterns. The LEDs may span multiple ports i.e PORTB and PORTD. I want to use a "volatile uint8_t*" ...
1
vote
0
answers
70
views
Millis() based timer program for 24x7 usage in Arduino [duplicate]
I have made an irrigation system using Arduino. Timer program is based on comparing the previous Millis() and current Millis(). I want to know the chance for error when the currentMillis() overflows ...
0
votes
1
answer
133
views
Timer to send a periodic pulse [closed]
I am looking for a very low power, small component (perhaps an arduino) that will send a pulse 3.3V logic HIGH pulse once every X seconds to another system. I want to be able to configure X (maybe a ...
3
votes
2
answers
730
views
MPU6050 Arduino Jeff Rowberg library interrupt Issue
I was trying to get the data from MPU6050 using the Arduino library mentioned here.
The following code is an edited version of the sample code given in the library folder which seems to be working ...
1
vote
0
answers
136
views
Variable frequency PWM, without changing timers
I need variable frequency output - 0-5000Hz with some duty cycle. I do not want to change timers, because I am using delays, serial and CAN, so I do not want them to be affected by changed timers. I ...
2
votes
0
answers
232
views
External Interrupt and Input Capture pin | Arduino MEGA
I have a code for finding the rpm of one system calling here as engine , the engine have a hall sensor output and I have tried the following Code
#define SERVO_MIN 2000
#define SERVO_MAX 4000
struct ...
0
votes
1
answer
1k
views
Seeeduino XIAO write and read PWM duration (period) using timers
I am trying to communicate between two Seeeduino XIAO (chip: ATSAMD21G18A-MU) by way of TCC capture using register timers.
Square wave pulse duration varies from 200ns to 4us.
I found these two code ...
2
votes
0
answers
78
views
Is a PWM phase duration set with OCR1A a reliable way to communicate values to other Arduinos?
I am working on communicating 4 switch states across multiple Arduinos using only one pin. It must be as fast as conceivably possible.
Currently I have a master Arduino reading all 4 switches (...
1
vote
1
answer
71
views
Interrupt takes longer than expected [closed]
I am trying to write a delay function in C, which should take 0.5 seonds then carry on. I am aware that there are libraries for this purpouse, I want to make it myself.
#include <avr/interrupt.h>...
1
vote
2
answers
1k
views
Arduino Reset via Software (every day)
Dear Stack Exchanger's,
I want to reset my Arduino and system in every 24h for preventing frozen software and also other connectivity stuffs.
I wrote a program which connects a digital pin to reset ...
1
vote
2
answers
235
views
run a function for a certain amount of time! [duplicate]
i'm working on a project where i need to run a function for 20 minutes and the function writes to memory using EEPROM every minute. How can i make the function run for 20 minutes, i was thinking of ...
2
votes
1
answer
101
views
How can I read the Timer direction in phase correct PWM?
I have had to use Timer0 with phase correct PWM and a prescaler of 1. This results in a 32khz PWM frequency and obviously impacts millis, delay and micros. (Timer1 and Timer 2 are also in use so ...
1
vote
0
answers
33
views
How do I synch the Arduino PID library with an external timer for turn-rate control?
I have been trying to use the Arduino PID library for controlling the rate of turn (in deg/sec) of a wall-following robot.
The robot's operating system uses TIMER5 on an Arduino MEGA2560 to update a ...
1
vote
1
answer
75
views
How to set 60 min beeper?
I am trying to make a device that will register latency and number of shocks for passive avoidance behavior in drosophila. My device has two buttons green and red. I press green when I put a fruit fly ...
1
vote
2
answers
310
views
Turn off Timer1 / Timer1 One-shot
A zero detector crossover sends a pulse to the Arduino, it must start counting x time and then a pulse is sent from the Arduino, once the timer reaches time x, it must stop counting and only start ...
2
votes
0
answers
37
views
Generating Externally Triggered Complimentary PWM with Arduino Due
I need a 2KHz complimentary PWM waves with adjustable duty and phase that is triggered by an external 4KHz source.
After reading the datasheet I think there might be 2 way to do this:
Use a TC unit ...
2
votes
1
answer
389
views
Arduino Uno's Timer maximum frequency using Timer Compare Interrupt, not Timer Output Pins (e.g. OC0A)
I want to achieve the generation of a custom binary signal over a digital pin at the highest possible frequency on Arduino Uno.
Using Timer's output pins (e.g. OC0A), one can get a pin to toggle at a ...
1
vote
1
answer
235
views
ISR for timer on Arduino MEGA gets called only once
I am trying to write an Arduino code to blink LED using timer 4 on Arduino MEGA (atmega2560). I resetted the timer registers, and entered all the necessary values to bring to 16MHz to 1Hz (rescalar = ...
1
vote
2
answers
157
views
How to convert kitchen timer code into a countdown
I found this code for a kitchen timer, it was the closest thing to a countdown. The code is here:
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
...
2
votes
2
answers
165
views
How to program an Arduino Uno to collect data using a timer interrupt and analyze that data in matlab?
I working on a project where I want to collect sensor data (from a sensor) and I want to analyze the first 20 data sample (e.g., find the range, trendline e.t.c.). I know how to compile a timer ...
1
vote
0
answers
99
views
Arduino mega PinChangeInterrupt with 16 bit timer
With reference to this question ::I have written a program by using 16-bit timer,
The program is as follows .
volatile uint32_t ovfCount = 0;
struct Pulse {
uint32_t last_toggle;
uint32_t width;
...
1
vote
1
answer
237
views
Issue using Arduino Mega Timer2 with PinChange Interrupt
I was working on a program to measure the pulse width , for that I thought of using Timer 2 in Arduino mega along with pin change interrupt,
The program I have written is as follows
volatile float ...
1
vote
2
answers
128
views
Timer Interrupt Collision
I am working with a MEGA2560 trying to implement velocity ramps for three steppers at the same time. The goal is to move to different positions applying accelerations and decelerations while finishing ...
1
vote
2
answers
1k
views
How to exit out of a timer interrupt (ISR(TIMER1_COMPA_vect))
I have a code here where I collect an array of data and do some data analysis with the data. The only thing I'm struggle with is how to exit the ISR after I am done running my code. I am using a pre-...
1
vote
1
answer
144
views
Input Capture Mode PPM signal
Greetings to all members of the Forum. I would like to express my deepest gratitude, with respect to the title of this post.
The last week I am trying to capture and decode a PPM Signal from an RC ...
3
votes
2
answers
351
views
Is it bad practice to multitask without timing constraints
Going through resources such as several things at the same time and with some greatly appreciated assistance on here I'm finally getting a grasp on how to multitask a microcontroller.
Most examples ...
1
vote
1
answer
139
views
Doing several things at the same time with functions, objects or interrupts?
First of all, thank you for taking the time to read this. I am a newbie, so apologies (done examples on arduino website, basic C++).
I'm trying to get an idea of what the best way to structure a ...
1
vote
1
answer
134
views
Issue with simple timer based on millis()
Sorry to bother but I am at my wits end. I'm experimenting with timers, and starting very simple. The following code is supposed to print the content of a variable each time an interval of time has ...