# data[].attributes.attachment_link.title
15 Trending School Science Project Ideas for Students in 2026 - My Garbage Collection

# data[].attributes.attachment_link.description
Discover creative School Science Project Ideas for 2026 featuring AI, robotics, renewable energy, sustainability, and smart STEM innovations.

# data[].attributes.headline
ROBOTS SENCILLOS CON UN MOTOR REDUCTOR DE DOBLE EJE

# data[].attributes.subject
ROBOTS SENCILLOS CON UN MOTOR REDUCTOR DE DOBLE EJE

# data[].attributes.attachment_link.title
Robot Friends - Easy Robot STEM Project for Kids

# data[].attributes.attachment_link.description
Robot Friends - Easy Robot STEM Project for Kids: Robots are machines that receive inputs, process logic, and act. Usually this takes the form of sensors and microcontrollers, and servo motors, but we can stretch that definition to create helpful, friendly robots using non-digital inputs, logic, an…

# data[].attributes.headline
CONTROL DE ARDUINO CON BLUETOOTH DESDE EL MÓVIL

# data[].attributes.subject
CONTROL DE ARDUINO CON BLUETOOTH DESDE EL MÓVIL

# data[].attributes.attachment_link.title
Control Bluetooth  con Arduino y HC - 05 -- Tutorial fácil

# data[].attributes.attachment_link.description
Proyector de Hologramas para dispositivos móviles Convierte tu celular en un proyector de hologramas Proyector de H…

# data[].attributes.attachment_link.description
Make an LED light up with the power of the wind!

# data[].attributes.attachment_link.readable_text
About the Challenge

K-12 students worldwide are invited to give engineering a try with the annual Engineering Challenge from Science Buddies. Announced every January, the Science Buddies Engineering Challenge lets students use their problem-solving skills to design, build, and test contraptions. The challenges use simple materials and are free for all to participate. Try this year's challenge, and you may win a cash prize for your school or nonprofit!

Ping Pong Pickup-2023 Engineering Challenge

Can you make a device out of paper, string, tape, and paper clips to pick up a ping pong ball and return it to a start line? What is the greatest distance over which your device can work? Students across the globe are invited to try this challenge and submit their results by March 19, 2023, to be entered (where eligible) in random drawings for $10,000 in prizes. We are excited to see what you build!

Challenge Instructions

Challenge instructions are available in these four formats:

Prizes and Eligibility

Primary and secondary school students in all countries are invited to participate in this challenge. Students can work individually or in teams of up to four students. Each student team should follow the challenge instructions to build and test their device. Teams may try the challenge as many times as they want but can only submit one score.

Students may participate on more than one team, as long as the teams are formed under different circumstances and have different device designs. For example, a student can be on a team formed in their school and participate on a team formed at a youth program, public library, or scouting program. The student may not submit identical designs for both teams.

The highest scoring teams, regardless of country of origin, who follow all the building and testing rules listed in the challenge instructions, will be publicly recognized at the conclusion of the challenge on the challenge results page. In addition, all teams who participate will receive (through an email to their adult contact) a certificate of participation.

Teams that follow the rules in the challenge instructions, are from eligible locations, and submit an entry using the online submission form will be entered in random prize drawings for ten $1,000 USD prizes. Eligible locations include United States (including American Samoa, DoD schools, Guam, Northern Mariana, Puerto Rico, and Virgin Islands), Canada, and Australia. Random drawing prizes are not dependent on the team's score. The prize money will be awarded to the team's sponsoring school or nonprofit organization. A school or organization may receive a maximum of one prize. The more teams a school or organization submits scores for, the higher their odds of winning. Make sure to enter all of your teams!

Homeschool students in the United States, Canada, and Australia are also eligible to be entered in the random prize drawings. Should a homeschool team win, they will be asked to choose a youth or educational nonprofit organization to receive the prize money.

Submitting Your Results

Submissions will be accepted from February 19, 2023, through March 19, 2023. All submissions must be made through our online entry form; the link to this form will be available from this page and open for entries starting February 19, 2023. No entries will be accepted after 11:59 PM March 19, 2023 Pacific Time.

All submissions will require:

Name and email address of an adult contact

Name and street address of the sponsoring school or organization (homeschool teams may put a home address)

A team name (the name must be in good taste and cannot contain any offensive words or slurs)

Students' ages

Team score

Two photos of the team's device. Students are encouraged, but not required, to be in the photos.

A photo showing the entire length of the device.

A closeup photo showing how the device holds the ping pong ball.

Social Media

We know that the Science Buddies Engineering Challenge is a highlight every year for many schools, families, and organizations. If you are posting about your fun with this year's challenge, we would love to hear about it! Use #ScienceBuddiesEngineeringChallenge and tag us on these platforms:

Note that tagging us on social media does not constitute an official entry. You will still need to fill out a submission form for your team(s).

Contacting Us

If you have questions, please consult the FAQ. If you do not find the information you need there, please contact us at engineeringchallenge@sciencebuddies.org.

Past Engineering Challenges

2017 Follow the Flow Challenge

2016 Marble Machine Challenge

Explore Our Science Videos

# data[].attributes.attachment_link.title
Take the Science Buddies Engineering Challenge!

# data[].attributes.attachment_link.description
K-12 students worldwide are invited to give engineering a try with the annual Engineering Challenge from Science Buddies. Announced every January, the Science Buddies Engineering Challenge lets students use their problem-solving skills to design, build, and test contraptions. The challenges use simple materials and are free for all to participate.

# data[].attributes.attachment_link.title
Cómo Hacer un Robot Gusano Que Camina , Worm Robot, Robótica Increíble | Sagaz Perenne

# data[].attributes.attachment_link.title
Wokwi - Online ESP32, STM32, Arduino Simulator

# data[].attributes.attachment_link.description
IoT and Embedded System Simulator: ESP32, STM32, Arduino, Raspberry Pi Pico, displays, sensors, motors and WiFi simulation.

# data[].attributes.attachment_link.description
Make a paper octopus that retracts its tentacles.

# data[].attributes.attachment_link.description
Teachable Machine: Explore machine learning, live in your browser.

# data[].attributes.attachment_link.title
Simple Hydraulic-Powered Machine Project for Elementary School Students

# data[].attributes.attachment_link.description
Create a fun, open-ended engineering project that’s powered by a simple hydraulic mechanism. Build a hydraulic-powered hinge, then customize it however you want!

# data[].attributes.headline
robot de cartón y motor de doble eje, con movimiento de vaiven

# data[].attributes.subject
robot de cartón y motor de doble eje, con movimiento de vaiven

# data[].attributes.attachment_link.title
Amazing Cardboard Robot Making #shorts #diy #trending #project

# data[].attributes.attachment_link.title
CÓMO HACER UN ROBOT HIDRÁULICO 🤖 | Como Hacer un Robot Hidráulico ( BRAZO HIDRÁULICO ) MINI ROBOT 🤖

# data[].attributes.attachment_link.title
Robot Friends - Easy Robot STEM Project for Kids

# data[].attributes.attachment_link.description
Robots are machines that receive inputs, process logic, and act. Usually this takes the form of sensors and microcontrollers, and servo motors, but we can stretch that definition to create helpful, friendly robots using non-digital inputs, logic, and actions!This super-simple robot is the perfect introduction for kids of all ages to the fundamentals of robotics. Whether you’re working one-on-one with your own child or facilitating a group project, this project offers lots of opportunities to get

# data[].attributes.attachment_link.title
ROBOT CAMINANTE CASERO! | Como Hacer un Robot que Camina +5km/h ! (Usando Materiales Reciclados)

# data[].attributes.attachment_link.readable_text
Energías no renovables

Energías renovables Ejercicios

Energía hidráulica Problemas de E. Hidráulica
Energía eólica Energía solar
Instalaciones domésticas

# data[].attributes.attachment_link.description
Energías no renovables Energías renovables Ejercicios Energía hidráulica Problemas de E. Hidráulica Energía eólica Energía solar Instalaciones domésticas

# data[].attributes.attachment_link.title
Cómo Hacer Una Araña Robot Casero, Un Robot Araña hexapodo | Robotica | Sagaz Perenne

# data[].attributes.attachment_link.description
Battle Bots on a Budget: As an avid reader of Make Magazine for over 10 years, I’ve read dozens of stories about the Maker Faires that happen every year across the country. Finally, in 2014, I packed up the family and headed three hours South-East to one of the largest of t…

# data[].attributes.attachment_link.readable_text
By Amy Cowen on March 23, 2023 6:00 AM
Use these free STEM lessons and activities to introduce and experiment with robotics with students. From designing and building simple robots to thinking about how robots can be used to solve real-world problems, these hands-on projects help students gain and practice circuit-building and robotics engineering skills.
The free STEM lessons, projects, and activities below help introduce students to robotics, robotics engineering, and the kinds of algorithmic thinking used to program, control, and automate robots. In these projects, students will learn about designing robots, building circuits, using sensors to direct robot behavior, controlling robots remotely, and programming robots to perform specific tasks and functions.

To help educators choose lessons and activities that meet certain curriculum needs and student experience and readiness, the resources below have been grouped as follows:

Note: These groupings are thematic and do not necessarily correlate to difficulty.

Note: Science Buddies Lesson Plans contain materials to support educators leading hands-on STEM learning with students. Lesson Plans offer NGSS alignment, contain background materials to boost teacher confidence, even in areas that may be new to them, and include supplemental resources like worksheets, videos, discussion questions, and assessment materials. Activities are simplified explorations that can be used in the classroom or in informal learning environments. Student projects that appear below contain experiments that can be effectively adapted for use by educators for teaching about the topic.

Lesson Plans and Activities to Introduce Students to Robotics

1. In the Vibrobots- Tiny Robots from Scratch lesson, students build simple robots from craft and recycled materials. With coin cell batteries and small motors (see the Bristlebot Kit), students learn about open and closed circuits and create robots that move around because of the vibration of the motor. In addition to being an entry point for students interested in robotics and circuit building, this lesson guides students in using the engineering design process to design, build, test, and troubleshoot their robots. Students might try a range of materials, shapes, and designs for their robot bodies and legs. As they observe how their robots work, how stable they are, and how they move, they will iterate to improve their designs. ( Note: while this robot-building activity can be used with older students, this lesson is NGSS-aligned for grades 3-5.)

