1 of 45

TAKE FLIGHT WITH DRONES

ROCK HILL RAVEN ASPIRE

BENJAMIN DUSEK

2/26/2025

2 of 45

Agenda

Explore

Engage

Explain

Elaborate

Evaluate

3 of 45

Activity Guide Link

https://bit.ly/cdddmag

4 of 45

ENGAGE

WARM-UP

5 of 45

Purpose

Students will program the CoDrone EDU to complete a simulated drone delivery mission by flying to a designated location and returning safely using block based and or Python Programming.

6 of 45

7 of 45

Discussion

  1. Where have you seen drones in real life?
  2. How do you think they are programmed?
  3. What challenges might a drone face when delivering a package?
  4. What is next for drones?

8 of 45

Mainstream Drone Technologies

    • Delivery Services
    • Agriculture
    • Search and Rescue
    • Environmental Monitoring
    • Surveying and Mapping
    • Inspection and Maintenance
    • Film and Photography
    • Military and Security
    • Weather Forecasting

9 of 45

Commercial Use of Drone Technology

Choose one statement you feel is particularly impactful

Describe the statement as:

  • A Connection
  • A Question
  • A Statement you would challenge
  • An “I Can see clearly now” moment

Explain your thinking

10 of 45

Your mission should you choose to accept

Today you are drone programmers! Your mission is to program a drone to fly from a launch point to a delivery zone, drop off a package, and return safely. Let’s learn how to control our drone before attempting the challenge.

3

2

1

11 of 45

EXPLORE

Guided and Mini Practice

12 of 45

DRONE INTRODUCTION

GUIDED PRACTICE

13 of 45

CO DRONE EDU

Propeller

Guard

Motor

Battery Portal

14 of 45

How Drones Fly

  • The Co-Drone EDU uses four motors to operate four propellors allowing the drone to fly.
  • Opposite motors spin opposite ways to keep the drones more stable.

15 of 45

Lift

  • Propellors are angled downward to generate lift by pushing air down as they spin
  • If motors spin faster, the propellor spins faster, more lift is created, and the drone goes up.
  • If the motors spin slower, the propellor spins slower, less lift is created, and the drone falls due to gravity.

16 of 45

SAFETY FIRST

  • Be sure to fly only in designated areas and when no humans are inside the designated area.
  • Only enter a flying area after it is the drone has landed and is no longer moving
  • Do not touch the drone while its propellors are spinning
  • Keep your drone flying below 8 feet
  • One person must always be ready to at all times

17 of 45

PAIR PROGRAMMING

  • Pair programming will be used for this activity
  • In pair-programming one person is in charge of manipulating the code and the other person is in charge of safety and giving guidance to the task at hand.
  • We call these roles “Driver” and “Navigator and we will switch roles often.
  • With your partner decides who is going to be heads and who’s going to be tails

18 of 45

Connect to CoDrone

Driver:

  • Open a chrome browser and type in the website address:

Navigator

  • Take out the Drone and make sure it has a battery but do not power it on yet

Insert and format picture to fit allotted box frame

19 of 45

Blockly for Robolink

20 of 45

Python for Robolink

21 of 45

Takeoff and Land

BLOCK BASED

PYTHON

22 of 45

Connecting to CoDrone

  • Click the connect button on the bottom of the screen

  • Connect your controller to your Chromebook

  • Power on the drone

23 of 45

Connect the controller to blockly

24 of 45

TAKE OFF TIME

  • Place your drone on the table
  • Add the button below to your code.

  • Select run code and observe your drone’s action

Insert and format picture to fit allotted box frame

25 of 45

Move Forward, Backward, Left, Right

BLOCK BASED

PYTHON

26 of 45

Adjust Altitude (Up/Down)

BLOCK BASED

PYTHON

27 of 45

Rotate Yaw (Turn left/right)

BLOCK BASED

PYTHON

28 of 45

Hover (pause mid-air)

BLOCK BASED

PYTHON

29 of 45

MINI PRACTICE

Challenge # 1

Write a Short Program That:

Takes off > Moves Forward> Hovers> Lands

30 of 45

EXPLAIN

DISCUSSION

31 of 45

How do drones follow precise instructions based on code

  • Code is a set of instructions
  • Programming Languages
  • Commands or Instructions
  • CPU
  • Input Output
  • Control Flow
  • Error Handling
  • Interaction
  • Automation

32 of 45

PSEUDOCODE

  • Pseudocode is written in a style or format that’s similar to the programming language a programmer is going to use.
  • Pseudocode has no rules for writing, but is meant to be read by humans not a computer.
  • Most programmers will write 1 line of pseudo code to match a line of real code in their program.
  • The Pseudocode does not have to be perfect, it is giving the idea of what the program may look like.

BEGIN

SET current_date = GET_CURRENT_DATE()

SET birthday = "2025-02-13" // Replace this with the actual birthday date

IF current_date == birthday THEN PRINT "Happy Birthday!"

ELSE

PRINT "Today is not your birthday."

END IF

END

33 of 45

FLOWCHART

Name

Symbol

Meaning in Flowchart

Oval

 

The beginning or the end of the program.

Parallelogram

 

An input operation.

Rectangle

 

A process to be carried out (Addition, subtraction, division, etc.)

Diamond

 

A decision (or branch) to be made: the program should continue along one of the two routes.

Hybrid

 

An output operation.

Flow Line

 

The direction of flow in the program.

34 of 45

FLOWCHART

Look up today’s date

Is today’s month and day the same as your friends birthday

Say “Don’t Forget to wish your friend a happy birthday today!”

Say, “No reminders today.”

35 of 45

TODAY IS YOUR BIRTHDAY PYTHON

36 of 45

WHAT ARE SOME REAL-WORLD DRONE PROGRAMMING CHALLENGES

WHAT CAN WE DO?

WIND

BATTERY LIFE

LEGAL

OBSTACLES

CAN WE USE CODE?

37 of 45

Mission # 1 Requirements

PLANNING

  • Pseudocode > Flowchart > Code (Python or Blockly)
  • Consider the mission requirements

FLIGHT

  1. Take Off
  2. Fly to a delivery zone
  3. Hover for 3 seconds
  4. Return and land safely

38 of 45

ELABORATE

STUDENT CHALLENGE

39 of 45

Challenge Directions

  • Students work in pairs or small groups to write their drones delivery program
  • You should build your program through incremental testing:
    • First program takeoff & forward motion
    • Next add hover & Return Flight
    • Finally refine accuracy (adjust distances, altitude, speed)
  • Be sure to fly only in designated areas and when no humans are inside the designated area.
  • Only enter a flying area after it is the drone has landed and is no longer moving
  • Do not touch the drone while its propellors are spinning
  • Keep your drone flying below 8 feet
  • One person must always be ready to at all times

40 of 45

Advanced Challenges or Add Ons

  • Add a mid air turn before returning
  • Program an emergency stop if the drone goes off course
  • Use sensors to detect obstacles
  • Loops and Functions: Fly in a Square or ZigZag Pattern
  • Sensor Integration: Detect Obstacles & Adjust Course
  • Multiple Checkpoints: Deliver to more than one location
  • Be sure to fly only in designated areas and when no humans are inside the designated area.
  • Only enter a flying area after it is the drone has landed and is no longer moving
  • Do not touch the drone while its propellors are spinning
  • Keep your drone flying below 8 feet
  • One person must always be ready to at all times

41 of 45

EVALUATE

TESTING AND REFLECTION

42 of 45

Flight Showcase

  • Each group presents their drone’s flight path
    • Discuss:
      • What Worked Well?
      • What Challenges Did you Face?
      • How Could you Improve your Program?
  • Be sure to fly only in designated areas and when no humans are inside the designated area.
  • Only enter a flying area after it is the drone has landed and is no longer moving
  • Do not touch the drone while its propellors are spinning
  • Keep your drone flying below 8 feet
  • One person must always be ready to at all times

43 of 45

FINAL DISCUSSION

  • How can drone programming be impactful in my life/career?
  • What did you learn about precision in coding?

44 of 45

Wrap-Up and Survey

  • This is not the end
  • FAA 107
  • What Problem Do You Want to Solve Using Computing?
  • Feedback Survey

#ROCKHILLISCS

45 of 45