Questions tagged [timing]

This tag is for questions about timing code execution, or external events.

Filter by
Sorted by
Tagged with
12
votes
1answer
917 views

_delay_ms() is much slower than expected (by a factor of 6) on TinyAVR 0/1 (ATTiny1604)

I designed a custom AVR development board using the Atmel ATTiny1604 microcontroller. It belongs to the new Tiny-0 family, due to its recentness, some required changes to relevant toolchains have yet ...
9
votes
4answers
1k views

delay(time); vs if(millis()-previous>time); and drift

Going through an old project, I had code on two Arduino Due that looked like this void loop() { foo(); delay(time); } taking to heart the majority of literature on using delay(); I recoded this ...
8
votes
2answers
10k views

How precise is the timing of pulseIn()?

I've been using the pulseIn() function for processing PWM-based binary data encoding. It works well for distinguishing pulses which are significantly different lengths, e.g. 500us vs. 1500us. That ...
6
votes
1answer
1k views

Syncing/taking external clock for SPI on Arduino Due

I have an Arduino Due with a SAM3X8E chip and am trying to read SPI data from an external source that is communicating in SPI. I was able to get data by identifying specific bytes that are identifiers ...
3
votes
4answers
9k views

Use timer0 without affecting millis() and micros()

I'm writing a library which needs an ISR to turn off an LED some time after it was turned on. Since it's all about turning an LED on and off it doesn't need to be very precise. On the other hand I ...
3
votes
3answers
810 views

Ensuring specific frequency at specific time?

I, at the moment am trying to come up with a simple way where I can program an Arduino to provide a step signal with a given frequency, at a specific time. The frequency has to be ramped up, and ...
3
votes
3answers
1k views

Control time without delay() Arduino

For the last couple of day I've been trying and failed many times just to not use the delay() funtion in Arduino. I have to admitted that my coding skill are extremely bad. What i trying to do is: If ...
3
votes
0answers
101 views

Help with millis to get accurate timing

I'm essentially trying to create a music box which is light activated using an LDR. When it's open a song plays, while a servo rotates a figurine back and forth, and an LED dims and illuminates in ...
2
votes
2answers
4k views

How to update multiple outputs simultaneously

I need to update simultaneously all the outputs of a specific port. I am familiar with using micro-processors assembly language. After initializing a port (Data Direction Register), I can write to ...
2
votes
2answers
117 views

How to make 2 LEDs flash in a 5/4 Polyrhythm?

Basically I want one LED to flash 5 times in the same amount of time it takes another LED to flash 4 times. This is what I have, but they are flashing independently and I need them to flash ...
2
votes
1answer
1k views

Should millis() be stored in a variable once each loop, or called for every reference?

When comparing the value of millis() numerous times per loop(), are there reasons for/against storing it in a variable once at the top of loop(), v.s. calling millis() each time? The most basic ...
2
votes
2answers
2k views

How to wait outside the loop without delay()?