2. In the Art Bot: Build a Wobbly Robot That Creates Art project, students make a robot with markers for legs. As the robot moves around, it "draws" on the paper or surface underneath, which makes the ArtBot a very creative robot! As students experiment with the ArtBot, they might explore using different numbers of markers or making other changes to the design of the robot to influence what kinds of art the robot makes. ( Classroom success story! Get inspired by this classroom's ArtBot exploration.)

3. In the Building Junkbots-Robots from Recycled Materials lesson, students design and build simple robots from recycled and craft materials. With AA batteries and DC motors, students make their own robots and learn about open and closed circuits. Like other introductory robots, junkbots move around because of the vibration of the motor. Using the engineering design process, students are challenged to find ways to improve their robot's movement and speed by making changes to the design or materials used. ( Note: while this robot-building activity can be used with students in other grades, this lesson is NGSS-aligned for grades 6-8.)

Note: The Brushbot, ArtBot, Bristlebot, Vibrobot, and Junkbot robots can be made with specialty parts included in the Bristlebot Kit.

4. In the Roaming Robots: Build Your Own Underwater Robot project, students learn about types of robots that can be used to record data under water, in deep ocean waters, for example. Students explore some of the design challenges of these robots by building and testing their own underwater remotely operated vehicle (ROV).

5. Many introductory robots shuffle along on toothbrush heads, move due to the vibration of the motors, or have wheels. In the Build a Jumping Robot project, students use potential and kinetic energy to create a robot that can "jump." The video helps explain the physics involved in this process. Directions are provided to build the basic jumping robot, but students are then challenged to use the engineering design process to improve the design and make the robot jump farther or higher.

After students have experimented with simple circuits and basic robots, they are ready to explore robots designed for specific functions and with more complex circuits and sensors to give robots certain behaviors.

1. In the Build a Simple Steerable Robot project, students build a steerable robot that they control with a wired remote.

2. In the Line-Following Robot lesson, students build a BlueBot robot with a circuit that uses an infrared sensor. After learning about the electromagnetic spectrum and experimenting to find out which materials reflect and absorb infrared light, they create a path for the BlueBot to follow.

Note: This project uses the BlueBot 4-in-1 Robotics Kit.

3. The A Robot that Follows a Line lesson (above) provides a complete lesson plan for using the BlueBot kit with students. In addition to the line-following robot, the kit can also be used to make three other types of sensor-driven robots. The following projects contain guided build directions that can be used by individual students or as the basis of classroom exploration:

For additional inspiration for doing the BlueBot projects, see: Four Fun Builds in One BlueBot Robotics Kit!, The Obstacle-Avoiding BlueBot Robot, and Build a BlueBot Guard Robot!.

For more information about projects using the BlueBot Kit, see 10 Robotics Projects with the BlueBot Kit.

4. Both the Light-Tracking and Solar-Powered bristlebots use toothbrush heads for movement, like the introductory bristlebot robot. But these robots have double the motors, a breadboard, and a more complex circuit. The Build a Light-Tracking Bristlebot project guides students in assembling and testing a robot that can be guided by a flashlight beam. The Build a Solar-Powered Bristlebot project guides students in building a robot that can run on solar power.

Projects for Continued Robotics Exploration

Students interested in expanding their robotics projects to include more advanced robots, programmable and autonomous robot behaviors, alternative materials and form factors, and specialty robots can get started with projects like the ones highlighted below.

1. In a series of Science Buddies activities, students can explore drone science and flight by building their own simple drone using wooden craft sticks. After building the basic mini popsicle stick drone, students can explore ways to improve drone behavior and flight by adding additional circuitry and sensors. As students investigate ways to automate drone flight or provide remote control or other on-board capabilities, they will be exploring drone design and construction from a robotics engineering mindset. In the DIY Mini Drone: Arduino™ Altitude Control activity, students take a basic DIY drone to the next level by building an altitude control circuit with an ultrasonic distance sensor and an Arduino™. With the Drone Control with an Analog Joystick activity, students can integrate an analog joystick controller for steering.

2. Using a BlueBot with an Arduino, students can investigate questions related to self-driving cars and autonomous vehicles. The Build a Miniature Self-Driving Car project provides a starting point for making a model autonomous vehicle. The following projects help students extend the exploration: What Sensors Are Best for Self-Driving Cars? and How Fast is Automatic Braking?. For more information, see Explore the Science Behind Self-Driving Cars.

3. In the Squishy Robots: Build an Air-Powered Soft Robotic Gripper project, students explore robots that are made from rubber rather than metal and powered by air instead of electricity. Modeled after multicellular organisms, soft robots can have advantages when it comes to certain tasks. Students are challenged to think about materials and design in robotics engineering and how they relate to function as they design and build a squishy robotic gripping device, like a claw hand, that can pick up objects.

4. After building the four core BlueBot robots (described above), students interested in more sophisticated robots and programming can combine the BlueBot with an Arduino to take their robots to the next level. Students can find guidance for specific next-steps in projects like these:

For students ready to dive into robotics engineering on their own, the Build an Arduino Robot project offers a starting point.

For more information about building programming skills with projects using BlueBot and Arduino, see 10 Robotics Projects with the BlueBot Kit. Students getting started with Arudino, can follow our series of How to Use Arduino videos. (Educators: The Introduction to Arduino lesson is available for introducing Arduino to students.)

Explore Robotics without Specialty Materials

In addition to building robots, students interested in robotics can explore the challenge of controlling robots, various approaches to designing robots, and the relationship between living organisms and robots.

In the Squishy Robot Simulator project, students think about robot design using animals and animal movement as inspiration. They then use free simulation software to design and race different squishy robots to see if they can create the fastest robot. For additional exploration with the simulation software, see Should My Robot be More or Less Squishy?, Squishy Robot Simulator: Physics Settings, and Eco-Friendly Squishy Robots.

Teaching About Robotics in K-12

There are many opportunities for educators to teach about robots and robotics engineering throughout elementary, middle, and high school. With only a motor and a battery, students can make basic robots and learn about circuits and think about the design of robot bodies and the materials used to build robots. With even the simplest of robots, students can make and test design changes (like the shape, angle, or number of toothbrush heads in a bristlebot) to make connections with the engineering design process. Games and activities related to controlling robots and providing remote control instructions enable non-electronic exploration.

From basic robots, students can move on to more complicated circuits and the use of sensors to add specific behaviors to robots and to create robots that respond to their surroundings. Programming behaviors and functionality is a next step. As students explore more sophisticated robots, they also have the opportunity to investigate the use of robots designed for use in a variety of real-world settings. Not all robots are designed the same, and understanding the relationship between design and function is an important concept for students. Not all robots are humanoid!

Vocabulary

The following word bank contains words that may be covered when teaching about robotics and robotics engineering using the lessons and activities in this resource.

Actuator

Arduino

Articulation

Artificial intelligence (AI)

Automation

Autonomous vehicle

Autonomous underwater vehicle (or AUV)

Bioinspired (and bioinspiration)

Biomimicry

Circuits

Code

Closed circuit

Computer Aided design (CAD)

Computer Aided Manufacturing (CAM)

Degrees of freedom

Droid

Drone

Dynamics

Electronics

Engineering design process

Friction

Human-robot interaction

Humanoid

Iteration

Kinematics

Motor

Open circuit

Path

Program (programming)

Remotely operated vehicles (ROVs)

Robot body

Robot design

Robotics engineering

Rover

Self-driving car

Sensor

Simulator

Short circuit

Unmanned Aerial Vehicles (UAVs)

For Your Shelves

If you and your students are interested in robotics, the following Science Buddies book may be a good addition to your classroom or home library shelves!

Additional Support for Student and Family Exploration

Students and educators interested in exploring robots can find additional projects and activities at Science Buddies:

The following posts and stories can help inspire and support students who are interested in robotics engineering and families and educators doing robotics projects and activities with kids:

Making Connections

For related resources to explore electricity and circuits, see the following educator resource collections:

Thematic Collections

Collections like this help educators find themed activities in a specific subject area or discover activities and lessons that meet a curriculum need. We hope these collections make it convenient for teachers to browse related lessons and activities. For other collections, see the Teaching Science Units and Thematic Collections lists. We encourage you to browse the complete STEM Activities for Kids and Lesson Plans areas, too. Filters are available to help you narrow your search.

Development of this resource to support educators teaching K-12 STEM curriculum topics was made possible by generous support from the Donaldson Foundation.

You Might Also Enjoy These Related Posts:

# data[].attributes.attachment_link.title
20+ Robotics Projects, Lessons, and Activities for Teachers | Science Buddies Blog

# data[].attributes.attachment_link.description
By Amy Cowen on March 23, 2023 6:00 AM Use these free STEM lessons and activities to introduce and experiment with robotics with students. From designing and building simple robots to thinking about how robots can be used to solve real-world problems, these hands-on projects help students gain and practice circuit-building and robotics engineering skills.

# data[].attributes.attachment_link.title
Un robot de cartón increíble con control remoto

# data[].attributes.attachment_link.title
CÓMO HACER UN ROBOT HIDRÁULICO 🤖 | Como Hacer un Robot Hidráulico ( BRAZO HIDRÁULICO ) MINI ROBOT 🤖

# data[].attributes.attachment_link.description
Test de Tecnología. Materiales, Mecánica, Electricidad.

# data[].attributes.attachment_link.description
Learn from our examples and videos. To rerun this tutorial, select Learn -> Intro Tutorial

# data[].attributes.attachment_link.readable_text
Tinkercad es un programa de diseño 3D en línea y gratuito que se ejecuta desde el navegador web. Este programa es conocido por su simplicidad y facilidad de uso. Fue creado en el año 2011 y desde entonces se ha convertido en una plataforma popular para crear modelos para impresión 3D.

Desde 2013 Tinkercad pertenece a la empresa Autodesk y tienen su sede en la ciudad de San Francisco (EE.UU.).

Tinkercad utiliza un método simplificado de geometría sólida constructiva para construir modelos. Un diseño se compone de formas primitivas que son "sólidas" o "huecas", combinando estas formas sólidas y huecas se pueden crear nuevas formas. Se pueden importar archivos en 3 formatos: STL, OBJ y SVG. Tinkercad exporta en formatos STL u OBJ, listos para la impresión 3D. Recientemente el programa a incorporado además de los diseños 3D, circuitos para hacer simulaciones de elementos electrónicos, y bloques de código de programación para realizar diseños 3D.

Para comenzar a utilizar el programa necesitas crearte una cuenta en Tinkercad. Al crearte la cuenta, dispones de un almacenamiento en la nube para que puedas guardar tus ejercicios. Para comenzar con el programa puedes seguir el siguiente enlace:

Una vez abierto el programa, créate la cuenta de Tinkercad si aún no lo has hecho, y ya puedes comenzar a realizar los siguientes ejercicios prácticos elaborados por el profesor:

EJERCICIOS PRÁCTICOS DE TINKERCAD

# data[].attributes.attachment_link.description
Blog del profesor José Martín Sánchez Murillo para los alumnos de informática del IES Juan Antonio Fernández Pérez de Melilla "huertasalama"

# data[].attributes.attachment_link.title
Basurero Inteligente con Arduino (Proyectos Escolares)

# data[].attributes.attachment_link.title
How to Make #Arduino T-Rex Dinosaur game With #Tinkercad Arduino Simulation

# data[].attributes.attachment_link.title
681-3 Tecnología 4º ESO - Proyecto STAR.pdf

# data[].attributes.attachment_link.readable_text
Don't miss new content! Follow me:

Introduction

Update

I created a new sub-page that collects all content related this robot. Please check out my DIY Robotics Plattform page to make sure you do not miss anything!

Video Tutorial

Watch the video tutorial below to learn everything about this DIY smartphone robot for kids!

short Facts

Recommended age: kids of 10 years and older

Skill level electronics: medium

Skill level paper crafting: easy

Time needed: 2-3 hours

Estimated costs per robot: about 15 Euro or Dollar

Important: The smartphone robot is an upgrade to my easy robot. So kids can start with the basic robot and then upgrade it step by step.

Why Turn a Smartphone Into a DIY Robot?
If you buy something and it is not working, you hate the product. If you build something and it is not working, you try to fix it. That's how you learn.
The mission

I invented this robot as a cheap and simple DIY alternative to expensive robotic toys and to inspire a maker mindset within kids. The goal was to use only super simple electronics, conductive tape, cardboard, and a smartphone as the robot's brain. There are no tools required! And the best thing is: Kids don't learn about programming a toy robot. They learn about app programming, which is a very useful skill for their future!

The Idea

To have the "brain" communicate with the robot I use light sensors to "read" a light value (light or dark) from the display. To keep things simple I do not use any microcontroller to evaluate the readings from the sensors. I use simple transistors to control the motors of the robot. See my video above for further explanation.

For programming the smartphone robot any programming language for apps can be used. I used MIT App Inventor, which is completely free to use and specifically designed to teach kids about app programming.

However.... Programming your robot can be even simpler, by just using a sequence of pictures. You will find more instructions about this further below.

The Robot

Using a smartphone as the robot's brain adds a whole world of complexity to your robot. The smartphone robot can:

... drive around, of course.
... show different facial expressions. Even animations are possible!
... say anything you want with the text-to-speech module.
... listen to voice commands with the integrated voice assistant.
... can be remotely controlled by another smartphone.
... can use the smartphone's compass, camera, flashlight, and much much more!

I have so many ideas, that I would like to make a whole series of videos showing you how to use MIT App Inventor to program this little robot.

Update: Maker Bot

The question I get asked the most is: "Is it possible to use standard DC (yellow) motors for this robot?" The answer is: YES, it is! But you have to change the other components for that as well!

I decided to make another version of this robot. This version uses standard maker materials like a breadboard and AA batteries. All the instructions you need are also included in the above download from my Teachers Pay Teachers store.

You can watch a video of the MakerBot here.

Get Started - It's Easy!
Visit my Teachers Pay Teachers store to download the following:

All the templates for the Easy Robot and the Smartphone Robot

A PDF tutorial for the MakerBot

A coding guide on how to use MIT App Inventor for Smartphone Robotics

My electronics shopping guide

And much more!

Included in every download

Templates

All my templates are tested and ready for printing (PDF). Use them for yourself, your children or for a group of kids in class.

Download a free sample of my Easy Circuit template here.

Looking for free downloads? This website has become more than just a hobby for me, so I have decided to charge a small fee for my templates.

Programming Your Smartphone Robot
Use MIT App Inventor to make your robot move, speak or listen to voice commands!
Note: I am working on a series of tutorials on how to use MIT app inventor to program the smartphone robot. You will find all tutorials on my DIY Robotics Platform page.

Planned MIT App Inventor tutorials:

1. Introduction to MIT app inventor and how to use it to program the smartphone robot. (Two Parts)

2. How to add gestures to your robot.

3. How to make your robot talk and listen to voice commands.

4. How to use another smartphone for remote controlling.

5. And much, much more....

If you want to use my work commercially, write me an e-mail.

If you use or share my work, please attribute VoltPaperScissors.com as the creator of this work and provide a clickable link where possible.

Find more information about me, my project, and the license I use here.

# data[].attributes.attachment_link.title
DIY Smartphone Robot - The Award-Winning STEM Challenge - Volt, Paper, Scissors!

# data[].attributes.attachment_link.description
Turn a smartphone into a programmable robot for kids using simple electronics and paper. Download my free templates and follow my video tutorial to recreate this robot together with kids.

# data[].attributes.body
Libro de tecnología editorial SANTILLANA

# data[].attributes.attachment_link.description
Este material es una obra colectiva concebida, diseñada y creada en el departamento de Ediciones Educativas de Grazalema / Santillana. En su elaboración han participado: Carlos Lamparero García Laura Muñoz Ceballos EDICIÓN Laura Muñoz Ceballos DIRECCIÓN DEL PROYECTO David Sánchez Gómez El departamento editorial de Ediciones Grazalema, S. L. / Sanoma Educación, S. L. U., desea agradecer a Maite López-Sáez Rodríguez-Piñero, a Antonio Brandi Fernández y a Teresa Grence Ruiz su inestimable participación en este proyecto. Las actividades de este libro no deben ser realizadas en ningún caso en el propio libro. Las tablas, esquemas y otros recursos que se incluyen son modelos que deberán ser trasladados a un cuaderno. Tecnología 4 ESO

# data[].attributes.attachment_link.title
Landing on the Moon - Planning and designing a lunar lander | Teach with space P37

# data[].attributes.attachment_link.description
Languages: English, Danish, French, German (teacher’s guide), German (student worksheet), Italian, Spanish, Polish, Subjects: Physics, Mathematics and Economics |
In this set of activities, students will plan, design, and build a landing module to secure the survival of the crew (in the form of an egg-naut) landing on the Moon. They will explore which factors should be considered when landing on the Moon, in comparison to landing on Earth. In the design of the lunar lander, students must take risk factors and budgeting into account.Students will calculate the velocity and acceleration during the fall and use Newton’s Second Law of Motion to study the forces on the Earth and Moon.

# data[].attributes.headline
ROBOT CON MOTOR PARA SUPERFICILES IRREGULARES

# data[].attributes.subject
ROBOT CON MOTOR PARA SUPERFICILES IRREGULARES

# data[].attributes.attachment_link.title
Cómo Hacer un Robot Que Puede Sobre la Superficie Irregular

# data[].attributes.attachment_link.title
Makeronline: Download Free 3D Printing Models and Print Now

# data[].attributes.attachment_link.description
Evoke Inspiration, Enhance Life. Discover and download free 3D printing models and files, start printing amazing designs today. Click to get started!

# data[].attributes.attachment_link.description
Aquest espai pretén documentar el treball nadalenc realitzat pels alumnes de 1r de Batxillerat Tecnològic de l’institut Bellvitge al desembre de 2024. Està relacionat amb els nostres aprenentatges a la matèria Robòtica.
El nostre pessebre està fet amb components tècnics en desús, i els recuperats

# data[].attributes.attachment_link.title
How to Make Cardboard Sweeper at Home DIY Cardboard Crafts

# data[].attributes.attachment_link.description
Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0

# data[].attributes.attachment_link.readable_text
Nota

Esta aplicación no está optimizada para pantallas de este tamaño. Para obtener los mejores resultados, usa una tablet, un portátil o un ordenador.

¿Deseas continuar de todos modos?

Gira el dispositivo 90° para activar el modo horizontal.

Nota

Esta aplicación se ha optimizado para su uso en modo horizontal. Para obtener los mejores resultados, esta aplicación necesita más espacio.

Si estás usando un navegador, maximiza la ventana.

Si estás en una tablet, gírala 90° para activar el modo horizontal.

Nota

Esta aplicación no está optimizada para este tamaño de la pantalla. Consejo: utilice la ventana del navegador en tamaño completo para una mejor experiencia.

# data[].attributes.attachment_link.description
Esta aplicación no está optimizada para pantallas de este tamaño. Para obtener los mejores resultados, usa una tablet, un portátil o un ordenador. ¿Deseas continuar de todos modos? Gira el dispositivo 90° para activar el modo horizontal. Esta aplicación se ha optimizado para su uso en modo horizontal.

# data[].attributes.headline
ROBOT DE CARTÓN TELEDIRIGIDO CON MOTORES

# data[].attributes.subject
ROBOT DE CARTÓN TELEDIRIGIDO CON MOTORES

# data[].attributes.attachment_link.title
FAÇA UM INCRÍVEL ROBÔ DE CONTROLE REMOTO COM PAPELÃO EM CASA

# data[].attributes.headline
EXELEARNING DE NOCIONES BÁSICAS DE TECNOLOGÍA

# data[].attributes.subject
EXELEARNING DE NOCIONES BÁSICAS DE TECNOLOGÍA

# data[].attributes.attachment_link.title
Unidades del módulo | Educación Tecnológica

# data[].attributes.attachment_link.title
Hydraulic Judo Robot - STEM Project Challenge for Kids

# data[].attributes.attachment_link.description
A fun, exciting, and unique engineering challenge: build a simple hydraulic-powered JudoBot! Build your robot, compete in friendly matches, then redesign your creation so make it even more effective.

# data[].attributes.attachment_link.readable_text
Benefits of Bubbl.us mind maps over text:

Superior clarity of structured information

Whether it's a family tree, a decision flow map, or an algorithm, mind maps have a huge advantage in presenting complexity clearly and concisely.

Better retention of complex ideas.

Visualizing complex ideas in shapes, lines, and pictures leads to much better recollection later than simple text.

Creative collaboration with others.

Visual brainstorming with a team can dramatically improve the quality of the final product because of diversity of perspectives and experiences.

# data[].attributes.attachment_link.title
Bubbl.us - Create Mind Maps | Collaborate and Present Ideas

# data[].attributes.attachment_link.description
Mind map and brainstorm online with Bubbl.us! Create colorful mind maps to print or share with others. Millions of people are using Bubbl.us worldwide to generate ideas, map out processes and create presentations.

# data[].attributes.headline
PROGRAMACIÓN DE UN DISPLAY DE 7 SEGMENTOS CON ARDUINO

# data[].attributes.subject
PROGRAMACIÓN DE UN DISPLAY DE 7 SEGMENTOS CON ARDUINO

# data[].attributes.attachment_link.readable_text
Seven segment displays are used in many day to day consumer devices like microwave ovens, washing machines, and air conditioners. They are a simple but effective way to display numerical data like time or quantity. Since they are made out of LEDs, they are a low cost option for displaying information.

In this tutorial I'm going to show you how to set up and program single digit and multi-digit seven segment displays on an Arduino.

Seven segment displays come in a wide variety of sizes and colors. Red, blue, and green are the easiest colors to find. Sizes range from small 0.56 inch displays up to large 4 inch and even 6.5 inch displays. Some displays have a single digit, and others have two or four.

Before we start working with 7 segment displays, we need to understand some of the basics of LEDs and how to control them.

LED Basics

A single LED consists of two terminals, an anode and a cathode. The anode is the positive terminal and the cathode is the negative terminal:

To power the LED, you connect the cathode to ground and the anode to the voltage supply. The LED can be turned on or off by switching power at the anode or the cathode.

Anode to GPIO

With the LED's anode connected to a digital pin, the cathode is connected to ground:
Note: All LEDs need a current limiting resistor placed on either the anode side or cathode side to prevent the LED from burning out. The resistor value will determine how bright the LED shines. 1K ohms is a good place to start, but you can calculate the ideal value with an LED resistor calculator.
To light up an LED with the anode connected to a digital pin, you set the digital pin to HIGH:

void setup(){
    pinMode(7, OUTPUT);
    digitalWrite(7, HIGH);
}

void loop(){
}

In the void setup() block, we configure GPIO pin 7 as an output with pinMode(7, OUTPUT); and drive it high with digitalWrite(7, HIGH);.

Cathode to GPIO

With an LED's cathode connected to a digital pin, the anode is connected to Vcc. To turn on the LED, the digital pin is switched LOW, which completes the circuit to ground:

In this case we drive GPIO pin 7 LOW with digitalWrite(7, LOW);. This closes the circuit and allows current to flow from Vcc to ground:

void setup(){
    pinMode(7, OUTPUT);
    digitalWrite(7, LOW);
}

void loop(){
}

How 7-Segment Displays Work

Seven segment displays consist of 7 LEDs, called segments, arranged in the shape of an "8". Most 7-segment displays actually have 8 segments, with a dot on the right side of the digit that serves as a decimal point. Each segment is named with a letter A to G, and DP for the decimal point:

Each segment on the display can be controlled individually, just like a regular LED.

There are two types of 7-segment displays - common cathode and common anode.

Common Cathode Displays

In common cathode displays, all of the cathodes are connected to ground and individual segments are turned on and off by switching power to the anodes:

Common Anode Displays

In common anode displays, all of the anodes are connected to Vcc, and individual segments are turned on and off by switching power to the cathodes:

Connecting 7-Segment Displays to the Arduino

Single digit seven segment displays typically have 10 pins. Two pins connect to ground, and the other 8 connect to each of the segments. Here is a pin diagram of the popular 5161AS common cathode display:

Before you can connect your display to the Arduino, you need to know if it's common anode or common cathode, and which pins connect to each segment. This information should be in the datasheet, but if you can't find the datasheet or you don't know your display's part number, I'll show you how to figure this out below...

How to Tell If You Have a Common Anode or Common Cathode Display

To determine if a display is common anode or common cathode, you can probe the pins with a test circuit constructed like this:

Connect the ground (black) wire to any pin of the display. Then insert the positive (red) wire into each one of the other pins. If no segments light up, move the ground wire over to another pin and repeat the process. Do this until at least one segment lights up.

When the first segment lights up, leave the ground wire where it is, and connect the positive wire to each one of the other pins again. If a different segment lights up with each different pin, you have a common cathode display. The pin that's connected to the ground wire is one of the common pins. There should be two of these.

If two different pins light up the same segment, you have a common anode display. The pin that's connected to the positive wire is one of the common pins. Now if you connect the ground wire to each one of the other pins, you should see that a different segment lights up with each different pin.

How to Determine the Pinout for Your Display

Now draw a diagram showing the pins on your display. With the common pin connected to the ground wire (common cathode) or positive wire (common anode), probe each pin with the other wire. When a segment lights up, write down the segment name (A-G, or DP) next to the corresponding pin on your diagram.

Connecting Single Digit Displays to the Arduino

Once you have the pin layout figured out, connecting the display to an Arduino is pretty easy. This diagram shows how to connect a single digit 5161AS display (notice the 1K ohm current limiting resistor connected in series with the common pins):

In the example programs below, the segment pins connect to the Arduino according to this table:

Programming Single Digit Displays

Install the Library

We'll use a library called SevSeg to control the display. The SevSeg library works with single digit and multi-digit seven segment displays. You can download the library's ZIP file from GitHub or download it here:

SevSeg.zip

To install it, open the Arduino IDE, go to Sketch > Include Library > Add .ZIP Library, then select the SevSeg ZIP file that you downloaded.

Printing Numbers to the Display

This program will print the number "4" to a single digit 7-segment display:

#include "SevSeg.h"
SevSeg sevseg;

void setup(){
    byte numDigits = 1;
    byte digitPins[] = {};
    byte segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9};
    bool resistorsOnSegments = true;

    byte hardwareConfig = COMMON_CATHODE;
    sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
    sevseg.setBrightness(90);
}

