Posted on

Getting Started With Your New Kit

Did your MakeCrate just arrive in the mail?  Looking for all the resources you’ll need to build your circuit and write code to get it running?  Check out our project introduction pages for a list of the resources you’ll need for each project.

MakeCrate subscribers should login to have full access to all content.

Looking for a non-subscription kit?  Login with the email you used to purchase the kit, and find your resources at the following links.

Posted on

Why Kids Should Learn to Code

Most Americans love their laptops, tablets, and smart phones, but according to a recent study by the  Organisation for Economic Co-operation and Development (OECD)  few Americans know much about how their favorite technologies work. When it comes to using technological know-how, Americans are miles behind citizens of almost every other developed country. The problem is that most children in the U.S. lack the opportunity to learn computer skills beyond basic typing. In today’s high-tech world, knowing how to use a word processor and a spreadsheet simply isn’t enough. All children—not just future technology kingpins—need to learn at least the basics of computer coding. It’s an important component of basic computer literacy, and it can help kids develop brainpower in surprising ways.

Coding and Computer Literacy

Just a few years ago, many people considered basic car maintenance skills to be essential. Parents routinely taught their kids how to fix a flat and change the oil because having enough knowledge and skill to keep a car running was important for daily life.

Today, computers are even more a part of daily life than cars. Not only have they become invaluable tools in almost every profession, they also power household goods from toasters to coffee pots and can be found in almost every pants pocket. Sending a child into adulthood without teaching them the fundamentals of coding is a bit like letting them loose on the road without knowing how to change a fuse or use a turn signal. But despite the ubiquity of computers, few parents have the technical know-how to teach their kids the computational equivalent of basic car maintenance.

Even for kids with little or no interest in computers, a simple introduction to programming should be considered a basic life skill. It isn’t necessary for every child to become an expert coder, but a working familiarity with how computers “think” is becoming as important as arithmetic.

Analytic Reasoning

A lot of children grow up hating math class, and it’s not hard to understand why. Almost every other subject in school involves either telling stories (think literature and history) or interacting with physical objects (like science classes). But math is taught almost exclusively through abstraction. The move towards abstract mathematics starts early—young children are scolded for counting on their fingers during arithmetic lessons. In algebra, students start by learning rules like the distributive property and are asked to apply their analytical skills to real world problems only rarely.

For most kids, this kind of pure, abstract thinking is dull to the point of tears. In fact, the standard high school algebra II course is one of the leading drivers of dropout rates. These types of classes propagate every math teacher’s least favorite question: “When are we ever going to use this?”

Kids who learn coding can give all sorts of answers to that question. When will you use need to calculate the length of a triangle’s side? When you’re trying to teach a robot to navigate an obstacle course, obviously. Why would anyone need to know the equations for Newtonian motion? Well, it’s hard to program a realistic bouncing ball into your computer game if you don’t know how to calculate acceleration.

Coding gives kids a chance to use and develop analytical skills in a much more concrete setting. Writing even simple scripts can sometimes involve hefty mathematical concepts, but those concepts become much easier to grasp when they’re tied to a specific objective. Coding presents students with puzzles that require them to think about math from a different perspective, and for many it’s a gateway into a new appreciation for the subject.

Creative Problem Solving

Computer programmers often create virtual environments in which they can see how their code performs. These environments, called “sandboxes,” let engineers play with their programs and make incremental adjustments. The childlike metaphor of the sandbox is no accident. Virtual sandboxes are intended to encourage creativity and low-risk experimentation just like real sandboxes on playgrounds.

This experimental spirit makes coding a great way for kids to express themselves creatively. In the age of standardized testing, children often come to think of learning as route memorization. They can become so conditioned by lessons designed to give them the right answer on a multiple choice test that they lose their natural inquisitiveness and experimental spirit. Coding provides kids like this an opportunity to build mental muscles that many school curricula have left to atrophy.

The beauty of coding is that any given problem can have a near-infinite number of plausible solutions. Students in robotics classes, for instance, come up with dozens of different ways for their robots to detect and navigate around obstacles. Some look to visual censors. Others look for tactile feedback. Some might try to map the entire environment in advance, and others would opt to guess and check. In coding classes, students have the freedom to experiment. They can test their theories and hunches with the benefit of instant feedback. They can tweak their solutions to make them faster or smarter. And they can compare notes with their classmates to discovered alternative solutions that they might never have considered on their own.

Unlike so many other elements of a modern education, coding teaches children that definitive “best” answers are rare. True mastery requires developing cognitive flexibility and an eagerness to explore. Those traits will serve young scholars well no matter what they plan to do in their adult lives.

Professional Skills

The job market is changing, but the education system hasn’t been keeping up. Robots are replacing factory workers, self-driving cars could displace millions of workers, and artificial intelligence software is even absorbing some of the work that doctors and lawyers do every day. For many young students and their parents, the future job market looks cloudy and ominous.

But for kids who with STEM (science, technology, engineering and math) skills, the job market forecast is sunshine and clear skies. Coding gives kids an inside track connecting to booming economic sectors. Job fields that require coding skills are growing at incredible rates. The Bureau of Labor Statistics estimates that the number of software development jobs increases by 17 percent every year, and web development jobs are growing even faster. Both offer median annual salaries well over $60,000 per year. In a rapidly changing economy, coding might be the one skill that’s always in demand. Even a basic STEM education could lead to hundreds of thousands of dollars in gained salary over a lifetime.

Some kids love computers, and others prefer playing outside. Some love math while others prefer reading stories. But regardless of their long-term aspirations, every kid needs at least a taste of computer coding. Even future poets and ballerinas will benefit from computer literacy, and every child deserves the chance to flex his or her creative muscles.

