Park in the Dark

The script halt_under_shadow  will make the cyber:bot go forward until the phototransistor detects a shadow that’s dark enough to make the voltage applied to D/A2 drop below 0.1 V, or a different threshold you choose.

  • Enter and save the script halt_under_shadow script, but don't flash it to your micro:bit yet.
  • Using the measurements you just took with the script phototransistor_voltage, update the threshold value 0.1 in if volts < 0.1 with a value consistent with shade in your ambient lighting.
#halt_under_shadow

from cyberbot import *

bot(18).servo_speed(75)
bot(19).servo_speed(-75)

while True:
    ad2 = pin2.read_analog()
    volts = ad2 * (3.3/1024)
    
    if volts < 0.1:               # Update voltage threshold value here           
        bot(18).servo_speed(None)
        bot(19).servo_speed(None)
  • Save the modified version of halt_under_shadow and flash it to your micro:bit module.
  • Place your cyber:bot on the floor in ambient light, pointing straight towards the cardboard box "garage" or other dark spot.
  • Move the power switch to position 2 so the cyber:bot will drive forward.  How close did it get to stopping directly in the box-garage?
  • If needed, try making adjustments to the threshold you set in the if volts <... statement to get the cyber:bot to stop directly the box-garage.