void loop(){
        sevseg.setNumber(4);
        sevseg.refreshDisplay();
}

In this program, we create a sevseg object on line 2. To use additional displays, you can create another object and call the relevant functions for that object. The display is initialized with the sevseg.begin() function on line 11. The other functions are explained below:

hardwareConfig = COMMON_CATHODE; This sets the type of display. I'm using a common cathode, but if you're using a common anode then use COMMON_ANODE instead.

byte numDigits = 1; This sets the number of digits on your display. I'm using a single digit display, so I set it to 1. If you're using a 4 digit display, set this to 4.

byte digitPins[] = {}; Creates an array that defines the ground pins when using a 4 digit or multi-digit display. Leave it empty if you have a single digit display. For example, if you have a 4 digit display and want to use Arduino pins 10, 11, 12, and 13 as the digit ground pins, you would use this: byte digitPins[] = {10, 11, 12, 13};. See the 4 digit display example below for more info.

byte segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9}; This declares an array that defines which Arduino pins are connected to each segment of the display. The order is alphabetical (A, B, C, D, E, F, G, DP where DP is the decimal point). So in this case, Arduino pin 6 connects to segment A, pin 5 connects to segment B, pin 2 connects to segment C, and so on.

resistorsOnSegments = true; This needs to be set to true if your current limiting resistors are in series with the segment pins. If the resistors are in series with the digit pins, set this to false. Set this to true when using multi-digit displays.

sevseg.setBrightness(90); This function sets the brightness of the display. It can be adjusted from 0 to 100.

sevseg.setNumber(); This function prints the number to the display. For example, sevseg.setNumber(4); will print the number "4" to the display. You can also print numbers with decimal points. For example, to print the number "4.999", you would use sevseg.setNumber(4999, 3);. The second parameter (the 3) defines where the decimal point is located. In this case it's 3 digits from the right most digit. On a single digit display, setting the second parameter to "0" turns on the decimal point, while setting it to "1" turns it off.

sevseg.refreshDisplay(); This function is required at the end of the loop section to continue displaying the number.

Count Up Timer

This simple program will count up from zero to 9 and then loop back to the start:

#include "SevSeg.h"
SevSeg sevseg;

void setup(){
    byte numDigits = 1;
    byte digitPins[] = {};
    byte segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9};
    bool resistorsOnSegments = true;

    byte hardwareConfig = COMMON_CATHODE;
    sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
    sevseg.setBrightness(90);
}

void loop(){
    for(int i = 0; i < 10; i++){
        sevseg.setNumber(i, i%2);
        delay(1000);
        sevseg.refreshDisplay();
        }
}

The code is similar to the previous sketch. The only difference is that we create a count variable "i" in the for statement on line 16 and increment it one number at a time.

The sevseg.setNumber(i, i%2); function prints the value of i. The i%2 argument divides i by 2 and returns the remainder, which causes the decimal point to turn on every other number.

The count up timer is a nice way to demonstrate the basics of how to program the display, but now let's try to make something more interesting.

Rolling Dice

This example consists of a push button and a single 7 segment display. Every time the push button is pressed and held, the display loops through numbers 0-9 rapidly. Once the button is released, the display continues to loop for a period of time almost equal to the time the button was pressed, and then displays a number along with the decimal point to indicate the new number.

To build the circuit (with the 5161AS display), connect it like this:

Then upload this program to the Arduino:

#include "SevSeg.h"
SevSeg sevseg;

const int  buttonPin = 10;    // the pin that the pushbutton is attached to
int buttonState = 0;          // current state of the button
int lastButtonState = LOW;    // previous state of the button
int buttonPushCounter = 0;    // counter for the number of button presses
long counter = 0;
long max_long_val = 2147483647L;

void setup(){
  byte numDigits = 1;
  byte digitPins[] = {};
  byte segmentPins[] = {6, 5, 2 , 3, 4 , 7, 8, 9};
  bool resistorsOnSegments = true;

  byte hardwareConfig = COMMON_CATHODE;
  sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
  sevseg.setBrightness(90);

  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);
  lastButtonState = LOW;
}

void loop(){
  buttonState = digitalRead(buttonPin);
  if(buttonState == HIGH){
    buttonState = LOW;
    }

  else
   buttonState = HIGH;

  if(buttonState == HIGH){
     Serial.println("on");
     lastButtonState = HIGH;
     buttonPushCounter++;
     if(counter < max_long_val)
       counter++;
     buttonPushCounter %= 9;
     sevseg.setNumber(buttonPushCounter, 1);
     sevseg.refreshDisplay();
     delay(100 - (counter%99));
     }

  else{
     Serial.println("off");
     if(lastButtonState == HIGH){
       Serial.println("in");
       buttonPushCounter++;
       buttonPushCounter %= 7;
       if(buttonPushCounter == 0)
         buttonPushCounter = 1;
       counter--;
       sevseg.setNumber(buttonPushCounter, 1);
       sevseg.refreshDisplay();
       delay(100 - (counter%99));
       if(counter == 0){
         lastButtonState = LOW;
         sevseg.setNumber(buttonPushCounter, 0);
         sevseg.refreshDisplay();
         }
       }
     }
}

4 Digit 7-Segment Displays

So far we have only worked with single digit 7-segment displays. To display information such as the time or temperature, you will want to use a 2 or 4 digit display, or connect multiple single digit displays side by side.

In multi-digit displays, one segment pin (A, B, C, D, E, F, G, and DP) controls the same segment on all of the digits. Multi-digit displays also have separate common pins for each digit. These are the digit pins. You can turn a digit on or off by switching the digit pin.

I'm using a 4 digit 7-segment display with the model number 5641AH, but the wiring diagrams below will also work with the 5461AS.

Here is a diagram showing the pinout of these displays:

The digit pins D1, D2, D3 and D4 need to be connected to current limiting resistors, since they are the common terminals of the digits. The connections are shown below:

This simple program will print the number "4.999" to the display:

#include "SevSeg.h"
SevSeg sevseg;

void setup(){
  byte numDigits = 4;
  byte digitPins[] = {10, 11, 12, 13};
  byte segmentPins[] = {9, 2, 3, 5, 6, 8, 7, 4};

  bool resistorsOnSegments = true;
  bool updateWithDelaysIn = true;
  byte hardwareConfig = COMMON_CATHODE;
  sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
  sevseg.setBrightness(90);
}

void loop(){
    sevseg.setNumber(4999, 3);
    sevseg.refreshDisplay();
}

In the code above, we set the number of digits in line 5 with byte numDigits = 4;.

Since multi-digit displays use digit pins, we also need to define which Arduino pins will connect to the digit pins. Using byte digitPins[] = {10, 11, 12, 13}; on line 6 sets Arduino pin 10 as the first digit pin, Arduino pin 11 to the second digit pin, and so on.

To print numbers with a decimal point, we set the second parameter in sevseg.setNumber(4999, 3); to three, which puts it three decimal places from the right most digit.

Temperature Display

This example reads the temperature from a thermistor and displays it on a 4 digit display.

Connect the circuit like this:

If you have questions about using a thermistor, or just want to learn more about them, check out our other tutorial on using a thermistor with an Arduino.

Once everything is connected, upload this code to the Arduino:

#include "SevSeg.h"
SevSeg sevseg;

int ThermistorPin = 0;
int Vo;
float R1 = 10000;
float logR2, R2, T;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;

void setup() {
  byte numDigits = 4;
  byte digitPins[] = {10, 11, 12, 13};
  byte segmentPins[] = {9, 2, 3, 5, 6, 8, 7, 4};
  bool resistorsOnSegments = true;
  byte hardwareConfig = COMMON_CATHODE;

  sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
}

void loop() {
  Vo = analogRead(ThermistorPin);
  R2 = R1 * (1023.0 / (float)Vo - 1.0);
  logR2 = log(R2);
  T = (1.0 / (c1 + c2 * logR2 + c3 * logR2 * logR2 * logR2));
  T = T - 273.15;
  T = (T * 9.0) / 5.0 + 32.0; //Comment out for Celsius

  static unsigned long timer = millis();

  if (millis() >= timer) {
    timer += 300;
    sevseg.setNumber(T, 2);
  }

  sevseg.refreshDisplay();
}

This will output the temperature in Fahrenheit. To display the temperature in Celsius, comment out line 28.

By itself, the display will update every time the temperature changes even slightly. This creates an annoying flickering. In order to deal with this, we introduce a timer mechanism, where we only read the value from the thermistor every 300 milliseconds (lines 30 to 34).

The temperature variable "T" is printed to the display on line 35 with sevseg.setNumber(T, 2, false);.

Hopefully this article should be enough to get you started using seven segment displays. If you want to display readings from other sensors, the example program above can easily be modified to do that. If you have any questions or trouble setting up these circuits, feel free to leave a comment below.
Krishna Pattabiraman is a frequent guest writer on Circuit Basics and the founder of www.codelectron.com.

# data[].attributes.attachment_link.title
How to Set up 7-Segment Displays on the Arduino

# data[].attributes.attachment_link.description
Seven segment displays are used in many day to day consumer devices like microwave ovens, washing machines, and air conditioners. They are a simple but effective way to display numerical data like time or quantity. Since they are made out of LEDs, they are a low cost option for displaying information.

# data[].attributes.attachment_link.provider_name
RobotUNO - Aprende sobre electrónica y Arduino

# data[].attributes.attachment_link.title
🤖Proyecto Brazo robótico con Arduino - RobotUNO

# data[].attributes.attachment_link.description
🦾 🦾Crea un brazo robótico de 3 Grados de Libertad con Arduino. Código, conexiones y video del proyecto.

# data[].attributes.headline
FIGURAS PARA RECORTAR Y CONSTRUIR 3D. VISTAS

# data[].attributes.subject
FIGURAS PARA RECORTAR Y CONSTRUIR 3D. VISTAS

# data[].attributes.attachment_link.title
Modelos de papel de figuras en 3D - Taller de Tecnología - Picuino

# data[].attributes.attachment_link.description
Recursos educativos libres para Tecnología en Educación Secundaria. Taller de Tecnología - Modelos de papel de figuras en 3D

# data[].attributes.attachment_link.title
How to Make Cardboard Metro Train at Home | DIY Toy train

# data[].attributes.headline
CONSTRUCCIÓN DE UN CUBO DE LEDS CON ARDUINO

# data[].attributes.subject
CONSTRUCCIÓN DE UN CUBO DE LEDS CON ARDUINO

# data[].attributes.attachment_link.provider_name
RobotUNO - Aprende sobre electrónica y Arduino

# data[].attributes.attachment_link.readable_text
Explicación paso a paso para realizar el cubo led con Arduino

Este proyecto consiste en un cubo formado por leds de colores. En total se van a utilizar un total de 27 leds, los cuales formarán una estructura cubica de 3 leds en cada lado.

Este es un proyecto muy escalable, es decir, se pueden hacer cubos de 4x4x4, 5x5x5 o incluso de hasta 25x25x25. Sin embargo, este tipo de cubos mas grandes requieren más practica a la hora de soldar y montar proyectos de electrónica, por lo que lo ideal es empezar a practicar con cubos de este tamaño. Esto nos ayudará a entender mejor su funcionamiento a la vez que nos ayuda a mejorar a la hora de soldar conexiones electrónicas o programar con Arduino. Además de todo esto, el cubo 3x3x3 tiene las siguientes ventajas:

Bajo consumo energético, por lo que no te tienes que preocupar por el consumo de corriente eléctrica que pueda dañar tu Arduino.

No se necesitas componentes electrónicos complejos.

Los colores de los LEDs para este proyecto no importan nada, así que siente libre de escoger los que más te gusten (o los que tengas por casa, como es mi caso).

También puedes combinar leds de diferentes colores para darle una apariencia más colorida.

Respecto a la corriente que va a pasar por cada pin de Arduino no debemos de preocuparnos, ya que aunque bien es cierto que los leds funciona con un amperaje máximo de 20mA, la realidad es que con 2mA-5mA es suficiente para iluminarlos. Teniendo en cuenta que cada pin de Arduino aguanta unos 20-30mA, por lo que no hay ningún problema.Los pasos a seguir para montar el este proyecto son los siguientes:

Paso 1: Comprobar el funcionamiento de cada led

Aunque este parezca un paso irrelevante, es uno de los más importantes, ya que no queremos que cuando este todo totalmente soldado, uno de los leds esté defectuoso y no funcione. Lo mas sencillo para comprobarlos es colocar el positivo en el pin de 5V de Arduino y el negativo en el GND de la placa de Arduino (con una resistencia de 220Ω entre la pata negativa y el GND de Arduino).

Paso 2: Preparar la plantilla para alinear los leds

Lo siguiente que debemos de hacer es preparar la plantilla que vamos a utilizar para soldar las capas de 9 leds. Para esto vamos a hacer 9 agujeros en un cartón o en una madera con una distancia de separación de 2 centímetros entre ellos, tal y como se ve en la siguiente imagen. El tamaño de los agujeros puede variar en función del tamaño de los leds que estéis utilizando, por lo general serán de 3mm o de 5mm de diámetro.

Paso 3: Colocar los leds sobre la plantilla y soldarlos

Una vez tenemos hecha la plantilla ya podemos empezar a colocar los leds sobre ella. En este paso es muy importante asegurarnos de cual es el pin positivo y el negativo de cada led. Para esto existe dos opciones: la primera es que el pin negativo corresponde con la pata más pequeña, por lo que de esta forma podemos diferenciarlas. En caso de que ambas patas sean iguales, tenemos que utilizar la segunda opción. Debemos fijarnos en una pequeña marca plana que tienen en la cabeza todos los leds, que corresponde con la pata negativa. En esta imagen puedes ver de forma grafica lo comentado anteriormente:

Con esto claro ya podemos empezar a colocar los leds. Para esto vamos a doblar la pata negativa formando un angulo de 90 grados con el led, mientras que la positiva la vamos a doblar en forma de L y la vamos a dejar en vertical, tal y como se observa en esta imagen:

Esto lo vamos a hacer con todos y cada uno de los leds que coloquemos sobre la plantilla. De esta forma tendremos que en cada una de las capas todas las patas negativas se estarán tocando, mientras que las positivas se quedarán hacia arriba. Esto debemos de hacerlo 3 veces (una por cada capa) pero OJO, debemos de tener en cuenta que las 3 capas deben de ser exactamente iguales, es decir, todos los leds deben de tener las patas positivas mirando hacia arriba en la misma posición, de esta forma se simplificará mucho el trabajo a la hora de soldar las capas entre si.

Paso 4: Soldar las 3 capas del cubo entre si

Con las 3 capas hechas, ya podemos empezar a soldarlas. Lo que vamos a hacer es soldar todos y cada uno de los pines en vertical, esto hará que todas las capas estén unidas mediante las patas negativas, mientras que las filas verticales estarán unidas con los pines positivos. De esta forma, mediante programación, podremos elegir que led se tiene que encender o apagar en cada momento.Una vez soldadas las 3 capas una sobre la otra, nos debe de quedar algo así:

Paso 5: Colocar el cubo led sobre la placa de prototipado

En este paso lo que vamos a hacer va a ser colocar el cubo led previamente soldado sobre una placa de prototipado, soldando por abajo los 9 pines que salen. Tal y como se observa en la siguiente imagen:

Paso 6: Añadir las resistencias, pines y soldar las capas

Una vez hecho esto, ya podemos colocar los pines que van a ser los que se conecten a la placa de Arduino Uno. Este paso no es obligatorio, pero si que va a facilitar mucho las cosas en el futuro. En total vamos a poner 9 pines para las filas positivas y 3 pines para las capas negativas.Además, también debemos de conectar 3 resistencias de 220 ohmios justo antes de los 3 pines que corresponderán a las capas negativas.Por otro lado, también vamos a sacar un cable de cada una de las capas negativas de nuestro cubo led y lo vamos a soldar por la parte inferior de la placa de prototipado.Debería de quedar algo parecido a lo que se observa en la siguiente imagen:

