Skip to content
Parallax Learn

Parallax Learn

  • Welcome
  • Tutorials
        • Tutorial Series head tag

          Tutorial Series
        • Tutorial Series

          The special, classroom-ready series pages are organized collections of tutorials for our most popular hardware and/or languages. The tutorials for each topic are conveniently accessible from a single page, shown in the order it is recommended that they be completed.
        • Robotics Series Head tag

          Robotics Series
        • Robotics Series

          • Artificial Intelligence
          • Cybersecurity: Radio Data tutorialCybersecurity
          • cyber:bot + Python
          • cyber:bot + MakeCode
          • Boe-Bot Tutorial SeriesBoe-Bot
          • Arduino Shield-Bot
          • ActivityBot with C TutorialsActivityBot + C
          • ActivityBot with BlocklyProp Tutorial SeriesActivityBot + BlocklyProp
          • Scribbler 3 Tutorial SeriesScribbler 3
        • Electronics & Programming Series Head tag

          Electronics & Programming Series
          • BS2 Board of Education Tutorial SeriesBS2 Board of Education
          • Propeller C-Language BasicsPropeller C Basics
          • FLiP Try-It Kit C Tutorial SeriesFLiP Try-It Kit + C
          • FLiP Try-It Kit BlocklyProp TutorialsFLiP Try-It Kit + BlocklyProp
          • Badge WX Tutorial SeriesBadge WX
          • Propeller BlocklyProp Basics and ProjectsPropeller BlocklyProp Basics
          • View All Tutorial Series »
        • Browse Tutorials
        • Browse Tutorials

          Individual tutorials sorted by robot or kit, and language.
        • By Robot or Kit
          • ActivityBot
          • SumoBot WX
          • Boe-Bot
          • Shield-Bot
          • cyber:bot
          • Badge WX
          • ELEV-8
          • ARLO
        • By Language
        • By Language

          • Propeller C
          • Arduino
          • BlocklyProp
          • PBASIC
          • Python
          • MakeCode
          • View All Tutorials »
  • Educators
  • Reference
  • Downloads
  • Home
  • All Courses
  • BlocklyProp Robotics with the ActivityBot 360°

BlocklyProp Robotics with the ActivityBot 360°

Build the Light Sensor Circuits

Phototransistors are a common type of analog light sensor – the kind that might help a porch light automatically turn on at night. Think of the phototransistor as a light-controlled current valve. When light strikes the base of the device (B), more current will conduct into its collector lead (C) and flow out of its emitter lead (E).

Now, it’s time to build and test two phototransistor circuits to give your ActivityBot phototransistor “eyes.” Leave the piezo speaker circuit in place.

 

Parts

  • (2) Phototransistor (#350-00029)
  • (2) 0.01 µF capacitor (labeled 103)
  • (2) 220 ohm resistor (red-red-brown)

 

Build the Light Sensor Circuits

Build the light sensor circuits shown below.

  • Make sure the phototransistor’s shorter leads and flat spots are connected to ground, as shown in the wiring diagram below.
  • Use the 0.01 µF capacitors, labeled “103.” The capacitors in your ActivityBot kit are not polar; it does not matter which way you plug them in.
  • Point the phototransistors upwards and outwards, about 90° from each other, and about 45° from vertical.

 

Test the Light Sensor Circuits

This test will display raw light sensor readings in the Terminal window. You will need a flashlight or lamp that is brighter than the overall light level in the room.

The phototransistor circuits are designed to work well indoors, with fluorescent or incandescent lighting.  Make sure to avoid direct sunlight and direct halogen lights; they flood the phototransistors with too much infrared light. 

  • In your robotics area, close window blinds to block direct sunlight, and point any halogen lamps upward so that the light reflects off the ceiling.
  • In BlocklyProp Solo, make a new project..

  • Build the project Test ActivityBot Light Sensors, above.
  • Put the Activity Board’s power switch in position 1.
  • Click the Run Once button.
  • Hold your hand over one phototransistor, and then the other, while watching the values change in the Terminal.

The values shown above were taken in a room with overhead fluorescent lighting. Notice how covering the left phototransistor causes the lightLeft measurement to be larger.

Mismatched Measurements 
It is unlikely that your two phototransistor measurements will match exactly. Each sensor will vary slightly as a natural part of the manufacturing process, and the brightness levels are rarely precisely even in any environment. However, if one gives a measurement about 100 times larger than the other when exposed to the same level of light, that phototransistor is probably plugged in backward. In this case, check your circuit and try again.

 

How it Works

Take a peek back at the circuit schematic, for P9. Think of the 0.01 µF capacitor in the circuit as a tiny battery, and the phototransistor as a light-controlled current valve. 

The first block in the repeat forever loop is make PIN 9 high. This block supplies current to the capacitor battery, which only takes a pause 1 (ms) to charge. Immediately after that, the block RC discharge PIN 9 changes I/O pin P9 from output-high to input.  As an input, P9 will switch from sensing a high signal to a low signal as the capacitor battery drains its current through the phototransistor valve.  The Propeller is measuring how long it takes for this logic transition to happen, and the RC block stores this discharge time in the lightLeft variable block.

The next three blocks in the repeat forever loop go through the same process with the P5 phototransistor circuit and storing another discharge time measurement in the lightRight variable.  

When bright light is shining on a phototransistor, its valve is wide open and current drains through it very quickly, so the measured discharge time is small. When the phototransistor is covered up, its valve opens only a little, and the current will drain more slowly, resulting in a higher discharge time value.  The remaining blocks in the loop display the discharge time of both variables in the Terminal. The Terminal screen capture above was taken when the left phototransistor was covered up, so the value of lightLeft is larger than the value of lightRight.

 


Did You Know?

QT is short for Charge Transfer: In this activity, each photoresistor is being used in a charge transfer or QT circuit.  This circuit lets the robot sense a much wider range of light levels than an analog-to-digital conversion circuit you might typically see with this sensor. This QT circuit is a simple option for using a variety of analog sensors with a digital I/O pin.

Visible and Invisible Light: Light travels in waves so small that the distance between adjacent peaks is measured in nanometers (nm), which are billionths of meters.  The figure below shows the wavelengths for colors of light we are familiar with, along with some the human eye cannot detect, such as ultraviolet and infrared.  The phototransistor in your ActivityBot kit detects visible light but is most sensitive to 850 nm wavelengths, which is in the infrared range.


Your Turn

Just for fun, let’s see if the phototransistor can detect different colors.

  • Zoom in on the color wavelength graph above.
  • Hold your robot up to the screen, placing one phototransistor very close to the color bar.
  • What color gives the highest reading? What colors give the lowest? 

From your observation, do you think a clear phototransistor alone, like this one, could be used as a color sensor? Why or why not?

 


Printer-friendly version
Navigate by Visible Light
Prev
Make the Light Measurements Useful
Next

DISCUSSION FORUMS | PARALLAX INC. STORE

About | Terms of Use | Feedback: learn@parallax.com | Copyright©Parallax Inc. 2024

© 2025 Parallax Learn • Built with GeneratePress