Is it possible to delay a task inside a function that is called only once (meaning, it's not inside the loop) without using delay()? This library I'm using, for reading sensor measurements via ...
2
votes
1answer
61 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 ...
2
votes
1answer
55 views

Obtaining angular velocity from quaternion data (BNO055)

I'm able to get quaternion data from the BNO055 sensor, and would like to convert these to angular velocity for my project. I know you can pull the gyroscope directly for the data, but from what I ...
2
votes
1answer
60 views

Relays just switch ON and OFF on delay(), not on millis()

I use fuzzy logic for the running time of relays, but the relays just switch ON and OFF at the interval of the delay() I put at the end of loop. This is my code: void loop () { ph = -180/100.0; ...
2
votes
2answers
205 views

Replicate a Waveform Exactly with An Arduino Uno

So I've got a waveform that's high for 16ms and low for 2ms repeating forever. I need to recreate that and offsets of that waveform time exactly on a different pin. Right now, I've got an interrupt on ...
2
votes
2answers
85 views

Switched from 3ft to 10ft connection wires. My setup doesnt run correctly now. Timing issues?

Running a DC motor(6.5A max input), motor driver (MD10C 7Amp peak output), and Arduino Mega. I am stabilizing an object with an accelerometer as my sensor. I switched to longer wires so I can have my ...
2
votes
0answers
76 views

Multi-drop RS485 device control v1.0 - why is limit for "TIME_BETWEEN_MESSAGES "?

I am going to use Nick's rolling-master system library (http://www.gammon.com.au/forum/?id=11428) in my home project. For first experiments and testing, I have: - BAUD_RATE = 9600 - max adress = 2 (...
1
vote
1answer
1k views

How to randomize the delay in Arduino Stepper code?

How does one add a random DELAY between 10 and 20 seconds? For example in the following stepper logic I have a delay of 11 seconds - expressed in milliseconds as: delay(11000). What would I need to ...
1
vote
3answers
100 views

Arduino not recognizing when a timer reaches 0

Alright, so I'm attempting to make a timer that will turn on a light after an hour. Currently I have it set to 5 seconds for testing. What is happening is whenever I start the program it won't ...
1
vote
2answers
81 views

How can I execute two functions at the same time?

#include <Servo.h> Servo myservo; int pos = 0; int servo_pin = 3; int led_pin = 4; void setup() { myservo.attach(servo_pin); Serial.begin(9600); pinMode(led_pin,OUTPUT); } void ...
1
vote
1answer
204 views

Can I get some help with a metronome code on my arduino uno?

ok so I dont actually know anything about coding or electronics outside of being an electrician. This is something i've been working on for about a month. I may be asking something dumb but here it is....
1
vote
1answer
885 views

Force compiler to execute instructions sequentially?

Is there a way to force the Arduino compiler to compile individual commands sequentially? Looking at the disassembly, lines of the assembly code for different C/Arduino commands are mixed. I was ...
1
vote
4answers
940 views

How can I run two Arduinos in sync for video generation?

I was thinking about building a video circuit that uses two Arduinos (maybe more) to generate video using NTSC and the AD725. Although, VGA might be nice if possible. Anyway, the idea is to use one ...
1
vote
1answer
35 views

Sequencing air pistons proble - Help please?

I am a beginner trying to activate 2 sets of 3 air pistons sequentially by going through the YouTube Tutorials... Help, please, pretty please?? :-) There are 3 sets of 2 pistons, each set working in ...
1
vote
3answers
4k views

Arduino Blink two LEDs without Delay(amount of repetitions)

Arduino community. I have had experience with Arduino for 3 years now and have finally come to the conclusion to get rid of the delay function entirely. Below is the code to blink two LEDs a ...
1
vote
1answer
71 views

Carry out two consecutive tasks when a button is pressed

I'm building a project that has 2 motors. What I want to do is: When button is pressed (hold down through RF controller) then: Run motor A on pwm at 50 for 1 second Run motor B on pwm at 255 for 1 ...
1
vote
1answer
2k views

analogRead() takes >400 us on Arduino Zero but ~100 us on Uno, why?

I've been trying to figure out why the analogRead() function takes about four times as long on an Arduino Zero than on an Uno, when the Zero has a faster clock than the Uno. Arduinos website says ...
1
vote
4answers
527 views

Altering code to run a timer while checking for a data input

I am rather new to the Arduino world and am looking for a way to create my own tipping rain gauge with only one Arduino(micro). I have had some help from a friend to get a loop that checks for when a ...
1
vote
2answers
1k views

Arduino time(milli) and pressure sensor

I've succeeded to get an Arduino to work with a pressure sensor. What I want to do is when I put pressure on the sensor, after 5 minutes the led lights on. it starts over again if there's no ...
1
vote
1answer
34 views

How do I set a variable so that after a condition is met the loop ignores input?

I have a analog inputs to my Uno that I am cleaning up and using to keep a digital pin high until the output drops to zero. At this point I want to stop reading that input because it may come back up ...
1
vote
1answer
536 views

Atmega328P Prescaler to Microseconds

For a bitbanging project I'm working on, I need to measure microseconds as accurately as possible. The function micros() won't work for me here because of the unpredictable times at which it might ...
0
votes
2answers
577 views

Delay function broken?

I noticed timing inconsistencies in my project, and further debugging pinpointed it to the problem below. The text should be updating every second, but the returned values are >> 1000ms. To clarify, ...
0
votes
3answers
2k views

Turning on led every half hour

How can I make my program so that every half hour LED lights on and work for 5 minutes and than go off and the process should repeat I made code but it does not works. Can someone help me? void ...
0
votes
1answer
72 views

How fast does the Arduino execute code?

I am using the Arduino Nano every. Take this example where I am measuring two things A and B. Loop{// this loop runs once every second //Read A,B //Change something using analogueWrite which ...
0
votes
2answers
60 views

Timing taking longer than expected

This is on a custom Arduino PCB (32u4) that I am programming with a Sparkfun Pocket AVR Programmer. A different program that I was writing wasn't working the way I expected it to, so I tried the "...
0
votes
4answers
123 views

When GPS can't see satellites, how can I continue to tick off a smooth-ish time?

I'm getting 10 updates/sec from my GPS unit (The MTK3339 used in the Adafruit breakout board), and using it to update a clock display. This works well enough, though there's one minor problem that I'd ...
0
votes
2answers
223 views

Buffering output stream

I'm looking to toggle a pin on and off in a fast and timing-sensitive manner, and I'm wondering if the Arduino Uno has any built in "buffers" that would be able to hold a set of values and send them ...
0
votes
2answers
788 views

How do I send an IR signal from an Arduino

I want to send a generic (not Sony, etc.) remote's signal from my Arduino. I have already used a IR decoder program to capture the timing of the signal: int IRsignal[] = { // ON, OFF (in 10's of ...
0
votes
1answer
352 views

Running a DC motor for a set amount of time

I am trying to run a DC motor for 100ms and then turn it off completely. Here is my code any suggestions on why it might not be working? My Code const int pirPin = 9; const int motorPin = 2; int ...
0
votes
1answer
32 views

ESP8266 CCLOCK Odd behavior

I'm trying to write some extremely fast code for the ESP8266, so I'm trying to figure out how to time things. I've discovered CCLOCK, a register that reflects the number of clock cycles since startup....
0
votes
1answer
242 views

Arduino timer to turn a serve at a certain time

i am working on a project for my school tech class. Our goal is to make a vehicle that will travel along a cable and drop an egg to a target while going down the cable. i am using an arduino to to ...
0
votes
1answer
903 views

Strange discrete errors when reading HC-SR04 sonar sensor

I'm experimenting with an HC-SR04 sonar sensor. Basically I'm measuring the distance to a cardboard box twice a second with these lines of code running on an ESP32: unsigned long sonarMeasure() { ...
0
votes
2answers
247 views

Hardware damage from executing tight polling loop over extended periods of time?

I want my project to be standing by at the ready for months and years at a time, so I started writing my code to throttle back from polling at delayMicroseconds to just delay. Like, after 15 minutes ...
0
votes
2answers
173 views

Sketch does not work without delay() or other complex functions like digitalWrite()

I have a simple sketch here that should just blink a led once a second or so (approximately): boolean onOff=true; int count=0; void setup() { pinMode(13, OUTPUT); } void loop() { count++; ...
0
votes
1answer
59 views

Why doesn't the time update?

I am making an arduino clock/alarm. I use an LCD screen to display the time. void loop(){ static unsigned long timing=micros(); if (mode == 0) {//mode 0 is when the time should show ...
0
votes
1answer
31 views

Verifying the timing between relay activations

I would like to verify timings of a relay controlled by an arduino (uno R3). There is a lot going on in the sketch and it does not use the delay function but one which is based on counting ...
0
votes
2answers
3k views

bi-directional nrf24 communication

The central arduino The 1st node The 2nd node I want the central to send to the first node the rgb code like a string on the loop "rgb: 255000255" but when it detects something to PIR to send a ...
0
votes
2answers
161 views

Problem using Ino build for 8 MHz

I want to use the Ino command line toolkit to build and upload my HEXes. It works well for the regular Arduino, however when I try to upload code to a Mini Pro 3.3V at 8 MHz, the code has the timing ...
0
votes
2answers
581 views

How to upgrade Arduino UnoR3 clock

A little background: I need to generate a 40KHz frequency as accurately as possible. (One of my other posts is here: Stable frequency generation) My code is solid- I'm using an Uno R3 and ...