Paso 7: Soldas todas las conexiones de los led

En este paso lo que tenemos que hacer es soldar ya todas las conexiones por debajo de la placa. Para esto vamos a soldar los 9 pines de las filas positivas de nuestro cubo led con los 9 pines macho que hemos colocado sobre la placa de prototipado.También soldaremos los 3 pines correspondientes a las capas negativas con las resistencias de 220 ohmios que hemos colocado anteriormente. El otro extremo de las resistencias debe de soldarse a los pines macho colocados sobre la placa de prototipado. Así es como quedaría el proyecto terminado:

Paso 8: Conectar el cubo led con Arduino

Aquí lo que debemos hacer es conectar los 9 pines positivos de nuestro cubo led a los pines de Arduino que van del 3 al 10 (ambos incluidos y los 3 pines que corresponden a las capas negativas a los pines de Arduino que van del 11 al 13 (ambos incluidos). De esta forma ya tendríamos todas las conexiones realizadas entre nuestro cubo led y la placa de Arduino Uno.

Paso 9: Cargar el código de programación en nuestro Arduino

Este ya es el ultimo paso para completar nuestro proyecto. Lo único que tenemos que hacer es conectar la placa de Arduino con nuestro ordenador atreves de un puerto USB. Una vez hecho esto es muy importante seleccionar en la parte superior de Arduino IDE ( enlace de descarga aquí) el puerto USB al que hemos coleado la placa y la placa que estamos utilizando, en nuestro caso "Arduino Uno".Lo ultimo será subir el código que te dejo en la parte inferior de esta pagina web a la placa de Arduino y BUALÁ, si todo va bien, el cubo led debería de empezar a funcionar.

Video con explicación paso a paso para realizar el proyecto

Si eres de los que entienden mejor las cosas cuando las ven en un vídeo, pues aquí lo tienes. La explicación completa de este proyecto en formato de vídeo, para que puedas ir viendo todos los pasos seguidos de una forma mucho más rápida y sencilla.Si tienes cualquier duda o no te queda claro alguno de los pasos seguidos, puedes poner un comentario en el canal de YouTube (o en esta pagina web) para que te ayude.

Esquema de conexiones Arduino para cubo led 3x3x3

Para evitar posibles errores al realizar las conexiones de este proyecto, aquí tienes el esquema de conexiones para un cubo led 3x3x3.

Los cables de color rojo indican las conexiones de las filas positivas del cubo led. Por otro lado, los cables negros indican las conexiones a las 3 capas negativas que tiene nuestro cubo led. Las resistencias que se ven en el esquema son de 220 ohmios y la placa de Arduino utilizada es la "Arduino UNO", como se ha comentado anteriormente.

Código en Arduino para la programación del proyecto

Aquí tienes el código de programación de este proyecto. Más abajo tienes una explicación mas detallada sobre su funcionamiento y las distintas partes en las que esta dividido.Recuerda que este código esta diseñado para que funcione con la configuración de pines arriba mostrada, si deseas utilizar otros pines tendrás que cambiar algunas partes del código.Por ultimo, para que el código funcione correctamente, debes de seleccionar la placa "Arduino UNO" en la aplicación Arduino IDE ( aquí tienes un enlace para descargártela totalmente de forma gratuita si todavía no la tienes) y una vez que la placa de Arduino este conectada al ordenador, seleccionar en la parte superior el puerto COM al que se ha conectado.

//Canal YouTube -> RobotUNO //Proyecto: Cubo led 3x3x3
void setup() {
    pinMode(2,OUTPUT); //Pines positivos
    pinMode(3,OUTPUT);
    pinMode(4,OUTPUT);
    pinMode(5,OUTPUT);
    pinMode(6,OUTPUT);
    pinMode(7,OUTPUT);
    pinMode(8,OUTPUT);
    pinMode(9,OUTPUT);
    pinMode(10,OUTPUT);
    pinMode(11,OUTPUT); //Pines negativos
    pinMode(12,OUTPUT);
    pinMode(13,OUTPUT);
}

void loop() {
//MODO 1: PARPADEO DE LEDS
    digitalWrite(2,HIGH);
    digitalWrite(3,HIGH);
    digitalWrite(4,HIGH);
    digitalWrite(5,HIGH);
    digitalWrite(6,HIGH);
    digitalWrite(7,HIGH);
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);

    for(int i=0;i<10;i++){
        if(i%2==0){ //Enciendo todos los leds
            digitalWrite(11,LOW);
            digitalWrite(12,LOW);
            digitalWrite(13,LOW);
        }
        else{ //Apago todos los leds
            digitalWrite(11,HIGH);
            digitalWrite(12,HIGH);
            digitalWrite(13,HIGH);
       }
    delay(100);
    }
//MODO 2: SE ENCIENDEN UNA POR UNA LAS FILAS
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
    digitalWrite(5,LOW);
    digitalWrite(6,LOW);
    digitalWrite(7,LOW);
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    digitalWrite(13,LOW);
    for(int j=0;j<=1;j++){
        for(int i=2;i<=10;i++){
            digitalWrite(i,HIGH);
            delay(100);
            digitalWrite(i,LOW);
            delay(100);
        }
    }
//MODO 3: SE ENCIENDEN UNA POR UNA LAS CAPAS
    digitalWrite(2,HIGH);
    digitalWrite(3,HIGH);
    digitalWrite(4,HIGH);
    digitalWrite(5,HIGH);
    digitalWrite(6,HIGH);
    digitalWrite(7,HIGH);
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(11,HIGH);
    digitalWrite(12,HIGH);
    digitalWrite(13,HIGH);
    for(int j=0;j<=4;j++){
        for(int i=11;i<=13;i++){
            digitalWrite(i,LOW);
            delay(100);
            digitalWrite(i,HIGH);
        delay(100);
        }
    }
}

Programar un cubo led de este estilo con Arduino es muy sencillo. Simplemente debemos de entender que para que se encienda un led tenemos que hacer dos cosas: que el polo positivo este en positivo y que el polo negativo del led este en negativo. Con esto claro ya podemos empezar a programarlo.Para poner un pin de Arduino en positivo o negativo podemos usar los siguientes comandos:

Para poner un pin en positivo -> digitalWrite(nºpin,HIGH);

Para pone un pin en negativo -> digitalWrite(nºpin,LOW);

Con esto ya podemos encender y apagar el led que queramos de nuestro cubo, ya que podemos poner cualquier fila en positivo y cualquier capa en negativo, lo que nos dará como resultado que se encienda el led que coincida en esa posición.

Déjame un comentario si te ha gustado!👍

# data[].attributes.attachment_link.title
🤖Proyecto cubo led 3x3x3 controlado con Arduino - RobotUNO

# data[].attributes.attachment_link.description
En este proyecto veremos como podemos un cubo led 3x3x3 con Arduino. Además de ver como programar diferentes patrones.

# data[].attributes.attachment_link.title
How to Make Marble Lift Mechanisms - Cardboard Toy

# data[].attributes.headline
PROYECTO MECANISMOS: BAILARINA CON ENGRANJES

# data[].attributes.subject
PROYECTO MECANISMOS: BAILARINA CON ENGRANJES

# data[].attributes.attachment_link.title
Crea FÁCIL un LETRERO LUMINOSO con Onshape.

# data[].attributes.attachment_link.readable_text
Introduction: Circular Maze Generator (basic)

Most of us at some time or the other will have played with ball maze puzzles.

Those small puzzles with the transparent top, encased maze and a ball bearing.

Well this is a generator of said puzzle that uses Tinkercad Codeblocks to generate random mazes.

The generated mazes will be of the circular type complete with barriers and gaps to suit a 3mm ball bearing.

Size: 90 mm (dia) x 6 mm (H).

Supplies

3D printer filament (In this case Green PLA), although colour and material type are subject to user preference.

Clear Acrylic Disk 90 (dia) x 2(H) mm

Self Tapping screws M2 x 6 mm

Ball bearing 3mm diameter.

May prove more cost effective to buy a range of items rather than individually, unless you already have them available. Some parts may also have a MOL greater than the quantity specified in the supplies list.

No affiliation to any of the suppliers, feel free to obtain the items from your preferred supplier if applicatble.

Links valid at the time of publication.
Tools
3D Printer

Cura or other similar slicing software.

Drill

2mm drill bit

Scalpel

Needle files

Sandpaper

Screwdriver

Clear tape

Know your tools and follow the recommended operational procedures and be sure to wear the appropriate PPE.

Step 1: Design Considerations

1: Channels to suit a bearing neither too large or small as this affects channel width and overall size. Chose 3mm ball.

2: Overall size to enable it to be manipulated with two hands without obscuring the maze and not too large to enable manipulation with one hand. Settled on 90mm diameter as this accomodates existing acrylic discs negating cutting.

Step 2: Code

The code is created using TinkerCAD CodeBlocks.

Its broken down into the four main blocks to illustrate the actual process.

A series of 9 circles of increasing radius are generated centred around the same reference point (X0,y0).

The walls of the circles are 1mm thick with a step increment of 5mm creating a 4mm channel width.
Gaps
First: If the current circle is less than the ninth circle in the series randomly[1] create a gap.

[1] Randomly generate an integer number from 0 to 360 degrees.

Secondly: If the current circle is greater than the first and less than the ninth randomly[2] create another gap.

[2] Randomly generate a non integer number from (0 to 1130)/3.142 creating numbers from 0 to 359.6435

Even if the same seed is used to generate the random numbers the gaps will be in different positions, this greatly minimises the likelyhood of dead ends.

E.g. If the first random number is 360, (gap=360) and the second is 360, (gap_alt=(360/3.142)=114.5767), creating gaps in two different locations, increasing the possibility of exits.
Barriers
A similar methodology is applied to the Gaps as is applied to the Barriers but only one barrier per iteration, which on the whole creates fewer random[3] barriers than gaps, minimising the likelyhood of unsolvable puzzles.

[3] If the current circle is greater than the first and less than the eighth randomly[1] create a barrier.
Screw Holes
Place a hollow cylinder at 90 degree intervals around the outer edge of the eighth circle.
Base
Create a flat base that ties all the circular channels, gaps and barriers to a solid object.

The basic generator does not check for a solution although it's designed to maximise the probability of a solvable puzzle. Therefore, verify the mazes can be solved prior to use.

Each time you run the code a different maze will be generated.

The CodeBlocks can be executed and the resulting file(s), can be found here: Maze_Generator(basic)

Step 3: Printing

Print Details:
Layer height: 0.15 mm

Infill Density: 100%

Base Adhesion: Skirt

No supports

Size: 90(W) x 90(D) x 6(H) mm

Print Time: ~3Hrs

Weight: ~23g

An example STL file for a solvable maze is included see (round_maze.stl), below.

Step 4: Post Processing

Check for aberrations in the channels and clear with fine sandpaper, scalpel or needle files as is appropriate to ensure that the ball bearing runs smoothly.

Step 5: Cover

The puzzle is designed to accept a circular transparent cover with 4 fixing points at the cardinal points for M2 screws. This will ensure that the ball bearing is not easily lost.

Align the transparent cover with the puzzle and hold it in place with clear tape overlapping the location of the holes.

Mark the location of the holes with a fine tip marker.

Carefully drill out the holes using a 2mm drill bit.

Remove the tape and any swarf from the holes and channels.

Before fitting the cover be sure to place the ball bearing into the maze.

Using 4 x M2 x 6mm self tapping screws secure the cover in place.

Step 6: Finally

Happy puzzling and that's all for now, until the next time.

# data[].attributes.attachment_link.description
Circular Maze Generator (basic): Most of us at some time or the other will have played with ball maze puzzles. Those small puzzles with the transparent top, encased maze and a ball bearing. Well this is a generator of said puzzle that uses Tinkercad Codeblocks to generate random ma...

# data[].attributes.attachment_link.description
Es una competición por equipos dirigida a estudiantes de 4º ESO y 1º de bachillerato entre institutos vinculados al medio rural. Si crees que a través de la digitalización, la programación, la electrónica y las comunicaciones puedes solucionar problemas reales de tu entorno, esta es tu competición.

# data[].attributes.attachment_link.readable_text
Start with paper.
Featured Tutorials

Tweets by PaperMech

PaperMech is based on a collaboration across Concord Consortium & Georgia Tech & CU Boulder.

This material is based upon work supported by the National Science Foundation under Grant No. IIS-1735836. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

# data[].attributes.attachment_link.description
Start with paper. Tweets by PaperMech PaperMech is based on a collaboration across Concord Consortium & Georgia Tech & CU Boulder. This material is based upon work supported by the National Science Foundation under Grant No. IIS-1735836.

# data[].attributes.attachment_link.title
arduino_3d_oled_menu__upir - Wokwi ESP32, STM32, Arduino Simulator

# data[].attributes.attachment_link.description
Run IoT and embedded projects in your browser: ESP32, STM32, Arduino, Pi Pico, and more. No installation required!

# data[].attributes.attachment_link.readable_text
Introduction: Smart Home With Arduino

Hello.

I will show you how to build your own smart home. It shows the temperature both inside and outside, if the window is open or closed, shows when it rains and make alarm when the PIR sensor senses move. I made the application on the android to display all the data (you can also watch it on browser). You can see temperature in your home and other information from all over the world! Application is translated to english and polish. I built it because I wanted to make my own smart home and control it. If you want, you can make your own smart home, all you need is parts (listed below) and a lot of desire. So let's get started.
Explanation of acronyms for beginner:
GND - ground

VCC - power

PIR - move sensor

Step 1: Parts

All the parts cost me $90

Step 2: Connection

Above I added picture from fritzing with connection. If you have a problem with it leave a comment.

Step 3: Program

First you need to do is download, extract and import this library to arduino IDE. And download 1Wire library from here, Dallas temperature from here and import them to arduino IDE too. You can upload this program to your arduino. In the comment is an explanation of the code.

Step 4: How It Works?

When you click refresh in your app or in browser Arduino sends data to smartphone/browser. Application gets source code from each page ( /tempin, /tempout, /rain, /window, /alarm) and displays it on your phone.

Step 5: Appliaction for Android.

To instal app on your android phone you need to make this (you can see it on the picture above):

1. the firs first step is download smartHome.apk file

2.Send apk file to your phone

3.Open file manager and locate smarthHome.apk file

4.Click on it and click install (if you have enabled the option to install applications outside the google play you need to turn it on)

5.You have finished the installation, you can enable the application

Application is translated to english and polish. In browser you can turn on and off light but in app not because I can't do that, sorry.

Step 6: Application Configuration

I'll explain how the application works. It's shows all data from your home. You can click on settings icon to edit your IP address and turn on or off alarm. When you turn on alarm, app get data from PIR sensor in service and if it's detected move in your home it's make a notification. App retrieves the data from the motion sensor every minute. In IP field you must enter your IP address. You can check it here.

Step 7: Browser

Type in your browser your ip / all. There you can see all the data and turn on and off light.

You can use this instead of the application on android.

Step 8: Port Forwarding

You need to open port on your router. Open your router configuration and set arduino ip and open port 80. You can see it on image above.

Step 9: NO IP (optional)

You can set up an account at no ip but this is not necessary. In the picture above you can see how to configure it.

Step 10: Test It!

If you want to see the data on your computer you can do this by typing into your browser yourip / all (e.g. 12.345.678.901/all) or use android application.

Remember to leave a comment and click favourite if you like my project :)

Step 11: EDIT: Android App Source Code

Because many people asked me about android source code I add it below.

# data[].attributes.attachment_link.description
Smart Home With Arduino: Hello. I will show you how to build your own smart home. It shows the temperature both inside and outside, if the window is open or closed, shows when it rains and make alarm when the PIR sensor senses move. I made the application on the android to...

# data[].attributes.attachment_link.readable_text
Introduction: Arduino CNC Thermocol Cutter

In this project, I'd like to share how to build a 2-axis thermocol/ polystyrene cutting CNC machine with its frame and supports made of electrical wire casing/duct and 3D printed parts. Basically it is a thermocol cutting tool which can be used to cut different shapes from the thermocol sheet. It can be used as a craft making tool. The idea of using electrical wire casing / duct as linear rails makes the whole machine affordable and of less weight. With this cutter you can easily cut Thermocol / polystyrene, styrofoam or any other similar material.

This machine is made up of easily available parts like 28byj-48 Stepper motors, Arduino nano, old radio antenna rods, string / thread and 3d printed parts. Hope you like this Idea.

Supplies

1pcs x Arduino Nano

1pcs x PWM Motor speed controller

2pcs x ULN2003 Stepper Motor Driver IC

2pcs x 28byj-48 Stepper motors

2pcs x Header pins and IC seat

1pcs x PCB Sheet (6 cm X 6cm)

1pcs x Aluminium composite panel sheet (34 cm X 13.5 cm)

2pcs x String / Thread

2pcs x Electrical wire Casing/duct

2pcs x Springs

2pcs x Old radio antenna.

2pcs x Power Supply 5VDC and 9VDC.

1pcs x Nichrome wire (Length = 6 cm)

2pcs x Female DC Power jack

2pcs x Old gas cylinder washers

2pcs x steel rods (outer dia =1.5 mm and length = 15 mm)

Thermocol / Polystyrene / Foam sheet

3D printed parts

Wires

Some Screws

Super Glue

Double sided foam tape
Tools used
3D printer

Mini drill machine

Mini Hand Saw

Screw driver set

Soldering iron

