Bird
Raised Fist0
Raspberry Piprogramming~10 mins

Time-lapse photography in Raspberry Pi - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import the library needed to control the Raspberry Pi camera.

Raspberry Pi
import [1]
Drag options to blanks, or click blank then click option'
Aos
Btime
Csys
Dpicamera
Attempts:
3 left
💡 Hint
Common Mistakes
Importing the wrong library like 'time' or 'os' instead of 'picamera'.
2fill in blank
medium

Complete the code to pause the program for 5 seconds between shots.

Raspberry Pi
time.[1](5)
Drag options to blanks, or click blank then click option'
Asleep
Bwait
Cpause
Ddelay
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'wait' or 'pause' which are not valid functions in the time module.
3fill in blank
hard

Fix the error in the code to capture an image with the camera.

Raspberry Pi
camera.capture('[1]')
Drag options to blanks, or click blank then click option'
Acamera.jpg
Bcapture()
Cimage.jpg
Dpic.jpg()
Attempts:
3 left
💡 Hint
Common Mistakes
Adding parentheses to the filename or using invalid filenames.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that stores image filenames with their capture order.

Raspberry Pi
images = {f'image[1].jpg': [2] for i in range(1, 6)}
Drag options to blanks, or click blank then click option'
Ai
Ci+1
Di*2
Attempts:
3 left
💡 Hint
Common Mistakes
Using expressions like 'i+1' or 'i*2' which do not match the numbering.
5fill in blank
hard

Fill all three blanks to create a loop that captures 3 images with a 2-second delay between each.

Raspberry Pi
for [1] in range(1, 4):
    camera.capture(f'image[2].jpg')
    time.[3](2)
Drag options to blanks, or click blank then click option'
Ai
Csleep
Dwait
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'wait' instead of 'sleep' or wrong variable names.

Practice

(1/5)
1. What is the main purpose of using time-lapse photography with a Raspberry Pi camera?
easy
A. To capture images at set intervals to show slow changes quickly
B. To take a single high-resolution photo
C. To record live video continuously
D. To stream video over the internet in real-time

Solution

  1. Step 1: Understand time-lapse photography concept

    Time-lapse photography captures photos at regular intervals to speed up slow processes.
  2. Step 2: Compare options with concept

    Only To capture images at set intervals to show slow changes quickly describes capturing images at intervals to show slow changes quickly.
  3. Final Answer:

    To capture images at set intervals to show slow changes quickly -> Option A
  4. Quick Check:

    Time-lapse = interval photos showing slow changes fast [OK]
Hint: Remember time-lapse means interval shots, not continuous video [OK]
Common Mistakes:
  • Confusing time-lapse with video recording
  • Thinking it captures only one photo
  • Assuming it streams live video
2. Which of the following Python code snippets correctly sets a 5-second delay between photos in a Raspberry Pi time-lapse script?
easy
A. sleep.time(5)
B. time.wait(5)
C. delay(5)
D. time.sleep(5)

Solution

  1. Step 1: Recall correct syntax for delay in Python

    The correct function to pause execution is time.sleep(seconds).
  2. Step 2: Check each option

    Only time.sleep(5) uses time.sleep(5), which is correct syntax for 5 seconds delay.
  3. Final Answer:

    time.sleep(5) -> Option D
  4. Quick Check:

    Delay = time.sleep(seconds) [OK]
Hint: Use time.sleep() to pause, not time.wait() or delay() [OK]
Common Mistakes:
  • Using time.wait() which does not exist
  • Swapping module and function names
  • Using undefined delay() function
3. What will be the output of this Raspberry Pi time-lapse code snippet?
from picamera import PiCamera
import time
camera = PiCamera()
camera.start_preview()
for i in range(3):
    camera.capture(f'image_{i}.jpg')
    time.sleep(2)
camera.stop_preview()
medium
A. No images saved because preview blocks capture
B. Only one image named image_2.jpg saved after 6 seconds
C. Three images named image_0.jpg, image_1.jpg, image_2.jpg saved with 2 seconds delay between each
D. SyntaxError due to incorrect f-string usage

Solution

  1. Step 1: Analyze the loop and capture calls

    The loop runs 3 times (i=0,1,2), capturing images named image_0.jpg, image_1.jpg, image_2.jpg.
  2. Step 2: Understand timing between captures

    After each capture, the program waits 2 seconds before next capture, so images are spaced by 2 seconds.
  3. Final Answer:

    Three images named image_0.jpg, image_1.jpg, image_2.jpg saved with 2 seconds delay between each -> Option C
  4. Quick Check:

    Loop 3 times + capture + sleep(2) = 3 spaced images [OK]
Hint: Loop count = number of images; sleep controls delay [OK]
Common Mistakes:
  • Thinking only last image is saved
  • Confusing preview with capture blocking
  • Assuming f-string causes error
4. Identify the error in this Raspberry Pi time-lapse code snippet:
from picamera import PiCamera
import time
camera = PiCamera()
for i in range(5):
    camera.capture('image_i.jpg')
    time.sleep(1)
medium
A. Missing camera.start_preview() before capture
B. The filename 'image_i.jpg' does not change, overwriting images
C. time.sleep() cannot be used inside a loop
D. PiCamera() must be imported after time module

Solution

  1. Step 1: Check filename usage inside loop

    The filename is a fixed string 'image_i.jpg', so each capture overwrites the previous image.
  2. Step 2: Verify other code parts

    start_preview() is optional; time.sleep() works in loops; import order does not matter here.
  3. Final Answer:

    The filename 'image_i.jpg' does not change, overwriting images -> Option B
  4. Quick Check:

    Filename must vary to save multiple images [OK]
Hint: Use f-strings or string formatting to vary filenames [OK]
Common Mistakes:
  • Thinking start_preview() is mandatory
  • Believing time.sleep() can't be in loops
  • Assuming import order causes error
5. You want to create a time-lapse video from 10 photos taken every 3 seconds using Raspberry Pi. Which approach correctly combines capturing images and creating the video?
hard
A. Capture images with time.sleep(3) in a loop, then use ffmpeg to combine images into a video
B. Capture images continuously without delay, then rename files manually before video creation
C. Use time.sleep(10) between captures and combine images with a photo viewer
D. Capture images with delay, then upload them directly to YouTube without video creation

Solution

  1. Step 1: Understand time-lapse capture timing

    Photos must be taken every 3 seconds, so time.sleep(3) in a loop is correct.
  2. Step 2: Combine images into video

    ffmpeg is a common tool to combine sequential images into a video file.
  3. Final Answer:

    Capture images with time.sleep(3) in a loop, then use ffmpeg to combine images into a video -> Option A
  4. Quick Check:

    Interval capture + ffmpeg video creation = correct workflow [OK]
Hint: Use delay in capture loop + ffmpeg for video [OK]
Common Mistakes:
  • Skipping delay causing fast captures
  • Using photo viewer instead of video tool
  • Uploading images without video creation
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard