Category: Courses

  • Scratch for Robotic Car – Grades 2-4

    Scratch for Robotic Car: A 16-Week Self-Study Course

    \\Course Description:\\ \Welcome to “Scratch for Robotic Car,” an exciting 16-week self-study course designed to introduce you to the fundamentals of robotics and programming using the intuitive Scratch visual programming language. This course is perfect for motivated beginners and intermediate learners who want to bring their ideas to life by coding a robotic car. You will learn to control motors, read sensors, navigate obstacles, and even program your car to perform autonomous tasks. Through engaging lessons, clear explanations, and hands-on projects, you will build a strong foundation in computational thinking, problem-solving, and the fascinating world of robotics. Get ready to transform lines of code into real-world actions\!\

    \\Primary Learning Objectives:\\ \Upon successful completion of this course, you will be able to:\ \ \Understand the basic components of a robotic car and their functions.\ \Utilize the Scratch visual programming language to control robotic car movements and actions.\ \Implement conditional logic and loops to create dynamic robotic behaviors.\ \Integrate sensor data (e.g., ultrasonic, line follower) to enable autonomous navigation and obstacle avoidance.\ \Debug and troubleshoot Scratch programs for robotic car applications.\ \Design and execute a comprehensive final project that demonstrates integrated robotic car control and sensor-based decision-making.\ \

    \\Necessary Materials:\\ \ \Computer with internet access\ \Scratch 3.0 online editor or desktop application (free)\ \A compatible robotic car kit that supports Scratch programming (e.g., mBot, ELEGOO Smart Robot Car Kit V3.0+, OSOYOO Robot Car Kit for Arduino, or similar). Ensure your kit comes with clear instructions for connecting to Scratch.\ \Batteries for your robotic car kit\ \USB cable for connecting the robotic car to your computer (if applicable for initial setup/firmware updates)\ \Measuring tape or ruler (optional, for precise movement exercises)\ \Construction paper or tape for creating simple obstacle courses and lines (for line-following activities)\ \

    —–

    Course Content: 14 Weekly Lessons

    \\Week 1: Introduction to Robotics and Scratch\\ \ \\Title:\ My First Robotic Friend: Meeting Scratch and Your Robotic Car\ \\Learning Objectives:\
    \ \Identify the main components of a basic robotic car.\ \Understand the purpose of visual programming and the Scratch interface.\ \Connect your robotic car to Scratch and execute a simple movement command.\ \ \
    \\Key Vocabulary:\
    \ \\Robot:\ A machine capable of carrying out a complex series of actions automatically, especially one programmable by a computer.\ \\Robotic Car:\ A vehicle equipped with sensors, motors, and a control system, capable of autonomous or remote-controlled movement.\ \\Scratch:\ A free visual programming language and online community where you can create your own interactive stories, games, and animations.\ \\Sprite:\ In Scratch, the characters or objects that you program.\ \\Block Palette:\ The area in Scratch where you find all the different code blocks.\ \\Scripts Area:\ The area in Scratch where you drag and drop code blocks to create programs.\ \\Stage:\ The background or area where your Scratch project’s action takes place.\ \ \
    \\Lesson Content:\
    \Welcome to the exciting world of robotics\! In this course, we’ll be using a robotic car and a fun, easy-to-learn programming language called Scratch. Think of Scratch as building with digital LEGO blocks – each block is a command, and you snap them together to tell your robot what to do.\ \Your robotic car is essentially a small computer on wheels. It has parts that help it move (motors), parts that help it “see” or “feel” its surroundings (sensors), and a brain (microcontroller) that processes your commands. We’ll start by getting familiar with these parts.\ \First, let’s look at the Scratch interface. On the left, you have the Block Palette, where all the colorful command blocks are organized by category (Motion, Looks, Events, etc.). In the middle is the Scripts Area, this is where you’ll drag and drop blocks to build your program. On the right, you have the Stage, which is usually where you see your Scratch project characters move, but for our robotic car, it represents our physical car.\ \The most important step is to connect your robotic car to Scratch. This process varies slightly depending on your specific robotic car kit (e.g., mBot uses a specific extension, others might use a generic serial connection). Refer to your robot kit’s instructions for the initial setup, which often involves installing a driver or a specific Scratch extension. Once connected, your Scratch program can send signals to your physical robotic car.\ \Our first program will be simple: making the car move forward. You’ll find “motor” or “move” blocks in the extensions section (often colored purple or light blue, depending on your robot’s Scratch extension). We will use an “Event” block (like “when green flag clicked”) to start our program, then add a “Motion” block to tell the car to move forward for a certain amount of time.\ \
    \\Hands-on Example:\
    \ \Assemble your robotic car according to your kit’s instructions.\ \Install any necessary software or Scratch extensions for your robotic car.\ \Open the Scratch 3.0 online editor or desktop application.\ \Add the extension for your robotic car (usually found by clicking the blue icon in the bottom-left corner).\ \Drag the “when green flag clicked” block from the “Events” category to the Scripts Area.\ \Find a block related to moving your robot car forward (e.g., “move forward at speed X for Y seconds”). Drag it and snap it under the “when green flag clicked” block.\ \Set the speed to a reasonable value (e.g., 50) and the time to 1 second.\ \Click the green flag in Scratch. Observe your robotic car move forward\!\ \Experiment with different speeds and times.\ \ \
    \

    \\Week 2: Basic Movement and Timing\\ \ \\Title:\ Forward, Backward, Turn\! Directing Your Robotic Car\ \\Learning Objectives:\
    \ \Program your robotic car to move forward, backward, turn left, and turn right.\ \Utilize “wait” blocks for precise timing in movements.\ \Combine multiple movement blocks to create a simple sequence.\ \ \
    \\Key Vocabulary:\
    \ \\Algorithm:\ A set of step-by-step instructions or rules designed to solve a problem or perform a task.\ \\Sequence:\ The order in which commands are executed in a program.\ \\Timing:\ Controlling the duration of actions in a program.\ \\Motor:\ An electrical machine that converts electrical energy into mechanical energy, causing movement.\ \ \
    \\Lesson Content:\
    \Last week, we made our robotic car move forward. This week, we’ll expand our car’s repertoire to include backward motion and turns. Robotic cars usually have two independent motors for their wheels, one on each side. By controlling the speed and direction of each motor, we can make the car move in various ways.\ \To move forward, both motors spin in the same direction at the same speed. To move backward, both motors spin in the opposite direction. To turn left, one motor might stop or spin backward while the other spins forward. To turn right, the opposite happens. Your Scratch extension for the robotic car will likely have specific blocks for these actions, abstracting away the individual motor control. Look for blocks like “move forward,” “move backward,” “turn left,” and “turn right,” often with parameters for speed and duration.\ \Timing is crucial in robotics. If you want your car to move exactly 10cm, you’ll need to know how long it takes to cover that distance at a certain speed. The “wait” block in Scratch (found under “Control”) is essential for pausing your program for a specified amount of time. This allows for precise movements and prevents actions from happening too quickly.\ \Let’s try creating a