Vernier Caliper Digital

Measuring tape/ scale

Step 1: X-axis and Y-axis

The dimensions of casing to be used as linear rail and a Aluminium composite panel sheet (34cm X 13.5cm) used as a Base .

All Other parts like slider for both X and Y axis are made up electrical wire casing.

Total casing/duct parts required:

Linear rail dimensions:

For X-axis = 34.0 cm

For Y-axis = 30.5 cm

For X-axis Slider = 5.0 cm

For Y-axis Slider = 6.0 cm

Old Radio Antenna Rods length = 25 cm each

Outer Diameter of two antenna rods = 6 cm and 7 cm

The Thermocol Cutting Cnc general part includes two 28BYJ-48 stepper motors controlled by Arduino Nano with the help of two ULN2003 stepper motor drivers. The X-axis and the Y-axis of the plotter are made up of electrical wire casing/duct. The making of linear rail from casing/duct came from the idea that the upper part of the casing with small length slides smoothly on the other part of the casing.

X axis move linearly forward and backward relative supported at the ends with the 3D printed stands and Y axis move linearly up and down which carries nichrome wire holding rods.

Step 2: Preparation of All Parts

Take a aluminium composite panel sheet and cut a piece of size 34cm x 13.5 cm

Drill required holes on the sheet to hold 3D printed stands. These two 3D printed stands supports X-axis.

X-axis consists of an electric duct casing attached with a stepper motor. For the pulley of the stepper motor I have used an old gas cylinder washer attached to a 3D printed pulley. This washer helps in gripping the string.

Make necessary holes on the electric duct casing to hold stepper motor on one side and idler pulley on other side with a mini drill machine.

Also cut a small part of upper duct casing to hold idler pulley as per the dimensions shown in images.

The slider for X-axis made from cutting a 5cm piece of upper part of duct casing.

Similar steps to be followed to built Y-axis but the length for the slider for Y-axis is 6 cm.

The slider of X-axis is attached with the Y-axis casing perpendicularly with the help of super glue.

Attach the pulleys on each stepper motor and tied up the string/thread between the motor pulley and the idler pulley of both axis. Use springs to hold the string/ thread in proper tension.

Step 3: Nichrome Wire Holder

Nichrome wire holder consists of two antenna rods one inside the other. I got these hollow rods from my old radio set. The outer diameter of these two rods are 6 cm and 7 cm.I designed 3D printed holders to hold these rods apart at a distance of 5cm.

Two 3D printed parts are also designed to hold these rods with the slider of the Y-axis as shown in the images.

One hole is drilled on each rod 1cm far from one end of the rod to take out wires from these holes. A screw is attached at one end of each rod to hold the wires from power supply and Nichrome wire.

The temperature of the Nichrome wire controlled with a PWM motor speed controller powered with 9v DC supply. Adjust the knob of PWM Controller to change the current input to the Nichrome wire.

Assemble all parts together with the help of screws.

NOTE:- This project uses high current and hot wires, so take care of yourself while handling this machine. Also, beware of toxic fumes, and work in a well ventilated area.

Nichrome wire has special properties due to which it provides very high resistance and act as resistive load when connected to the power supply. BE AWARE OF IT.

Step 4: Assemble All Parts

With the help of screws all final parts are assembled together to form basic structure of the machine. The 28byj-48 Stepper Motors with pulley belt mechanism is used for both x-axis and y-axis.

Attach the X-axis stands on the base plate made up of aluminium composite sheet with the help of screws. Hold the X-axis casing inside the cavity provided in the 3D printed stands.

Attach the pulleys on each stepper motor and tied up the string/thread between the motor pulley and the idler pulley of both axis.

Connect the Y-axis to the X-axis by pressing the slider of X-axis on its casing.

Connect Y-axis slider which holds the Antenna rods with Nichrome wire.

Step 5: Schematics and Circuit Diagram

The Connection should be made as per the circuit diagram. The motors (28byj-48) are connected to a controller card (Arduino NaNO) that uses the chip ULN2003.

This board is connected to pins A0, A1, A2, A3 for the Y-Axis ( IN4->IN1)

2,3,4,5 Digital pins to the X-Axis ( IN4->IN1).

To overcome the complexity of the circuit connections I have made a custom PCB with header pins, IC seat, some wires, DC power jack and soldering iron. You can make your own PCB or you can order online.

I have powered this Arduino Nano PCB with 5V DC power supply. You have to use two different power supplies 9V DC for PWM controller and 5V DC for Arduino Nano PCB.

Step 6: Software Used

Step 7: Generate GCODE

We are using INKSCAPE software to make G-code. To generate Gcode, we have to download 4xidraw Inkscape Extension. You can Download 4xidraw Inkscape Extension from this link:-
https://github.com/bullestock/4xidraw
After downloading extract the files and add these files as:

Inkscape directory > Share > Extension folder

Now open inkscape set page size 150mm x 150mm

Drag and drop the particular image in the inkscape

Select image go to Trace Bitmap then convert to path

Then go to extension tab > Click on 4xiDraw tools > Generate pen (Servo) Gcode Tool...

Step 8: GRBL Firmware and Calibration

Download and install GRBL firmware for Arduino Nano:
https://github.com/ruizivo/GRBL-28byj-48-Servo
This GRBL uses an ugly hack to control two motors unipolar stepper motors as 28byj-48 and also supports a servo motor on pin 11.
GRBL Settings:
X -axis travel resolution ($100) and Y-axis travel resolution ($101) : It is calculated on the stepper motor's step angle - steps per revolution

To calibrate X-axis and Y-axis we need to know current values of $100 and $101 which denotes steps per mm for each axis.

To get these values we need to open UGS and connect it with Arduino nano. After successful connection enter $$ in commands tab. Note down the current values of $100 and $101.

For Ex:-

Current $100 value = 100

Current $101 value = 150

Enter 10mm to commands to run X-axis and note own the distance travelled by X-axis. In my case

Desired Length = 10mm

Actual Length = 8mm

To Calibrate X-axis use this formula to get the new value of $100 value
New $100 value = (Desired Length / Actual Length )* Current $100 value
(10 / 8 ) * 100 = 125 = New $100 value

Use similar procedure to calibrate Y-axis

Enter 10mm to commands to run Y-axis and note own the distance travelled by Y-axis. In my case

Desired Length = 10mm

Actual Length = 8mm

To Calibrate Y-axis use this formula to get the new value of $101 value
New $101 value = (Desired Length / Actual Length )* Current $101 value
(10 / 8 ) * 150 = 187.5 = New $101 value

Enter these value in command tab:-
$100 = 125 $101 = 187.5

Step 9: Working

Connect USB Cable to Arduino Nano port, 5V DC power to the power port and 9V DC power to the PWM motor speed controller.

I have used a PVC plastic sheet having 5 nails on it to support thermocol sheet vertically.

Cut a 15cm X 15 cm thermocol / polystyrene sheet and place this sheet on the nails provided on a PVC sheet.

Paste this PVC sheet on the base plate with the help of double-sided tape.

Open UGS, select Port and set Baud to 115200, click on Connect tab.

Set the original coordinates by button Reset Zero. It should be located in the lower left corner.

Click Open > Browse to the G-code file " PLUS.gcode".

Click Send button and Arduino CNC Cutter will start cutting the thermocol / polystyrene sheet.

Some Gcode files attached below:

Step 10: STL Files

Step 11: Final Words

I made this project from old scrap materials such as old radio Antenna, electric wire duct/casing, old gas cylinder washer and some 3D printed parts.

If you have any query regarding this tutorial, feel free to ask in comments section.

Hope you enjoyed this session of Instructables. Thanks for reading my work. I feel glad if you make your own Arduino CNC Cutter with the help of this tutorial.

Stay tuned to my Instructables channel for more upcoming exciting projects.

Thanks again.

# data[].attributes.attachment_link.description
Arduino CNC Thermocol Cutter: In this project, I'd like to share how to build a 2-axis thermocol/ polystyrene cutting CNC machine with its frame and supports made of electrical wire casing/duct and 3D printed parts. Basically it is a thermocol cutting tool which can be used to c...

# data[].attributes.attachment_link.readable_text
Recopilamos últimas tendencias en soluciones basadas en inteligencia artificial para los campos de la docencia, productividad, empleo y educación según fuentes especializadas.

La inteligencia artificial generativa es una realidad cada vez más presente en los diferentes ámbitos de nuestra vida. Saber cómo utilizarla es fundamental para aprovechar y beneficiarse de su potencial

La sexta edición de enlightED, la conferencia mundial de educación, tecnología e innovación pondrá foco en los retos y soluciones que plantea la IA generativa, el uso y sus aplicaciones en los docentes y estudiantes, el respeto a la diversidad y la regulación y límites éticos, entre otras cuestiones.

Si te interesa, puedes reservar ya tu entrada o seguir el evento en streaming. Si quieres experimentar por ti mismo algunas de las aplicaciones de la inteligencia artificial en tu día a día, en este artículo recopilamos cuatro propuestas que fuentes como Forbes, Fundación Adecco, Educación 3.0 o Xakata recomiendan en los campos de la docencia, productividad, empleo y educación.

Herramientas IA para docentes

1. Cathoven: Especialmente pensada para las personas que se dedican a la enseñanza de idiomas, emplea inteligencia artificial para determinar la dificultad de textos y muestra los puntos de enseñanza más importantes en función del nivel de los alumnos.

2. SchoolAI: El objetivo de esta herramienta es ayudar a los profesores a ganar tiempo, optimizando tareas aburridas como la gestión de su correo electrónico, la planificación de contenidos o la creación de test e informes.

3. SlidesAI: Una tool que permite crear presentaciones de forma automática, funciona como un asistente para crear PowerPoints rápidamente.

4. ExplainPaper: Esta aplicación emplea inteligencia artificial para facilitar la comprensión de papers de cualquier materia. Analiza los textos para ofrecer un resumen en un lenguaje más sencillo.

Herramientas IA para mejorar la productividad

1. Copy.AI: Una herramienta basada den ChatGPT que te ayudará a crear todo tipo de textos. Sirve para generar contenido para blogs, descripciones de productos o copies para redes sociales.

2. DraftLab: Asistente para Gmail basado en inteligencia artificial que te ayudará a mejorar la redacción de tus correos electrónicos y proporcionará predicciones de texto basado en lo que hayas escrito tú y la otra persona para ayudarte a ahorrar tiempo.

3. ChatGPT: Una de las soluciones basadas en IA más conocidas del mundo. Basada en la inteligencia artificial conversacional, te permite mantener conversaciones en las que puedes pedirle realizar todo tipo de tareas, desde proporcionar información a realizar resúmenes, redactar y traducir textos y mucho más.

4. Debuild: Esta herramienta permite crear páginas webs o apps en segundos, sin necesidad de tener conocimientos de programación. Tan solo deberás elegir qué necesitas y describir su funcionamiento.

Herramientas IA para mejorar el empleo

1. Kickresume: Una aplicación basada en IA que te ayuda a crear currículums y cartas de presentación profesionales a través de diferentes plantillas.

2. Adzuna - Prepper: Una herramienta especialmente diseñada para ayudarte a preparar entrevistas empleando una IA para generar preguntas y hacer comentarios sobre tus respuestas.

3. Fireflies: Esta aplicación emplea inteligencia artificial para transcribir, hacer resúmenes y analizar tus conversaciones de audio, integrándose con las principales herramientas de llamadas online.

4. ClickUp: Software basado en inteligencia artificial que permite optimizar la gestión de tareas en cualquier empresa. Cuenta con soluciones para gestionar procesos, mejorar la colaboración y optimizar recursos.

Herramientas IA para el sector de la educación

1. Askbotta: Un profesor virtual al que puedes recurrir para solucionar tus dudas sobre diferentes temáticas. Funciona como un chatbot, tan solo tienes que seleccionar un tema y hacer tu pregunta para que el asistente comience a ayudarte.

2. Lorro: Esta herramienta emplea inteligencia artificial para ayudarte a mejorar tu pronunciación en inglés. Además de escucharte, te ofrece las correcciones necesarias para que puedas seguir mejorando.

3. Scispace: Sistema basado en IA que te ayudará a buscar papers científicos por autor, título o temática y a destacar y analizar la información que contienen de una forma comprensible.

4. SpeaK: Una aplicación que te ayudará a aprender idiomas, como el español, inglés, francés, alemán, italiano, japonés o chino.

¿Quieres repensar la educación en la era de la IA? Reserva ya tu cita el 18 y 19 de octubre con enlightED 2023.

Disfruta de un programa gratuito con más de 30 debates, workshops y casos prácticos y 50 ponentes, que nos adentrarán en esta nueva tecnología que ha irrumpido con fuerza este año, ha revolucionado el mundo y ha marcado un antes y un después en todos los sectores, entre ellos, la transformación del mercado laboral, la industria y la empresa, la comunicación y, sobre todo, en la educación.
INSCRIPCIONES, STREAMING Y CONSULTA LA PROGRAMACIÓN

# data[].attributes.attachment_link.title
Guía de herramientas IA: Sácale el mejor partido a la inteligencia artificial en tu sector

# data[].attributes.attachment_link.description
Recopilamos últimas tendencias en soluciones basadas en inteligencia artificial para los campos de la docencia, productividad, empleo y educación según fuentes especializadas.

# data[].attributes.attachment_link.title
片山 均＠八幡浜の三瀬医院

# data[].attributes.attachment_link.description
愛媛県八幡浜市にある三瀬医院で院長をしている片山均です． 100均の毛玉取り，竹のおはし，ストロー，タイルマット，輪ゴムなどを使って、多脚歩行ロボットや変な装置を作っています．最近，ロボットの動力源にプチ電車が使えることを発見しました．作品の紹介だけでなく，時々作り方の動画もアップします．どうぞよろしくお願いします。

# data[].attributes.attachment_link.readable_text
En este artículo aprenderás a utilizar un Display o mejor conocido como LCD con tu placa Arduino. Con esta pantalla podrás mostrar texto directamente en ella sin la necesidad de tener una computadora. Te será muy útil cuando quieras darle una mejor presentación a tus proyectos, ya que será un excelente medio de interacción con el usuario.

Materiales que necesitarás

Para los ejemplos que se implementarán en este artículo, se utilizarán los siguientes materiales:

Arduino UNO

Pantalla LCD de 16×2

Resistencia de 220 Ω

Resistencia de 4.7 KΩ

Potenciómetro de 10 KΩ

Sensor DS18B20

Cables para conexiones

¿Qué es un LCD?

Un LCD (siglas del inglés Liquid-Crystal Display) es una pantalla alfanumérica de cristal líquido. Esta pequeña pantalla está conformada por muchos píxeles, con los cuales al combinar cuales se encienden y cuales no, se pueden formar letras, números, símbolos, y prácticamente lo que tú quieras. Al estar compuesta por pequeños píxeles, la cantidad de energía necesaria para hacerla funcionar será muy pequeña, por lo que es bastante útil cuando en tu proyecto utilizas baterías, aunque más adelante hablaremos sobre esto.

Los LCD se clasifican por su tamaño, y se mide en número de columnas por número de líneas. En nuestro caso utilizaremos el LCD1602 que es un LCD de 16 caracteres por 2 líneas, quiere decir que al mismo tiempo podremos mostrar 16 caracteres en la línea superior y 16 caracteres en la línea inferior.

Además del tamaño del espacio para desplegar la información, los LCD pueden variar en el color de la pantalla (que por lo regular son monocromáticos), pero la mayoría de ellos incluyen una luz de fondo o de contraste ( Backlight) con la cual podremos mejorar la visibilidad de la información sobre todo en ambientes de baja iluminación. Por otro lado, el LCD incluye una manera de ajustar el contraste, con lo que la intensidad del texto desplegado se puede aumentar o disminuir.

Para poder controlar el flujo de la información hacia el LCD, todos tienen incluido un pequeño circuito integrado llamado controlador, el más común es el Hitachi HD44780. La comunicación realmente se hará a través de él; sin embargo, como en otros casos, utilizaremos una biblioteca para facilitar el manejo del controlador, no te preocupes.

Pines del LCD 16×2

Para poder controlar el LCD, se cuenta con distintos pines de conexión los cuales se muestran en la siguiente imagen.

La descripción de los pines es la siguiente:

VSS.- Terminal de tierra.

VDD.- Terminal de alimentación, típicamente es de 5 V, pero existen versiones de LCD para 3.3 V, siempre revisa cuál tienes.

Contraste (V0).- Terminal para ajustar el contraste, aquí conectaremos un potenciómetro para indicarle la cantidad de contraste, si no conectas este pin no podrás ver nada en tu LCD.

RS.- Terminal de control del LCD y sirve para seleccionar entre el modo de datos (HIGH) o instrucción (LOW). Un ejemplo de instrucción es limpiar o borrar la pantalla.

R/W.- Terminal para seleccionar el modo de lectura (HIGH) o escritura (LOW).

Enable.- Terminal para habilitar el LCD, y con esta le indicamos al controlador que la pantalla se active.

D0-D7.- Terminales para el envío de los datos. El LCD funciona con 8 bits de datos; sin embargo, podemos utilizar el LCD en el modo de 4 bits, por lo que solo utilizaremos los últimos cuatro (DB4-DB7).

BLA.- Terminal de ánodo (+) del LED utilizado como backlight. Se conecta directamente a 5 V para tener siempre encendida la luz de fondo. Recuerda que es un LED por lo tanto tiene que llevar su resistencia de unos 220Ω.

BLK.- Terminal de cátodo (-) del LED utilizado como backlight. Se conecta a la terminal de 0 V (GND).

Conexión del LCD con Arduino

Para conectar y controlar el LCD con la placa Arduino utilizaremos la conexión de 4 bits, utilizando los pines de datos D4 a D7 y los pines de control RS, R/W y Enable; todos ellos conectados a pines digitales de la placa Arduino. Como siempre utilizaremos el pin R/W como escritura, podemos ahorrarnos un pin conectando R/W directo a GND.

El diagrama de conexiones a utilizar en los ejemplos de este artículo se muestra a continuación.

Como te mencioné anteriormente, utilizaremos una biblioteca ya incluida en el IDE Arduino llamada LiquidCrystal.h.

Librería LiquidCrystal.h

Esta librería te permitirá controlar los LCD que estén basados en el controlador Hitachi HD44780 o similares, y puede trabajar en el modo de 4 u 8 bits. Para utilizarla, es necesario incluir en tu código la librería con #include <LiquidCrystal.h>

Algunas de las funciones más utilizadas de la librería se describen a continuación.

Primeramente debemos de crear un objeto del tipo LiquidCrystal indicando además cuáles serán los pines a utilizar, con el siguiente formato:

LiquidCrystal lcd(RS,Enable,D4,D5,D6,D7); para el caso de utilizar el formato de 4 bits con el R/W directo a GND.

LiquidCrystal lcd(RS,R/W,Enable,D4,D5,D6,D7); para el caso de utilizar el formato de 4 bits con el R/W conectado al Arduino.

LiquidCrystal lcd(RS,Enable,D0,D1,D2,D3,D4,D5,D6,D7); para el caso de utilizar el formato de 8 bits con el R/W conectado a GND.

LiquidCrystal lcd(RS,R/W,Enable,D0,D1,D2,D3,D4,D5,D6,D7); para el caso de utilizar el formato de 8 bits con el R/W conectado al Arduino.

En todos los casos anteriores, lcd representa el nombre del objeto, aquí puedes nombrar a tu objeto que representa al LCD como tú gustes, recuerda que siempre te recomiendo utilizar un nombre adecuado, para que no se te olvide 😉.

Para inicializar la interface con el LCD, dentro de la función setup agregamos la función lcd.begin(columnas,filas); en nuestro caso columnas es igual a 16 y filas es igual a 2.

Para borrar cualquier cosa que se esté mostrando en el LCD, se utiliza la función lcd.clear();

Para mover el cursor entre las distintas posibles posiciones del LCD, se utiliza la función lcd.setCursor(columnas,filas); tomando en cuenta que las posiciones son las siguientes:

Para escribir algo a partir de la posición del cursor, se utiliza la función lcd.print(dato);, donde dato puede ser del tipo char, byte, int, long o string, normalmente escribimos directamente el texto como string entre comillas (" "), por ejemplo: lcd.print("Hola");

Para encender o apagar el cursor (esa rayita que aparece debajo como guion bajo parpadeando _ ), se utilizan las funciones lcd.cursor(); o lcd.noCursor(); y para hacer que deje de parpadear o vuelva a parpadear se utilizan lcd.noBlink(); o lcd.blink();

¿Quieres saber que otras funciones puedes utilizar con la librería? Déjame un comentario.

LCD 16×2 con Arduino: Ejemplo Básico

Para utilizar el LCD con nuestra placa Arduino el código es realmente corto, solo necesitamos realizar las conexiones mostradas anteriormente, y ejecutar el siguiente código:

#include <LiquidCrystal.h> LiquidCrystal lcd(7,6,5,4,3,2); // Crear el objeto lcd con R/W a GND void setup() { lcd.begin(16,2); // Inicializar el lcd 16x2 lcd.setCursor(0,0); // Mover el cursor a la posición 0,0 lcd.print("Automatizacion"); lcd.setCursor(0,1); // Mover el cursor a la posición 0,1 lcd.print("para Todos"); delay(5000); // Realizar una pausa de 5 segundos } void loop() { lcd.clear(); lcd.setCursor(0, 0); lcd.print("holaaaa..."); lcd.setCursor(0, 1); lcd.print("Mundo..."); delay(5000); }

Si observas bien, el manejo del LCD es bastante simple, para utilizarlo es necesario indicarle los pines físicos donde se conectarán las señales de control y datos. En la función setup inicializamos el LCD indicándole el tamaño en columnas y filas. Una vez hecho esto, para utilizar el LCD solamente es necesario indicar las coordenadas para posicionar el cursor e imprimir el texto deseado.

Si todo te ha salido bien y tus conexiones están correctas, verás algo como esto:

Ejemplo: marquesina con LCD

Ahora para darle un poco más de complejidad, realizarás un programa para poder imprimir un mensaje y hacer como si se moviera, como si se desplazara por toda la pantalla, igual te sirve para anunciar algo, o poner un lindo mensaje, que sé yo...

Para hacer que le texto se "desplace" por la pantalla, existen distintas maneras de resolverlo. La librería trae implementadas varias funciones que podrían ayudarte a realizar esta acción; sin embargo, yo te mostraré la que a mi parecer es la más versátil.

El código a utilizar se muestra a continuación y trataré de describirlo por partes.

#include <LiquidCrystal.h> LiquidCrystal lcd(7,6,5,4,3,2); String texto = "Suscribete "; void setup() { lcd.begin(16,2); // Inicializar el lcd 16x2 lcd.setCursor(0,0); // Mover el cursor a la posición 0,0 lcd.print("Automatizacion"); lcd.setCursor(0,1); // Mover el cursor a la posición 0,1 lcd.print("para Todos"); delay(5000); // Realizar una pausa de 5 segundos } void loop() { // Codigo para que el texto aparezca desde la izquierda hacia la derecha for(int i=0; i<=texto.length(); i++){ lcd.clear(); lcd.setCursor(0,0); lcd.print(texto.substring(texto.length()-i)); delay(300); } ////////////////////////////////////////// // Desplazar el texto a la derecha for(int i=0; i<=16-texto.length(); i++){ lcd.scrollDisplayRight(); delay(300); } // Desplazar el texto a la izquierda for(int i=16-texto.length(); i>=0; i--){ lcd.scrollDisplayLeft(); delay(300); } // Desplazar el texto a la derecha for(int i=0; i<=16-texto.length(); i++){ lcd.scrollDisplayRight(); delay(300); } // Desplazar el texto a la izquierda for(int i=16-texto.length(); i>=0; i--){ lcd.scrollDisplayLeft(); delay(300); } ////////////////////////////////////////// // Parpadear tres veces for(int i=0; i<3; i++){ lcd.clear(); delay(300); lcd.setCursor(0,0); lcd.print(texto); delay(300); } }

Se ha creado una variable del tipo String la cual representa una cadena de caracteres, o en otras palabras, es un tipo de variable para almacenar palabras. En este caso se inicializó como String texto = "Suscribete"; haciendo un poco a la alusión de que tenemos un canal de YouTube donde ponemos todos los videos que te encuentras en este blog, y tú sabes que si te suscribes serás el primero en enterarte cuando algo nuevo se publique, además de que me ayudas a que la comunidad crezca. Bueno después del breve comercial, con esta variable podremos trabajar y el contenido lo podrás sustituir de manera muy simple.

La parte del setup es la misma que en el ejemplo anterior, solamente inicializamos el LCD y escribimos un mensaje de bienvenida.

La primer parte del loop es para hacer que nuestro mensaje aparezca desde la izquierda y se despliegue hacia la derecha, iniciando desde la última letra del mensaje hasta la primera. El código es el siguiente:

// Codigo para que el texto aparezca desde la izquierda hacia la derecha for(int i=0; i<=texto.length(); i++){ lcd.clear(); lcd.setCursor(0,0); lcd.print(texto.substring(texto.length()-i)); delay(300); }

El ciclo for nos permite realizar un bucle repetitivo, que en este caso necesitamos que se repita tantas veces como caracteres contenga el texto; es por esto que, el ciclo for inicia en 0, aumenta en 1 cada vez que se ejecuta, mientras que el índice i es menor o igual al tamaño del mensaje. Para conocer el tamaño del texto, utilizamos una función implementada para todas las variables del tipo String llamada length() y esta nos regresa el tamaño de la variable; es decir, la cantidad de caracteres que la componen. El ciclo lo que estará haciendo cada vez es, primero limpiar la pantalla, luego colocar el cursor en la coordenada 0,0 que es la primera de la izquierda, después imprimimos la última letra del texto. Para hacer esto más automático, utilizamos otra función llamada substring(desde,hasta); la cual realiza una extracción del contenido de la variable desde una posición hasta la otra. En este caso le estamos diciendo que nos extraiga desde la última posición (igual al tamaño) menos la cantidad de i, recuerda que i va aumentando cada vez, con esto cada repetición del ciclo, irá extrayendo más letras iniciando desde la última hacia la primera. Como no le estamos indicando hasta que posición extraer, la función extraerá desde la indicada hasta el final. Por lo que se irá imprimiendo, en este ejemplo:

¿Creo que se entiende, no? Ahora haremos que el texto ya completo, se desplace hasta el extremo derecho. Para esto si utilizaremos una función de la librería llamada scrollDisplayRight(); como el nombre lo indica, realiza un desplazamiento hacia la derecha cada vez que se utiliza, tomando todo lo que tenga la pantalla y lo desplaza.

// Desplazar el texto a la derecha for(int i=0; i<=16-texto.length(); i++){ lcd.scrollDisplayRight(); delay(300); }

Esto lo metemos a otro ciclo for para que se realice la cantidad de veces que le faltan para llegar hasta el extremo derecho que ya sabemos que es la posición 16,0. Para esto el ciclo lo iniciamos desde 0 hasta 16-el tamaño del texto. Con esto se desplazará solamente las veces necesarias para que la última letra del mensaje se encuentre en la coordenada 16,0.

Ahora haremos el desplazamiento hacia la izquierda con la función scroll.DisplayLeft(); creo que esta no hace falta que explique para qué sirve. El código que realiza este movimiento es el siguiente.

// Desplazar el texto a la izquierda for(int i=16-texto.length(); i>=0; i--){ lcd.scrollDisplayLeft(); delay(300); }

Ahora el ciclo for lo iniciamos en 16- el tamaño del texto, mientras que i sea mayor o igual a 0, y con decrementos de uno en uno. Por lo que el mensaje ahora se desplazará hasta la coordenada 0,0.

Posteriormente, se repiten nuevamente los desplazamientos hacia la derecha y hacia la izquierda, para darle movimiento al texto 😁

Por último, estando el texto en la coordenada de origen (0,0), haremos el efecto de parpadear; es decir, aparecer y desaparecer el texto varias veces. El código es el siguiente.

// Parpadear tres veces for(int i=0; i<3; i++){ lcd.clear(); delay(300); lcd.setCursor(0,0); lcd.print(texto); delay(300); }

Bastante simple, primero limpiamos la pantalla, un retardo, posicionamos el cursor en la coordenada 0,0, imprimimos el mensaje completo, una pausa, y luego esto se repite las veces elegidas. En mi caso lo dejé tres veces, por eso el ciclo for solo se ejecuta mientras el índice i sea menor que 3; en otras palabras, va de 0 a 2, tres veces.

Si quieres ver como queda, te invito a ver el video colocado al inicio de este artículo

Ejemplo: Mostrar la temperatura de un sensor en el LCD con Arduino

Que te parece si ahora hacemos algo más interesante. Tomaremos la lectura de un sensor de temperatura DS18B20 y la mostraremos en el LCD. Por lo que partiremos del capítulo donde aprendiste a conectar el sensor de temperatura.

Para este ejemplo utilizaremos el siguiente diagrama de conexiones:

Conectaremos el pin de datos del sensor de temperatura al pin 9 de la placa Arduino mediante su resistencia pull-up de 4.7 KΩ. El código para mostrar la temperatura en el LCD es el siguiente:

#include <LiquidCrystal.h> #include <OneWire.h> #include <DallasTemperature.h> const int pinDatosDQ = 9; OneWire oneWireObjeto(pinDatosDQ); DallasTemperature sensorDS18B20(&oneWireObjeto); LiquidCrystal lcd(7,6,5,4,3,2); // Crear el objeto lcd con R/W a GND void setup() { sensorDS18B20.begin(); lcd.begin(16,2); // Inicializar el lcd 16x2 lcd.setCursor(0,0); // Mover el cursor a la posición 0,0 lcd.print("Automatizacion"); lcd.setCursor(0,1); // Mover el cursor a la posición 0,1 lcd.print("para Todos"); delay(5000); // Realizar una pausa de 5 segundos } void loop() { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temperatura:"); lcd.setCursor(12,0); sensorDS18B20.requestTemperatures(); lcd.print(sensorDS18B20.getTempCByIndex(0)); delay(5000); }

Configuramos todo lo relacionado al sensor con el pin 9. En la función loop simplemente tenemos que escribir el mensaje Temperatura y, una vez solicitadas las lecturas de la temperatura actual, imprimimos el contenido en la coordenada deseada, en este caso en la 12,0. Por último añadimos una pausa de unos cuantos segundos para realizar nuevamente todo el ciclo. No es necesario que revises la temperatura muchas veces cada minuto, pero para fines didácticos, yo agregué un retardo de 5 segundos.

Si todo salió bien, deberías ver algo como esto:

Personalizar símbolos

Hasta esta parte, has podido imprimir en la pantalla distintos caracteres, que normalmente serán números o letras; pero, ¿qué se puede hacer si quieres insertar algún símbolo especial?

El LCD incluye 8 espacios de memoria para que nosotros podamos diseñar nuestros símbolos a nuestro antojo. Estos tienen que ser del mismo tamaño; es decir, de 5×8 píxeles. Cada símbolo está compuesto por un arreglo de 8 bytes, uno por cada línea. Los 5 bits menos significativos de cada byte determinan los píxeles de esa fila, algo así:

Donde puedes observar del lado izquierdo la representación gráfica, y del lado derecho su valor equivalente. Esta matriz tenemos que insertarla en el programa. Para facilitarlos la vida, utilizaremos una herramienta desarrollada por maxpromer y alojada en GitHub para acceder a ella solo has click en este enlace. Después de dibujar el símbolo, solo tenemos que copiar el código generado del lado derecho, solo necesitas el array.

Para ponerte el ejemplo, te muestro el código para dos símbolos que me he inventado... nada del otro mundo.

#include <LiquidCrystal.h> LiquidCrystal lcd(7,6,5,4,3,2); // Crear el objeto lcd con R/W a GND byte feliz[] = { B00000, B01010, B01010, B01010, B00000, B10001, B01110, B00000 }; byte omega[] = { B00000, B01110, B10001, B10001, B10001, B01010, B11011, B00000 }; void setup() { lcd.begin(16,2); // Inicializar el lcd 16x2 lcd.createChar(0, feliz); lcd.createChar(1, omega); lcd.setCursor(0,0); // Mover el cursor a la posición 0,0 lcd.print("Automatizacion"); lcd.setCursor(0,1); // Mover el cursor a la posición 0,1 lcd.print("para Todos"); delay(5000); // Realizar una pausa de 5 segundos } void loop() { lcd.clear(); lcd.setCursor(0, 0); lcd.print("220"); lcd.setCursor(4,0); lcd.write((byte)1); lcd.setCursor(3,1); lcd.print("Gracias"); lcd.setCursor(12,1); lcd.write((byte)0); delay(5000); }

Para utilizarlos en el LCD, tenemos que declarar el arreglo de tipo Byte y darle un nombre. Yo he creado dos, uno llamado feliz y otro llamado omega.

En la función setup después o antes de inicializar el LCD, tenemos que utilizar la función createChar(índice,nombre); donde en índice le indicaremos el espacio en la memoria (de 0 a 7) donde se almacenará nuestro símbolo, y en nombre le indicaremos el nombre del array donde se encuentran los datos equivalentes. En este ejemplo utilizamos dos:

lcd.createChar(0, feliz); lcd.createChar(1, omega);

Para desplegarlos en la pantalla, solamente tenemos que posicionar el cursor en la coordenada deseada, y mediante la función write(); enviaremos el espacio de memoria donde lo guardamos; por ejemplo para imprimir la carita feliz lcd.write((byte)0); él (byte) es necesario indicárselo de manera explícita, ya que si le enviamos el 0 solamente, nos marcará un error, ya que sería como no enviarle nada... por eso tenemos que decirle que el 0 representa un byte.

Tendrías que ver algo como esto:

¿Qué te ha parecido este tutorial? Déjame tus comentarios, dudas, sugerencias o tus proyectos con LCD.

Muchas gracias por llegar hasta aquí.
Recuerda visitar nuestras redes sociales

# data[].attributes.attachment_link.title
Utilizar un Display LCD con Arduino - Automatización para Todos

# data[].attributes.attachment_link.description
En este artículo aprenderás a utilizar un Display o LCD con tu placa Arduino, ejemplos, códigos, explicación y video es algo de lo que encontrarás.

# data[].attributes.attachment_link.readable_text
En este proyecto utilizaremos un sensor de humedad de suelo HW-080 o higrómetro con una pantalla LCD 1602 y su módulo I2C con nuestro Arduino para detectar la humedad en un terreno y visualizarlo en la pantalla. Vamos a basarnos en Proyecto 27 pero le agregaremos una pantalla LCD 1602 como la utilizada en el ... Leer más

# data[].attributes.attachment_link.title
Arduino con Tinkercad - Desde cero [Capitulo 1] [Salida Digital]