Sources

https://www.washingtonpost.com/local/education/us-adults-lag-most-countries-in-literacy-math-and-computer-skills/2013/10/07/c4654f54-2f91-11e3-8906-3daa2bcde110_story.html?utm_term=.7a8e8a2c69d7

https://www.kent.ac.uk/careers/sk/problem-solving-skills.htm

https://www.bls.gov/ooh/computer-and-information-technology/web-developers.htm

https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm

http://www.slate.com/articles/life/education/2016/03/algebra_ii_has_to_go.html

https://www.theguardian.com/news/2015/dec/03/should-kids-learn-code

Posted on

Introducing MakeCrate’s Partnership with AE Machines

MakeCrate is proud and pleased to announce a new partnership with AE Machines.

This partnership allows MakeCrate and AE Machines to introduce a broader audience to electronics and coding. The AE Machines user interface makes coding Arduino circuits easy and intuitive.  Users can drag and drop components and pair them with triggers and actions to get your  MakeCrate projects without writing a single line of code.  Changes are simple to make, so users can make changes to the program and quickly see how those changes affect their circuit.

AE Machines is a start-up founded by a husband-and-wife team of engineers building tools to make robotic automation accessible to broader groups of people. Their top-down approach to software design utilizes software blocks to design system functionality. The tool at www.aemachines.io is an initial demonstration of this human-centered approach to automation design funded by the National Science Foundation (NSF).  AE Machines is located in the EnterpriseWorks Incubator in the University of Illinois Research Park in Champaign, IL.

To get started using AE Machines with your MakeCrate starter, nightlight, and soil moisture sensor kits, watch this tutorial, and create an account at https://www.aemachines.io/MakeCrate.html.

Posted on

Drag and Drop Coding with AE Machines: Getting Started

Now you can code your MakeCrate projects using the drag and drop interface from AE Machines.  The interface is easy and fun to use, and allows you to make changes to your projects and quickly see the results.

Watch this tutorial to see how to get started using the interface.

 

Need to install the pt.h file to make things work?  Get the file here (pt) and follow these steps to install in the web editor:

  1. Open the web editor and click the “Libraries” link on the left hand side/
  2. Click the “import”  icon to the right of the “Library Manager” link.
  3. Find and select the pt.zip file you just downloaded from the link above.
  4. Wait while the file imports!  You should now be able to include the pt.h file.
Posted on

What is a microcontroller?

All of our MakeCrate electronics subscription kits use an Arduino microcontroller as well as a variety of digital and analog sensors and displays to create nightlights, calculators, room alarms, and more. Because the microcontroller is a fundamental part of every project, let’s take a  look at exactly what a microcontroller is and where they are used.

What is a microcontroller?

A microcontroller is a small, single-chip computer used to connect to and control another device.  A typical microcontroller consists of some or all of these parts:

  • Central processing unit (CPU): The CPU is the brains of the microcontroller.  Its job is to find the instructions in memory  and decode them to make them usable by the microcontroller.
  • Memory:  the microcontroller instructions as well as variables and their changing values get stored in memory and accessed by the CPU when needed.
  • Ports:  Microcontrollers generally have both input and output ports where devices like sensors, LEDs, and displays can be attached.
  • Timers and Counters: Most microcontrollers have built in timers that provide clock functionality and can control the timing of internal and external events, like the length of time an LED blinks.
  • Interrupt Controls:  microcontrollers have systems called interrupt controllers in place that allow the CPU to check which devices might need attention while another program is executing. 
  • Analog to digital converters: a microcontroller’s analog to digital converter allows it to take analog data, like temperatures or light readings, and convert them to digital values that the CPU can handle. (See https://learn.sparkfun.com/tutorials/analog-vs-digital for an explanation of analog vs digital.)
  • Digital  to analog converters:  Similarly, digital info from the microcontroller may need conversion to run an analog device like a DC motor, so microcontrollers have converters to perform this function.

 

Where are microcontrollers used?

Microcontrollers are used in many electronics devices today including devices that measure, store, calculate, or display information.  Some places you are likely to come across a microcontroller on a daily basis are:

  • In your kitchen, running the timer in your microwave or controlling the temperature in your oven or refrigerator.
  • In your living room, controlling your tv.
  • On your phone, to control the touchscreen.
  • In your car.  Most modern cars contain at least 25 different microcontrollers!
Posted on

Circuit Basics: Electricity Flow

Transcript:

Let’s take a look at the steps required to build a circuit that allows electricity to flow correctly.

In each of the projects that we build at MakeCrate, we start by connecting a wire to the 5V connection on our Arduino to our breadboard, and then connecting the ground connection on the Arduino to the breadboard.

Once our additional components are in place, like an LED, we’ve got a complete circuit that allows electricity to flow from the Arduino to the breadboard, through the LED, connect to ground, and flow back to the Arduino.

So, the question is, why does electricity need to flow in a loop?

The flow of electricity behaves like the flow of water in a lot of ways. If a tank of water has a hose on it that as a cap on one end, then the water will not move. However, if the hose has an open end and loops back into the tank, the water can flow repeatedly, similar to an electric circuit.

You still might ask, though, why the electricity has to go from power to ground.

Think of the same tank, except this time, the hose loops back to below the original water line. Because the pressure on the water is the same at the hose beginning and end, the water can’t flow through the hose.  If, however, the hose is moved above the water line, then there is water pressure at the beginning of the hose, but not the end, and the water can flow through the hose.

In a circuit, there is a voltage difference between power and ground that is similar to this difference in pressure at the beginning and end of the hose. This voltage difference between power and ground allows for electricity to flow freely through a circuit.