Summary

This workshop will introduce participants to the Raspberry Pi and Arduino, inexpensive controller platforms that can do amazing things. You will learn how to hook-up, turn on, and use the Raspberry Pi to take pictures and detect real-world signals such as motion, temperature, and pressure. The Arduino microcontroller has a nearly limitless array of innovative applications for everything from robotics and lighting to games and gardening! You will also participate in discussions as to how these devices can be used for outreach to drive interest in your programs.

To view classes materials please Click Here

Learning Outcomes

Raspberry Pi
● Familiarize students with the Raspberry Pi (RPi) features and uses
● Learn how to setup and use a RPi
● Understand the strength and weaknesses of the RPi
● Learn the differences between a RPi and a typical microcontroller like the Arduino
● List various types of RPi models, and where they can be used
● Demonstrate the RPi GUI interface and the default applications that comes pre-installed
● Demonstrate cool and more advanced applications that can be run on a RPi
● Familiarize students with the Raspbian Operating System, and basic Linux commands
● Familiarize students with basic programming concepts using Python on the RPi
● Demonstrate how to run your first Python program
● Demonstrate the use of variables, arrays, conditional structures, iterative structures, and functions
● Demonstrate projects created with the RPi
● Familiarize students with the various shields (hats) available for the RPi
● Demonstrate how to interface the RPi to a variety of sensors: distance, light, temperature, pressure, touch, sound, etc.
● Demonstrate how to interface the RPi to a variety of output devices: LEDs, speakers, motors, servos, displays, cameras, etc.
● Learn how to use the RPi as the hub for project-based courses
● Brainstorm the possibilities for use RPis in the classroom, and outreach activities to introduce students to STEM areas

Arduino
● Compare/Contrast the the Arduino and the Raspberry Pi platforms
● Demonstrate the strength and weaknesses of the Arduino and the Raspberry Pi platform for particular applications
● Understand the Arduino programming model
● Demonstrate the C programming model and how it differs from the Arduino model
● List various types of Arduino controllers and situations where they can be used
● Demonstrate familiarity with the Arduino IDE
● Learn how to use the Arduino as the hub for project-based courses
● Demonstrate how to interface the Arduino to a wide variety of sensors to sense touch, pressure, sound, light, tilt, distance and other quantities
● Demonstrate how to interface the Arduino to variety of output devices including LED’s, speakers, motors, servos, displays and others
● Demonstrate how to setup and run your first Arduino program
● Familiarize students with the Arduino Integrated Development Environment (IDE)
● Demonstrate best practices for teaching C and general programming concepts using the Arduino
● Demonstrate projects created with the Arduino
● Demonstrate various parts of a program including variables, flow control structures and functions
● Demonstrate the use of conditional structures, iterative structures, and conditional structures.
● Demonstrate when and how to use arrays in a program solution
● Demonstrate how to create and use functions in a C program
● Familiarize students with the various shields (interface cards) available for the Arduino
● Demonstrate types of projects possible using the Arduino controller
● Brainstorm the possibilities for use in the classroom and commercial projects

What Should I Know

Raspberry Pi
A working knowledge of basic computer concepts

Arduino
A working knowledge of basic computer concepts

Instructor

Raspberry Pi
Giuseppe (Tony) Sena
Giuseppe (Tony) Sena is an Assistant Professor at MassBay Community College (Wellesley, MA) in the areas of computer networks, IT, Linux OS, databases, and fundamentals of computer science. He has taught courses at other institutions in the areas of algorithms & data structures, operating systems, computer organization, and others. He has been involved in curriculum development for computer networks and IT courses, and he is the advisor of the Computer Club where students work on multidisciplinary projects using Raspberry Pi and Arduino technologies. For the past few years, Mr. Sena has been developing curriculum and teaching workshops for the MassBay Summer Bridge Program to introduce high school students to Python programming on a Raspberry Pi, and developing Android Mobile Apps with MIT’s App Inventor. He has been using Raspberry Pi technologies in the classroom and on personal projects for more than 4 years, and has conducted several workshops, and presentations on this platform. He worked on the design, implementation, and curriculum development for a networking and security lab using a Raspberry Pi network (routers, switches, clients, servers, etc.). Prof. Sena is working on several multidisciplinary projects involving students and faculty from the Computer Science, Biotechnology, and Engineering departments at MassBay. His research focuses on the areas of parallel & distributed systems, network security, Big Data, cloud computing, encryption/decryption, security, and signal & image processing. He is developing distributed applications using message-passing technologies on a small Beowulf cluster, and a Raspberry Pi Cluster. He is also an Associated External Collaborator at the Center for Computer Machine/Human Intelligence Networking and Distributed Systems (CMINDS) at the University of Massachusetts.

Mr. Sena received a M.S. degree in Computer Science from Northeastern University (parallel computing & distributed systems), and a M.S. degree in Earth Science (applied computer science) from the Massachusetts Institute of Technology (MIT). He obtained a B.S. (summa cum laude) in Computer Science from the Central University of Venezuela. He is a Co-PI on two NSF ITEST & ATE grants to provide an integrated approach for creating STEM career pathways for high school & community college students, and pathways to middle-skill positions through the introduction to coding, robotics, electronics, and technology. Previously, Mr. Sena worked as a consultant in the area of networking, Internet and Web technologies, and LDAP (Directory Services). He has also worked in industry as a Software Developer, Network Engineer & Consultant, and Network & System Administrator.

Arduino
Dorian McIntire
Dorian McIntire is an Electrical Engineer, Program Director and instructor for the General Engineering Technology (GET) program at Tri-County Technical College in Pendleton, South Carolina. He has used the Arduino in the classroom, personally and in consulting projects for over 5 years and has conducted numerous workshops, summer camps and presentations on this wonderful controller platform. The Arduino is used extensively in several of the project-based courses he teaches and he finds it to be the ideal platform for control, automation and process control projects. He has created several YouTube videos on how to use the Arduino and is currently working on a small book about the Arduino.