# data[].attributes.attachment_link.title
Programar melodía de Star Wars con Arduino y zumbador - InputMakers

# data[].attributes.attachment_link.description
En este post vamos a programar la melodía de Star Wars (Marcha Imperial) con Arduino y un zumbador.

# data[].attributes.attachment_link.readable_text
Por fin tenemos el tutorial completo de uno de los mini juegos mas famosos del mundo. Ni mas ni menos que el mítico juego de la serpiente que a medida que se va comiendo manzanas va creciendo. Este juego también es muy conocido por su nombre en ingles "Snake Game".

Bueno bueno, pero eso no es todo, este juego esta realizado solamente con un modulo de leds 8×8. Si, en efecto, el típico que traen todos los kits de Arduino básicos.

Si te interesa como realizar este proyecto de forma muy fácil y rápida, quédate en esta pagina.

En esta pagina encontraras el código de programación, el esquema de conexiones y un video explicando el proyecto completo en YouTube.

Explicación, Objetivo y Funcionamiento del minijuego

Bueno, creo que esta vez es un mini juego tan famoso, que no hace falta ni explicar su funcionamiento, pero bueno, vamos a hacerlo por si acaso que seguro que hay alguien que seguro que no sabe de que juego estamos hablando.

El funcionamiento de este juego es muy fácil. Consiste en una serpiente que a medida que va comiendo manzanas va aumentando su tamaño. ¿El objetivo? Ser cada vez más y más grande, hasta que llegue un punto que no quepa en la pantalla, que es cuando se considera que oficialmente el juego esta terminado. La gracia esta en que si te chocas con tu propio cuerpo, pierdes y te toca volver a empezar de 0.

¿Parece fácil eh? Pues te reto a que intentes pasártelo, ya que cuanto más grande es la serpiente, más fácil es quedarse encerrado sin salida y acabar chocándote con tu propio cuerpo.

Bueno, ¿Estas listo? VAMOS AL LIO!

Materiales

Los materiales para realizar este proyecto son muy sencillos y no debería de ser ningún problema conseguirlos, aun así, para que te sea más fácil, aquí tienes una lista con todos los componentes.

A continuación tienes una lista con los enlaces de compra en diferentes sitios.

Si tienes alguna duda sobre los materiales que se utilizan en este proyecto, no dudes en dejar un comentario, te responderemos lo antes posible.

Para conocer más a fondo sobre cada uno de los diferentes materiales, puedes visitar la página "materiales" donde se explica de una forma más extensa el funcionamiento y los posibles usos de cada uno de ellos.

Puedes encontrar más herramientas y materiales que puedas necesitar para tus proyectos AQUÍ.

Video explicación del proyecto

Si lo que buscas es ver de una forma mucho más detallada de como realizar este proyecto desde el inicio hasta el final y una explicación del código, a continuación se muestra el video con dicho contenido, mucho mas visual y fácil de comprender. Y recuerda, si te gusta esta clase de contenido, no olvides suscribirte 😉

Esquema de conexiones Arduino para montar el proyecto

Para que te sea más fácil montar este proyecto, aquí tienes el esquema de conexiones. Todas las conexiones de este esquema corresponden con el código de programación que hay justo abajo, así que asegúrate de que todas están tal y como se muestra en esta imagen.

Código de Arduino para la programación del proyecto

A continuación se muestra el código de programación desarrollado específicamente para este proyecto. Los pines que puedes encontrar en el código son los mismos que encontrarás en el esquema de conexiones previamente mostrado.

Si quieres una explicación más detallada de las diferentes partes del código empleado para programar este proyecto y de su funcionamiento, te recomiendo que te veas el video que te hemos dejado más arriba.

//Canal de YouTube -> RobotUNO
//Juego snake en pantalla led 8x8
#include "LedControl.h"
//pins
const int SW_pin = 2;
const int X_pin = 0;
const int Y_pin = 1;
const int DIN = 12;
const int CS = 11;
const int CLK = 10;
const int BUZZER = 8;
//variables
const int screenWidth = 8;
const int screenHeight = 8;
int snakeX, snakeY, foodX, foodY, score = 0, snakeSize = 1;
char direction;
int tailX[100], tailY[100];
bool isGameOver = false;
LedControl lc = LedControl(DIN, CS, CLK, 1);
void setup() {
  setupPins();
  setupLedBoard();
  setupSnakePosition();
  setupFoodPosition();
}
void setupSnakePosition() {
  snakeX = 4;
  snakeY = 4;
}
void setupFoodPosition() {
  foodX = rand() % screenWidth;
  foodY = rand() % screenHeight;
}
void setupLedBoard() {
  lc.shutdown(0, false);
  lc.setIntensity(0, 1);
  lc.clearDisplay(0);
}
void setupPins() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
}
void loop() {
  if (isGameOver) {
    playGameOverSong();
    showGameOverScreen();
  } else {
    startGame();
  }
}
void playGameOverSong() {
  tone(BUZZER, 1000, 1000);
  delay(100);
  tone(BUZZER, 2000, 1000);
  delay(100);
  tone(BUZZER, 3000, 1000);
  delay(100);
  tone(BUZZER, 4000, 1000);
  delay(100);
  tone(BUZZER, 5000, 2000);
}
void playFoodEatenSong() {
  tone(BUZZER, 500, 100);
}
void startGame() {
  manageGameOver();
  setJoystickDirection();
  changeSnakeDirection();
  manageSnakeOutOfBounds();
  manageEatenFood();
  manageSnakeTailCoordinates();
  drawSnake();
  delay(300);
}
void manageGameOver() {
  for (int i = 1; i < snakeSize; i++) {
    if (tailX[i] == snakeX && tailY[i] == snakeY) {
      isGameOver = true;
    }
  }
}
void manageSnakeOutOfBounds() {
  if (snakeX >= screenWidth) {
    snakeX = 0;
  } else if (snakeX < 0) {
    snakeX = screenWidth - 1;
  }
  if (snakeY >= screenHeight) {
    snakeY = 0;
  } else if (snakeY < 0) {
    snakeY = screenHeight - 1;
  }
}
void manageSnakeTailCoordinates() {
  int previousX, previousY, prevX, prevY;
  previousX = tailX[0];
  previousY = tailY[0];
  tailX[0] = snakeX;
  tailY[0] = snakeY;

  for (int i = 1; i < snakeSize; i++) {
    prevX = tailX[i];
    prevY = tailY[i];
    tailX[i] = previousX;
    tailY[i] = previousY;
    previousX = prevX;
    previousY = prevY;
  }
}
void manageEatenFood() {
  if (snakeX == foodX && snakeY == foodY) {
    playFoodEatenSong();
    score++;
    snakeSize++;
    setupFoodPosition();
  }
}
void setJoystickDirection() {
  if (analogRead(X_pin) > 1000) {
    direction = 'u';
  } else if (analogRead(X_pin) < 100) {
    direction = 'd';
  } else if (analogRead(Y_pin) > 1000) {
    direction = 'l';
  } else if (analogRead(Y_pin) < 100) {
    direction = 'r';
  }
}
void changeSnakeDirection() {
  switch (direction) {
    case 'l':
      snakeX--;
      break;
    case 'r':
      snakeX++;
      break;
    case 'u':
      snakeY--;
      break;
    case 'd':
      snakeY++;
      break;
  }
}
void showGameOverScreen() {
  for (int i = 0; i < screenHeight; i++) {
    for (int j = 0; j < screenWidth; j++) {
      showLed(j, i);
      delay(50);
    }
  }
  resetVariables();
}
void resetVariables() {
  setupSnakePosition();
  setupFoodPosition();
  direction = ' ';
  isGameOver = false;
  score = 0;
  snakeSize = 1;
}
void showLed(int row, int column) {
  lc.setLed(0, row, column, true);
}
void hideLed(int row, int column) {
  lc.setLed(0, row, column, false);
}
void drawSnake() {
  for (int i = 0; i < screenHeight; i++) {
    for (int j = 0; j < screenWidth; j++) {
      if (i == snakeY && j == snakeX) {
        showLed(snakeX, snakeY);
      } else if (i == foodY && j == foodX) {
        showLed(foodX, foodY);
      } else {
        bool isShown = false;
        for (int k = 0; k < snakeSize; k++) {
          if (tailX[k] == j && tailY[k] == i) {
            showLed(j, i);
            isShown = true;
          }
        }
        if (!isShown) {
          hideLed(j, i);
        }
      }
    }
  }
}

Lo que debes de hacer para utilizar este código es muy sencillo, simplemente tienes que copiarlo y pegarlo en tu compilador de Arduino (por ejemplo, Arduino IDE). Si no lo tienes instalado, haz click aquí para ver un tutorial sobre como instalártelo de forma totalmente gratuita.

Si tienes cualquier duda, deja un comentario en esta pagina y te responderemos lo antes posible.

# data[].attributes.attachment_link.title
🤖Minijuego con Arduino: "Snake game con una matriz 8x8" - Robot UNO

# data[].attributes.attachment_link.description
Por fin tenemos el tutorial completo de uno de los mini juegos mas famosos del mundo. Ni mas ni menos que el mítico juego de la serpiente que a medida que se va comiendo manzanas va creciendo. Este juego también es muy conocido por su nombre en ingles "Snake Game".

# data[].attributes.attachment_link.provider_name
yourtechnologyweb - A help for your technology lessons.

# data[].attributes.attachment_link.readable_text
Aquí puedes encontrar una guía en la que se explica cómo compartir los proyectos de Tinkercad (en caso de que se opte por realizar esas prácticas empleando ese programa). Contenidos*:

Bloque 1: prácticas sobre circuitos eléctricos. En estos ejercicios la placa Arduino se emplea únicamente como generador de corriente eléctrica (no se realiza ningún tipo de programación).

: en estas prácticas se controlan distintos tipos de actuadores (bombillas, motores, zumbadores...) por medio de una placa Arduino.

: en estas prácticas se controlan distintos actuadores por medio de la información proporcionada por diferentes sensores.
Estos ejercicios se han clasificado como "fácil", "medio" o "difícil" de tal manera que puedan ser realizados por estudiantes de distintos niveles.

Antes de nada hay que recordar cómo funciona una placa de conexiones ( breadboard en inglés) como la de abajo. En la imagen se puede ver qué pines (agujeros) están conectados entre sí. Por tanto, cuando se deseen unir los terminales de dos componentes estos se deberán insertar en pines pertenecientes a la misma línea.

Conectar los componentes del circuito y responder a las preguntas:

¿Qué tipo de componente se esta utilizando? ¿Cuál es su símbolo eléctrico?

¿Qué ocurre si se intercambian las conexiones del motor (conectando el cable negro a 3,3V y el rojo a GND)?

Conectar los componentes del circuito y responder a las preguntas:

¿Qué tipo de componentes se están utilizando? ¿Cuál es su símbolo eléctrico?

¿Están conectados en serie o en paralelo?

En ese tipo de conexión la intensidad / voltaje es igual en ambos componentes (redondear la palabra correcta).

Conectar los componentes del circuito y responder a las preguntas:

¿Están conectados en serie o en paralelo?

En ese tipo de conexión la intensidad / voltaje es igual en ambos componentes (redondear la palabra correcta).

Conectar los componentes del circuito y responder a las preguntas:

¿Qué ocurre si se emplean los terminales de la izquierda y de la derecha del interruptor en vez de usar el del centro? Explicar por qué.

Conectar los componentes del circuito y responder a las preguntas:

¿Qué componente se está empleando para variar el brillo de la bombilla? ¿Cuál es su símbolo eléctrico?

Es posible modificar el programa para que el brillo de la bombilla aumente cuando el cursor se gira hacia la derecha?

Conectar los componentes del circuito y responder a las preguntas:

¿Cuál es la función de la resistencia? ¿Cuál es su símbolo eléctrico?

A qué polo (positivo - 3,3V o negativo - GND) hay que conectar el terminal más largo del LED para que este conduzca corriente y se ilumine?

¿Existe alguna diferencia entre conectar la resistencia antes o después del LED?

Conectar los componentes del circuito y dibujar su esquema eléctrico.

Conectar los componentes del circuito y dibujar su esquema eléctrico.

Conectar los componentes como se indica en el esquema eléctrico.

Conectar los componentes como se indica en el esquema eléctrico.

Conectar los componentes del circuito y responder a las preguntas:

¿Qué tipo de LED se está utilizando?

¿Por qué este tipo de LED tiene 4 terminales y no 6?

¿Qué colores deben mezclarse para generar luz amarilla?

¿Cuál es la principal aplicación de este tipo de LED?

Conectar los componentes del circuito y dibujar su esquema eléctrico.

Conectar los componentes del circuito y dibujar su esquema eléctrico.

El circuito del esquema de abajo es muy común en las instalaciones eléctricas de todo tipo de edificios. Realiza la conexión y explica su funcionamiento.

Conectar los componentes del circuito y responder a las preguntas*:
*Seleccionar un voltaje de 25V para la batería.

¿Cómo se llama el nuevo componente que se está utilizando? Dibuja su símbolo eléctrico.

Dibujar el esquema eléctrico de todo el circuito.

El nuevo componente funciona gracias al campo magnético generado por una _________. Dibujar el símbolo eléctrico de ese componente.

¿Cuál es la diferencia entre el componente utilizado y un interruptor normal?

¿En qué casos resulta conveniente emplear este componente en vez de un interruptor normal?

Conectar los componentes del circuito* y responder a las preguntas:
*Ambas resistencias tienen un valor de 1kΩ.

¿Cómo se llama el nuevo componente que se está utilizando? Dibuja su símbolo eléctrico.

¿Cuál es la función de este componente?

Dibujar el esquema eléctrico de todo el circuito.

¿Qué ocurre si se aumenta el valor de la resistencia conectada a la izquierda del interruptor?

¿Qué ocurre si se aumenta el valor de la resistencia conectada a la derecha del LED?

Conectar los componentes del circuito y responder a las preguntas:

¿Cómo se llama el nuevo componente que se está utilizando?

Dibujar el esquema eléctrico del circuito.

Explicar por qué uno de los LED emite luz y el otro no.

Conectar los componentes del circuito y responder a las preguntas:

¿Cómo se llama el nuevo componente que se está utilizando? Qué significan esas siglas: ___________________________

Dicho componente puede utilizarse como un sensor de: ________

Dibujar el esquema eléctrico del circuito.

Conectar los componentes del circuito y responder a las preguntas:

¿Cómo se llama el nuevo componente que se está utilizando? Dibujar su símbolo eléctrico e indicar el nombre de sus tres terminales.

Dibujar el esquema eléctrico del circuito.

Representar sobre el esquema eléctrico el flujo de la corriente eléctrica y explicar cómo funciona el circuito.

Realizar la conexión de la imagen y responder a las preguntas:

Cuando hay mucha luz en el ambiente, la intensidad de corriente que llega a la base del transistor ¿aumenta o disminuye?

¿En qué casos puede ser útil este circuito?

# data[].attributes.attachment_link.title
Ejercicios de Arduino - yourtechnologyweb

# data[].attributes.attachment_link.description
Aquí puedes encontrar una guía en la que se explica cómo compartir los proyectos de Tinkercad (en caso de que se opte por realizar esas prácticas empleando ese programa). Contenidos*: Bloque 1: prácticas sobre circuitos eléctricos.

# data[].attributes.attachment_link.readable_text
Introductory Electronics Activities

These electronics activities were designed to help you learn basic circuit and programming concepts with circuits that can be built and simulated virtually in TinkerCad - there's no need to gather any electronic components or build physical circuits!

There are also a number of lab activities designed for teachers to use with students breadboarding physical circuits, and these assume that power supplies, multimeters, breadboards, and a variety of common electronic components are available. Let's start learning electronics!

# data[].attributes.attachment_link.title
Learn electronics and beginner Arduino programming with these Tinkercad activities. - mirobo

# data[].attributes.attachment_link.description
These electronics activities were designed to help you learn basic circuit and programming concepts with circuits that can be built and simulated virtually in TinkerCad - there's no need to gather any electronic components or build physical circuits!

# data[].attributes.attachment_link.description
Desarrollamos nuestro proyecto: ROBOT LUCHADOR

# data[].attributes.attachment_link.description
A community-driven gateway to the 3D model universe

# data[].attributes.attachment_link.readable_text
Introduction: Jedi Academy With Micro:bit!

The Jedi Academy were a series of projects that we created to work with the students' feelings and practise their use of English as a Foreign Language. It includes Math, Language, Science and Arts activities.

We created the Jedi Academy to deal with some problems that the students were facing at home, so we created Jedi Code posters where we stated that those people that left us where still in the Force (which was thinking that the knowledge and experiences that we lived with them will always stay within us), also that there is no ignorance, there is knowledge... And the best part of the project was inside the Science subject where we designed a Lightsaber in Tinkercad and build it using Cura and a 3D printer

Supplies

As seen in the pictures:

- Micro:bit V2

- Addressable led lights (WS2812E)

- Transparent PVC tube

- 3d printer and filament

Step 1: Watch the Trailer and Create Your Jedi Code Poster

Before starting the Jedi Academy, we will watch this trailer with the Jedi Code and decide the aspects that we will use to create our own code, the colours of our Force and, if we've got time we will colour some pixel art related to Star Wars with operations: multiplications, divisions, etc. Here is a link with some worksheets to colour and also the trailer.

Step 2: Design the Lightsaber in Tinkercad

In this step, we will design the physical lightsaber that will contain the micro:bit when being used.

Using different forms

