Arduino R4 Lessons & Labs
Introduction To "Fire Breathing Robots..."
This is a resources for Arduino R4 Board. It's Lessons, Labs, and Resources. 🛠️
Let's get started... Its going to be a fun, awesome ride...
- Unit: C++ & Arduino
- Arduino Hardware Resources
- This is a LEARNING Activity : Lesson / Lab
- Last Revised: Nov 26, 2024 - Authored: Nov 26, 2024
- Original Author: Jim Burnham - TopClown@STEAMClown.org
- Content License: Distributed as Open Source. See Rights & Usage
Sid Bar for Teachers: This Module or lesson is how I teach in my class. Many of the lessons might be specific to my class, but you could probably adjust them for your class. I'll try to make them a neutral as I can, so they can be used in any Mathematics, Physics, Computer Science, or any other Engineering / Technology class. Let me know how I can make that better. I'll try to keep this unit current and relevant. Please let me know if any resource links are broken or not accessible. Use this email link to let me know what is broken @ TopClown@STEAMClown.org
Overview and Introduction:
Author: Jim Burnham - TopClown@STEAMClown.org. License: Distributed as Open Source.
Sponsor Shout Out
I would like to thank <Your Company or Organization Here> for their generous support of my classroom and curriculum development. <Your Company or Organization Here> has <Your value proposition, call to action, & related content and message>
(If you would like to sponsor this, or other Modules or presentation, please contact TopClown@STEAMClown.org or check out my "How To Help Page"
Caution & Safety Considerations:
Primer: "Aaron, I can imagine no way in which this thing could be considered anywhere remotely close to safe. All I know is I spent six hours in there and I'm still alive... You still want to do it?"
As with any activity, please make sure you are using appropriate safety equipment. If you are coding, writing, reading, or working a lab, make sure you stand up and stretch every hour or so, Please consider any safety issues connecting to a Raspberry Pi, Arduino, computers and other electronic equipment.
Arduino Hardware
Arduino R4
The Arduino Uno R4 is the latest iteration of the popular Arduino Uno series, featuring significant improvements over its predecessor, the R3. It comes in two versions: R4 Minima and R4 WiFi. Both models are powered by the Renesas RA4M1 microcontroller, offering a 32-bit Arm Cortex-M4 processor running at 48 MHz, increased 256 KB of flash memory, and 32 KB of RAM, enhancing performance and memory capacity. The R4 WiFi version includes Wi-Fi® and Bluetooth® connectivity, a built-in LED matrix display, and a Qwiic connector for easy integration with sensors and modules. This version maintains backward compatibility with previous Uno shields and adds new capabilities like 12-bit analog-to-digital conversion (ADC), making it ideal for more advanced projects while retaining the beginner-friendly, open-source ethos of the Arduino platform.
Resources:
Arduino.cc Site - Arduino R4
Arduino R4 Data sheet on the Arduino.cc site
Setup Process:
Mechatronics Engineering Introduction - <topic>
This Lesson is coming soon - click here to be notified when it's available - Professional Development Newsletter
Mechatronics - <topic> - 📖 Lesson Tutorial
Mechatronics - <topic> - 📽️ Video / Podcast
Mechatronics - <topic> - 📰 Slide Presentation (Coming Soon)
Mechatronics - <topic> - LAB #1 - 🛠️ LAB Activity
Mechatronics - <topic> - LAB #2 - 🛠️ LAB Activity
Mechatronics - <topic> - LAB #3 - 🛠️ LAB Activity
R4 - Getting Connected To Network - Lab 1
This Lab is my first try, and it does not seem super consistent in connecting... It does, about 30% of the time... So I know it works, but just not consistently.
Lab Introduction, Description and Overview
From Arduino to Web-Controlled IoT Lamp: Learn Internet Connectivity with Arduino Uno R4 WIFI! - This Video Tutorial,
Lab Resources & Steps
Mechatronics - <topic> - 📖 Lesson Tutorial
Arduino R4 Lab/Tutorial to connect a Nio Pixel to the network - 📽️ Video / Tutorial
Arduino R4 Lab/Tutorial IoT Project - ⏯️ YouTube Video / Tutorial
Step 1 - Get the WiFi Library. This video references WifiS3.h, but When I search for it, I just find R4HttpClient.h. That is what I used, so maybe I still need to find the lib this creator used... maybe later.
Step 2 - Look at the resource on the R4HttpClinet.h Github site - GitHub WiFi Lib - piscodev/r4httpclient - I got the example code and make some modifications below:
INO File That Kinda Works, Most of the time - WiFi Connection Test - STEAM Clown GitHub. You need to update with your WiFi SSID and SSID Password. After you make that edit, Don't share this with folks.
Step 3 - I got the code to work about 30% of the time...
0.2.1
Please upgrade the firmware
0.4.1
Connecting to WiFi
Successfully connected to WiFi!
200
{"attachments":[{"fallback":"This is my step ladder. I never knew my real ladder.","footer":"<https://icanhazdadjoke.com/j/aaUKeahqWvc|permalink> - <https://icanhazdadjoke.com|icanhazdadjoke.com>","text":"This is my step ladder. I never knew my real ladder."}],"response_type":"in_channel","username":"icanhazdadjoke"}
Response code: 200
I do need to see about updating the ESP32 firmware... I think
Step 4 - Did better with this code, and started a Server too... find the IP address and then after starting the server, you should, in a browser, see a page with a "reset page" link and 2 buttons. the buttons send a "get request with the /H or /L. See the video about time 5:24
See the latest Github code for running the server and sending a web page with buttons
At some point create and run a python script to send the get request "GET /H HTTP/1.1" or "GET /L HTTP/1.1"
Mechatronics Engineering Introduction - <topic>
This Lesson is coming soon - click here to be notified when it's available - Professional Development Newsletter
Mechatronics - <topic> - 📖 Lesson Tutorial
Mechatronics - <topic> - 📽️ Video / Podcast
Mechatronics - <topic> - 📰 Slide Presentation (Coming Soon)
Mechatronics - <topic> - LAB #1 - 🛠️ LAB Activity
Mechatronics - <topic> - LAB #2 - 🛠️ LAB Activity
Mechatronics - <topic> - LAB #3 - 🛠️ LAB Activity
Reference, Attribution & Resources:
License - "Be A Hero"... Distribute Your Content As Open Source... That Is What I'm Doing...
If you do use my material, and make changes, I would appreciate getting a copy... because if you are making changes, it means that you think there is a better way to teach this… and I would really appreciate understanding that. Please send me feedback on my Questions or Feedback form. Please don’t hesitate to ask questions or comment.
You also should keep and include my STEAM Clown Logo and Copyright in any derivative works you create. I would appreciate if you would include one of these images found on my Steam Clown License page and link it to www.steamclown.org
Teachers - Unit, Module and Lesson Plans
If you are a teacher and want to connect and teach this Lesson or Module, discuss how I teach it, give me feedback, please contact me at TopClown@STEAMClown.org
To access this Lesson Plan and the Teacher collaboration area, you will have needed to connect with me so I can Share the content with you. Please go to the Teachers & Partner Page, check out my Licensing and fill out my Collaboration and Curriculum Request Form. I'll review and then grant you access to the requested areas and lesson plans if they exist.
If you have questions or feedback on how I can make a presentation, lesson, lab better please give use my Feedback Form.
Standards Alignments & Objectives:
I’ll work on getting these in, but it’s the last thing I want to work on :-) When I have them updated, I’ll move to the top of the Lesson Plan.
NGSS: <list standard numbers>
California CTE Standards: <list standard numbers>
Related Instructional Objectives (SWBAT): <list standard numbers>
CCSS: nnn, RSIT: nnn, RLST: nnn, WS: nnn, WHSST: nnn, A-CED: nnn, ETS: nnn <list standard numbers>
Main Standard:
Priority standards:
National Standards:
Resource Attribution:
Sites Referenced or Summarized:
Sites Referenced or Summarized:
Reference Text Book - Basic College Mathematics with Early Integers 4th edition - Elayn Martin-Gay - University of New Orleans - Pearson
Reference Sites -
Images:
https://imgbin.com/png/ZJtzkYZZ/under-construction-png
Random Stuff To Sort
Resource Key:
<Unit> - <Module Name> - Lessons - Daily/Weekly Lesson Plan
Key: 📰 Slides / Audio 🎧 / 📽️▶️ Video/YouTube / 🎧▶️📽️ Audio/Video / ✨ Resources / 🖼️ Tutorial / 📖 Reading Activity / 📝 Writing Activity / 📖 📝 Reading/Writing / 📟 Coding / 🛠️ LAB Activity / 🚀 Quiz / 🔎 Review / ✔️ Mastery Check / ✍️ Sign Up /🍕 Extra Credit / 🕸️ Web Links / 👩🏽🎓🧑🏽🎓🧑🏿🎓👩🏫 Class / 🏵️📜📃 Certificate / 🗂️ 📈 Collecting Survey Data
/🧟 Review / 🦾 Practice / 🆙Level Up /
🎚️🦑📤🎯 🚧
- 🦑 Special Project -
Assignment Type: ⚓ Establishing (Minimum Standard) / ⛏️ Developing (Digging Deeper) / 💎 Aspiring (Putting It Together)
This is an ⚓ Establishing Assignment (Minimum Standard) - "Everyone Do" Assignment
This is an ⛏️ Developing (Digging Deeper) - "Everyone Should Do, To Stretch" Assignment
This is an 💎 Aspiring (Putting It Together) - "When you have done the ⚓ Establishing and⛏️ Developing" Assignment
🚀 Formative Quiz - 🔎 Review
🚀 Quiz -🔀 Mastery Path
🚀 Summative Quiz -✔️ Skills Mastery Check
Quiz - verify that they are all listed as a "Formative", "Mastery Path", or "Summative"
🚀 Formative Quiz - These are quizzes that the students can take a few times. I have them either set for unlimited times, or 3-5 times, where the final score is their average. The idea is that these Formative Quizzes are designed for students to learn and master a skill. while I want them to ger 100%, and when it's set to unlimited tries, the student should get 100% eventually. When the quiz is set to 3-5 tries with an average, then they should be prepared and should take the quiz seriously. I set the quiz to not show the right answer, but I do let them see their wrong answer. I also put the explanation of the right and wrong answer in the right and wrong answer prompt for each question. That way they can see why they got the answer wrong and learn from that experience.
8.1.0.3.2.4 - Python - Ch 3 - Functions - Quiz #2 -Built-In Functions - 🚀 Formative Quiz
🚀 Quiz -🔀 Mastery Path - These Mastery path quizzes are to be presented after the student has had a chance to do some labs and some Formative quizzes. The goal is to let students have 2 chances to take this quiz, and take the average of the 2 attempts. Based on the average, they will be presented with a Canvas Mastery Path, where they will have an option for take additional quiz and assignments to help with remediation. This will get them ready to take the Summative Quizzes.
8.1.0.3.3.1 - Python - Ch 3 - Functions - Mastery Quiz #1 - 🚀 Quiz -🔀 Mastery Path
🚀 Summative Quiz -✔️ Skills Mastery Check - These Mastery path quizzes are to be presented after the student has had a chance to do some labs and some Formative quizzes. The goal is to let students have 2 chances to take this quiz, and take the average of the 2 attempts. That will be their final module/subject topic grade.
8.1.0.3.3.1 - Python - Ch 3 - Functions - Skills Mastery Check Quiz #1 - 🚀 Summative Quiz -✔️ Skills Mastery Check