Here is an example of the lightsaber we created using Tinkercad and then exported it using Ultimaker Cura to print it.

Step 3: Create the Code for the Addessable LED Lights in Makecode

Using the library named as Neopixel, we can code the lightsaber so that it will bright more when it is shaken, or when someone has hit it, using the V2 of the micro:bit and its touch sensor. We created a function called "The Force" for when it was shaken, so that it would be called when shaken.

1. The first part to create the coding part is to decide whether it will be activated with an input (Pressing button A...), when starting the micro:bit or as a never ending program.

2. Then, we need to set the LED strip in the pin we will be using and also the number of LED lights we have.

3. After that, we need to use condition blocks to decide when the different animations will be happening, for example:

4. If the logo is pressed, show a rainbow.

5. If the A button is pressed, turn the LEDs blue.

6. If the lightsaber is shaken, make the LEDs rotate by 1 and repeat it several times so that it will create an animation.

Remember you can add as many conditions as inputs you have, so that will define your force. Here attached you will find an example of the HEX code.

Your imagination is the limit!

Step 4: Build the Lightsaber

Once the code has been created now it's the time to build it using the PVC tube and the printed part, paint it and use it.

May the force be with you!

# data[].attributes.attachment_link.description
Jedi Academy With Micro:bit!: The Jedi Academy were a series of projects that we created to work with the students' feelings and practise their use of English as a Foreign Language. It includes Math, Language, Science and Arts activities. We created the Jedi Academy to deal with...

# data[].attributes.attachment_link.readable_text
Todo proyecto necesita de una organización exhaustiva. Nuestro equipo directivo controlará que todo funcione y apoyará al resto de grupos para conseguir un resultado final... ¡SUBLIME!

# data[].attributes.attachment_link.description
Todo proyecto necesita de una organización exhaustiva. Nuestro equipo directivo controlará que todo funcione y apoyará al resto de grupos para conseguir un resultado final... ¡SUBLIME!

# data[].attributes.attachment_link.description
Discover, create, and share music with the world.

# data[].attributes.attachment_link.description
Share your videos with friends, family, and the world

# data[].attributes.attachment_link.description
Aprende a las bases de la programación con el curso de binario

# data[].attributes.headline
MÁQUINA DE DIBUJO CON CARTÓN Y ENGRANAJES

# data[].attributes.subject
MÁQUINA DE DIBUJO CON CARTÓN Y ENGRANAJES

# data[].attributes.attachment_link.title
DIY Geometric Automatic Drawing Machine on Carboard

# data[].attributes.attachment_link.title
How To Make Quail Eggs Shelling Machine From PVC! DIY Peeling Machine

# data[].attributes.attachment_link.readable_text
We made a sculpture out of wood batten based on the principle of tensional integrity (tensegrity for short), where all the strings are under continuous tension. The result is the impression that the sculpture levitates. Tensegrity is a design principle that applies when a discontinuous set of compression elements is opposed and balanced by a continuous tensile force, thereby creating an internal prestress that stabilizes the entire structure. Puzzling physics structures that seem to defy the very laws of gravity.

# data[].attributes.attachment_link.title
How to Make Amazing Tensegrity Structure

# data[].attributes.attachment_link.description
We made a sculpture out of wood batten based on the principle of tensional integrity (tensegrity for short), where all the strings are under continuous tension. The result is the impression that the sculpture levitates.

# data[].attributes.attachment_link.title
Easy Catapult Launcher Tinkercad Sim Lab Connectors 2024! #stem #fun

# data[].attributes.attachment_link.title
Cómo crear un personaje de candombe con micro:bit

# data[].attributes.headline
ESTRUCTURA DE TESENGRIDAD CON IMPRESIÓN 3D. TINKERCAD.

# data[].attributes.subject
ESTRUCTURA DE TESENGRIDAD CON IMPRESIÓN 3D. TINKERCAD.

# data[].attributes.attachment_link.title
How to Make 3D Printed Structure Using Principal of Tensegrity? | Tinkercad

# data[].attributes.attachment_link.description
Bring learning to life for every grade and every subject with Tinkercad.

# data[].attributes.attachment_link.title
Luis Llamas - Ingeniería, informática y diseño (Zaragoza)

# data[].attributes.attachment_link.description
Página web de Luis Llamas, Ingeniero Industrial de Zaragoza. Un blog dedicado a compartir noticias y tutoriales sobre ingeniería, informática y diseño

# data[].attributes.headline
MÁQUINA DE EFECTOS ENCADENADOS DE FUEGO, AGUA Y ELECTRICIDAD

# data[].attributes.subject
MÁQUINA DE EFECTOS ENCADENADOS DE FUEGO, AGUA Y ELECTRICIDAD

# data[].attributes.attachment_link.title
EFECTOS ENCADENADOS CON AGUA , FUEGO Y ELECTRICIDAD

# data[].attributes.headline
PROYECTO: ROBOTS BOXEADORES CON PALILLOS DE HELADOS.

# data[].attributes.subject
PROYECTO: ROBOTS BOXEADORES CON PALILLOS DE HELADOS.

# data[].attributes.attachment_link.title
Como Hacer Robots de Pelea con Palitos de Helado

# data[].attributes.headline
CREA TU CAJA DE DIFERENTES FORMAS Y FIGURAS 3D

# data[].attributes.subject
CREA TU CAJA DE DIFERENTES FORMAS Y FIGURAS 3D

# data[].attributes.attachment_link.readable_text
Bolsa

Una típica bolsa de papel que puede ser almacenada de forma plana. Esta plantilla puede usarse para crear desde una linda bolsa de regalo hasta una gran bolsa para compras o un empaque para vino.

La parte superior de la bolsa se pliega hacia el interior, para dar mayor resistencia. Si no desea esto, puede definir el parámetro Doblez en '0' (cero).

También hay 16 orificios que permiten poner una pequeña cuerda. Es tan lindo, casi podría morir... Agradable envoltura de botellas para regalos.

Caja con Tapa

Una caja básica que consiste en una base su tapa - una plantilla sencilla.

El Largo, Ancho y Alto son las dimensiones de la base. Para facilitar el uso de la plantilla, Clearance está definido como un porcentaje. El Largo y Ancho se ajusta según este dato para crear la tapa.

Caja para Rebanada de Pastel

Una porción de pastel. Literalmente. Una caja en forma de cuña que se puede utilizar para almacenar porciones de pastel. La caja consta de una parte superior y una parte inferior. La parte superior es la cubierta. La parte inferior es una sección plana que no necesita pegamento, porque va a ser asegurada por la cubierta. Por defecto, la tapa es un 5% más grande que la parte inferior, pero esto se puede ajustar en la configuración avanzada.

El ángulo es una medida de una porción de pastel qué tan grande puede encajar. Mire en la figura, si usted no está seguro de lo que debe ingresar. Por ejemplo, un ángulo de 30 es lo suficientemente grande para 1 pedazo de un pastel de 12 piezas.

La longitud es la longitud de la pieza, que debe ser aproximadamente la mitad del diámetro de la torta completa. Asegúrese de añadir un poco de espacio aquí .

Ataúd

Es Halloween, así que para servir los dulces de truco o trato con estilo use un ataúd! Esta plantilla viene con una base y su tapa.

Use un poco de cinta adhesiva extra para asegurar la tapa a la base, o se podría abrir a medianoche ... permitiendo al contenido deambular alrededor de su casa. Mwahahaha!

Caja curva

Una caja similar a la "Caja de Tarjetas", pero con los lados curvos. Los lados hacen esta caja más atractiva, convirtiéndola en apropiada para empaque de productos de lujo. Piense en perfumes, joyería, ropa de bebé, jabones, ...

El valor para "la dimension de la curva" puede ser positivo o negativo. Sin embargo debe de notar que si el panel del frente y atrás son "gruesos", los paneles de los lados se verán "flacos" y viceversa.

Puede personalizar cualquier valor, pero no defina "la dimensión de la curva" con un número demasiado alto, o la caja podrá quebrarse o fallar cuando se doble. Sea consciente que el "Largo" y "Ancho" no toman en cuenta la "Dimensión de la curva", por tanto el espacio entre ellos se reducirá un poco.

Caja con forma de huevo

A __egg__straordinary box-with-lid in the shape of an egg. Perfect as an Easter box! The egg can be pointy or blunt, round or elongated. Look the __egg__samples to get an idea of what these values do.

This design consists of a base tray and a lid. By default, the cover is 3% larger then the tray but this can be adjusted using the Clearance. For ease of use, Clearance is set as a percentage.

The template consists of six parts: three for the base and three for the lid. The base and the lid each consist of a tube and two caps. The caps form two layers, one on the inside and one on the outside, with the glue flaps sandwiched between them.

The one on the outside is slightly larger than the given diameter in order to neatly cover the base and the lid. The one on the inside is slightly smaller, to compensate for the sturdiness of the paper or cardstock. This difference in size is given by Extra Offset for Caps.

Do not make the box too high, because the paper might loose its shape the further it is from the cap.

Enough daddy egg yolks.

Sobre

Un contenedor muy plana para cartas. Por cierto: no es posible crear un sobre A6 en una hoja tipo A4 utilizando esta plantilla - simplemente no caben.

Sí es posible conseguir un sobre A6 de una hoja tipo A4, pero casi ningún no queda espacio. La plantilla debe rotarse para que quede más espacio disponible. Al imprimir esta plantilla, se puede imprimir (casi) sin bordes. Debe centrar la imagen y asegúrese que la escala de la página se define como none o 100% o 1:1. El título de la plantilla quedará en la página, pero eso no importa.

Caja piedra preciosa

Gem Stone shaped box, consisting of two identical polygonal pyramids, glued together at their bases. It's a very decorative box box that can actually used for packaging. When suspended by a chord, a box like this could be mistaken for a Christmas ornament.

It can be stored (and shipped) completely flat. When you pull the two apices ("tops") apart, the box will get its full shape. It's easiest to glue this shape when both halves are flat. Just fold the glue tabs all the way in and glue the top to the bottom. Just remember not to glue the rounded flaps.

Caja con forma de corazón

A Heart-shaped box-with-lid. This is the kind of box you need when it's Valentine's day and you need to pack 13 hand made chocolate pralines. Many different heart-shapes are possible!

The measurements are different to standard boxes because of the way the heart is modeled: It is made from an ellipse, which is rotated, cut in half vertically and then mirrored. The Length measures between the two sharp corners of the heart. The Width is calculated by the program to match the rotation ( Tilt) and Shape of the ellipse. (Think of the shape as the "Body Mass Index" of the heart).

This design consists of a base tray and a lid. By default, the cover is 3% larger then the tray but this can be adjusted using the Clearance. For ease of use, Clearance is set as a percentage.

The template consists of six parts: three for the base and three for the lid. The base and the lid each consist of a tube and two caps. The caps form two layers, one on the inside and one on the outside, with the glue flaps sandwiched between them.

The one on the outside is slightly larger than the given diameter in order to neatly cover the base and the lid. The one on the inside is slightly smaller, to compensate for the sturdiness of the paper or cardstock. This difference in size is given by Extra Offset for Caps.

♪ I've been locked inside a box like this for weeks ♪

Cilindro con Extremos Inclinados

Un cilindro que está truncado por un ángulo. Puede ser truncado en ángulo tanto en la parte superior como en la parte inferior. La longitud se mide sobre el eje del cilindro.
El ángulo inferior también se puede girar alrededor del eje, como si el cilindro tuviera una torsión.

Cone (mitered)

A cone mitered by two planes at a custom angle. These Mitering Angles must be quite small. If the template looks really weird, check these mitering angles.

(Only circular and elliptical cone-sections are allowed. Parabolic and hyperbolic cross sections are not possible with this template.)

The Top Miter Angle and the Bottom Miter Angle lie within the same plane: the "twist" parameter as present in the mitered cylinder is not (yet) implemented.

Bandeja encajable

A basic tray with glued sides and a draft angle. Because of the draft angle, the trays can be nested. This makes this model ideal as an organizer for storing small items. Think of beads, LEGO, ...

Use 0º for Draft Angle if you want a straight sides, but use a larger value if you want trays that can be stacked into eachother.

The Length and Width are measured at the top, so when you use a non-zero Draft Angle, the dimensions at the bottom will be smaller.

If you choose too large a value for the Draft Angle or too small a value for the Height, then draft angle will be adjusted by the program.

The Platonic Solids

Models of all five so-called Platonic Solids. The Platonic Solids are the five regular convex polyhedra. The Cube is the most famous one, of course, although he likes to be called "hexahedron" among friends. Also the other platonic solids are named after the number of faces (or hedra) they have: Tetrahedron, Octahedron, Dodecahedron, Icosa hedron.

There is only parameter：the Diameter of the mid-sphere. The mid-sphere is the sphere from the center of the object that touches all the edges exactly in middle.

Caja poligonal con tapa

Crea una caja de 5 lados, 7 lados o incluso 13 lados. La tapa esta separada y es ligeramente mayor, lo cual puede ser controlado con el ajuste "holgura".
Puedes elegir cualquier cantidad de lados, siempre que sea entre 3 y 20 lados (incluidos). Aunque 4 puede ser aburrido...
Cajas con 3, 4 o 6 lados encajan bellamente en mayores agrupaciones cuando haces varias del mismo tamaño..

Shallow Box

Una caja básica, como la "Caja de cartón" y la "Caja de regalo". Ésta plantilla específica es la más económica para cajas que tienen poca altura comparando anchura y altura, por ejemplo una caja para tartas o una para pizza.

Templatemaker.nl intentará ajustar valores "imposibles", así que ten cuiado cuando, por ejemplo, el agujero para el pulgar o las solapas para el pegamento tengan dimensiones que no esperas.

Cubo SOMA

Colección de los 7 policubos cóncavos con 4 o menos cubos. Estas siete piezas juntas pueden formar el cubo SOMA. Esto es, si logras resolver el puzle. El cubo SOMA fue inventando por el poeta y matemático danés Piet Hein.

El único parámetro que puedes meter es la Longitud Unitaria Celudar, que se refiere al tamaño de un cubo.

Estrella decorativa

Estrella con cualquier grosor y número de puntas. ¡Crea tus propias estrellas de Navidad! Utiliza las pequeñas como decoración del árbol de Navidad o haz una grande para poner detrás de la ventana.

El generador creará una plantilla de puntas para cada punta de la estrella. Las solapas de pegamento son dobles, así que puedes pegarlas así: _/\_ (¡Piensa en 'namaste'!). Si no quieres solapas de pegamento dobles, elige el tamaño 0 (cero) para Tamaño de la solapa de pegamento (solapas impares).

Puedes utilizar esta plantilla para recrear una versión en papel de la bandera de Nepal (12 puntas), Azerbaiyán (8 puntas) o la Unión Europea (12 estrellas con 5 puntas). Si decides recrear la bandera de EE.UU., puede que necesites reservar una semana en tu agenda.

Caja estrella

Una caja en forma de estrella. Úsala como decoración navideña, o empaqueta tus regalos navideños.

El Número de Puntas puede ser elegido líbremente, pero 5 es ideal. Es posible más o menos. La altura determinará si la estrella será plana o gruesa.

Los dobleces son un poco "estilo-origami", dóblamos bien y asegúrate de que la estrella es razonablemente gruesa.

Trapezoide

Un trapecio o caja con forma trapezoidal, típica para chocolates caros.
Si el paralelepípedo es demasiado novedoso para ti, pero la caja de regalo es demasiado aburrida, esta es tu "arma elegida".
Dependiendo de las dimensiones, este sitio elige entre una o dos disposiciones, para crear la plantilla más eficiente.

# data[].attributes.attachment_link.description
Una típica bolsa de papel que puede ser almacenada de forma plana. Esta plantilla puede usarse para crear desde una linda bolsa de regalo hasta una gran bolsa para compras o un empaque para vino. La parte superior de la bolsa se pliega hacia el interior, para dar mayor resistencia.

# data[].attributes.headline
PROYECTO MECANISMOS DE TRANSMISIÓN, ANIMATRÓNICO DE CARTÓN

# data[].attributes.subject
PROYECTO MECANISMOS DE TRANSMISIÓN, ANIMATRÓNICO DE CARTÓN

# data[].attributes.headline
PROYECTO: MECANISMOS, MÁQUINA DE MOJADO DE SOBRE DE TE

# data[].attributes.subject
PROYECTO: MECANISMOS, MÁQUINA DE MOJADO DE SOBRE DE TE

# data[].attributes.attachment_link.title
How To Make Tea Bag Dipper Machine From Cardboar at home! DIY Dipper Machine

# data[].attributes.headline
PROYECTO: CONSTRUCCIÓN DE MECANISMOS ( IES HUELIN)

# data[].attributes.subject
PROYECTO: CONSTRUCCIÓN DE MECANISMOS ( IES HUELIN)

# data[].attributes.attachment_link.description
Debéis llevar a cabo las fases para realizar la construcción de un autómata o un conjunto de mecanismos. La FECHA DE ENTREGA será el Martes 9 de Mayo para 2º ESO A y B. (Lunes 15 2º C) Actualizado 28/4/2017 Primer paso: PLANIFICAR. Para realizar la planificación, puedes usar alguna de estas plantillas: Plantilla2 Hoja

# data[].attributes.attachment_link.title
How to Build an Amazing Cardboard Play Dome: 10 Steps - Craft projects for every fan!

# data[].attributes.attachment_link.description
Do you have kids who you think will love this? Then gather all the materials you will need and learn how to build a geodesic cardboard play dome by reading the complete tutorial below! cardboard play dome