Category: Hardware
MetaFly | A New Flying Experience
Adafruit Circuit Playground Express 4H edition
The TRUTH About IRON MAN in Real Life!
DRINKING NASTY SWAMP WATER (to save the world)
Learn to Fly Like IRON MAN!!!
YC’s latest moonshot bet is a startup building a $380K ‘flying motorcycle’
How to Fix Broken Headphone Cables
How to make a steam generator light bulbs
Steam Turbine from Scrap Materials
How does a Steam Turbine Work ?
[Part 10 of 10] Waterwheel Microhydro, How Much Power?
Prototype This! TV Show in 2009
In a San Francisco Bay island warehouse, a crack team of engineers, PhD’s and a special effects wizard are inventing the future one prototype at a time. To solve the problems of today, the team imagines the craziest, one-of-a-kind prototypes of tomorrow, and then builds them. Join the PROTOTYPE THIS team on a journey through emerging technology as they invent the future.
Drone Obstacle Ring – Arduino Prototype Shield
Drobo RIP
How to solder header pins
Arduino LED Strip + Ultrasonic Sensor

// Include Libraries
#include "Arduino.h"
#include "NewPing.h"
#include "RGBLed.h"
// Pin Definitions - RGB Strip
#define LEDSTRIPRGB_PIN_SIGR 9
#define LEDSTRIPRGB_PIN_SIGG 6
#define LEDSTRIPRGB_PIN_SIGB 5
// Pin Definitions - Ultrasonic Sensor
#define HCSR04_PIN_TRIG 3
#define HCSR04_PIN_ECHO 2
// Global variables and defines - RGB Strip
#define LedStripRGB_TYPE COMMON_CATHODE
// object initialization
RGBLed LedStripRGB(LEDSTRIPRGB_PIN_SIGR,LEDSTRIPRGB_PIN_SIGG,LEDSTRIPRGB_PIN_SIGB,LedStripRGB_TYPE);
// Global variables and defines - Ultrasonic sensor
NewPing hcsr04(HCSR04_PIN_TRIG,HCSR04_PIN_ECHO);
long timeout = 0; //define timeout used to switch RGB strip ON and OFF
int colors = -1; // cycle colors
// Setup the essentials for your circuit to work. It runs first every time your circuit is powered with electricity.
void setup()
{
// Setup Serial which is useful for debugging
// Use the Serial Monitor to view printed messages
Serial.begin(9600);
Serial.println("start");
}
// Main logic of your circuit. It defines the interaction between the components you selected. After setup, it runs over and over again, in an eternal loop.
void loop()
{
int hcsr04Dist = hcsr04.ping_cm();
//delay(10);
if (hcsr04Dist == 0)
{
//ignore
}
else if (hcsr04Dist < 40)
{
//Serial.print(F("Distance: ")); Serial.print(hcsr04Dist); Serial.println(F("[cm]"));
if (timeout == 0)
{
//Serial.println("ON:");
// 1. sets LED Strip RGB color to purple. Change the values in the brackets to (255,0,0) for pure RED, (0,255,0) for pure GREEN and (0,0,255) for pure BLUE.
colors = (colors + 1) % 3;
switch (colors)
{
case 0:
LedStripRGB.setRGB(255, 0, 0);
//Serial.println("RED");
break;
case 1:
LedStripRGB.setRGB(0, 255, 0);
//Serial.println("GREEN");
break;
case 2:
LedStripRGB.setRGB(0, 0, 255);
//Serial.println("BLUE");
break;
}
}
timeout = millis() + 750;
}
if (timeout > 0 &&
millis() > timeout)
{
//Serial.println("OFF:");
timeout = 0;
LedStripRGB.turnOff(); // 3. turns LED Strip RGB off (showing no color). Change the values in the brackets to alter the color.
}
}
/*******************************************************
* Circuito.io is an automatic generator of schematics and code for off
* the shelf hardware combinations.
* Copyright (C) 2016 Roboplan Technologies Ltd.
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
* In addition, and without limitation, to the disclaimers of warranties
* stated above and in the GNU General Public License version 3 (or any
* later version), Roboplan Technologies Ltd. ("Roboplan") offers this
* program subject to the following warranty disclaimers and by using
* this program you acknowledge and agree to the following:
* THIS PROGRAM IS PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS, AND
* WITHOUT WARRANTIES OF ANY KIND EITHER EXPRESS OR IMPLIED. ROBOPLAN
* HEREBY DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
* NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS
* FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND THOSE ARISING BY
* STATUTE OR FROM A COURSE OF DEALING OR USAGE OF TRADE.
* YOUR RELIANCE ON, OR USE OF THIS PROGRAM IS AT YOUR SOLE RISK.
* ROBOPLAN DOES NOT GUARANTEE THAT THE PROGRAM WILL BE FREE OF, OR NOT
* SUSCEPTIBLE TO, BUGS, SECURITY BREACHES, OR VIRUSES. ROBOPLAN DOES
* NOT WARRANT THAT YOUR USE OF THE PROGRAM, INCLUDING PURSUANT TO
* SCHEMATICS, INSTRUCTIONS OR RECOMMENDATIONS OF ROBOPLAN, WILL BE SAFE
* FOR PERSONAL USE OR FOR PRODUCTION OR COMMERCIAL USE, WILL NOT
* VIOLATE ANY THIRD PARTY RIGHTS, WILL PROVIDE THE INTENDED OR DESIRED
* RESULTS, OR OPERATE AS YOU INTENDED OR AS MAY BE INDICATED BY ROBOPLAN.
* YOU HEREBY WAIVE, AGREE NOT TO ASSERT AGAINST, AND RELEASE ROBOPLAN,
* ITS LICENSORS AND AFFILIATES FROM, ANY CLAIMS IN CONNECTION WITH ANY OF
* THE ABOVE.
********************************************************/
Arduino RGB Strip
Here is an Arduino setup to connect a RGB strip.

// Include Libraries
#include "Arduino.h"
#include "RGBLed.h"
// Pin Definitions
#define LEDSTRIPRGB_PIN_SIGR 9
#define LEDSTRIPRGB_PIN_SIGG 6
#define LEDSTRIPRGB_PIN_SIGB 5
// Global variables and defines
#define LedStripRGB_TYPE COMMON_CATHODE
// object initialization
RGBLed LedStripRGB(LEDSTRIPRGB_PIN_SIGR,LEDSTRIPRGB_PIN_SIGG,LEDSTRIPRGB_PIN_SIGB,LedStripRGB_TYPE);
// define vars for testing menu
const int timeout = 10000; //define timeout of 10 sec
char menuOption = 0;
long time0;
// Setup the essentials for your circuit to work. It runs first every time your circuit is powered with electricity.
void setup()
{
// Setup Serial which is useful for debugging
// Use the Serial Monitor to view printed messages
Serial.begin(9600);
while (!Serial) ; // wait for serial port to connect. Needed for native USB
Serial.println("start");
LedStripRGB.turnOff(); // Start with LED Strip RGB turned off
menuOption = menu();
}
// Main logic of your circuit. It defines the interaction between the components you selected. After setup, it runs over and over again, in an eternal loop.
void loop()
{
if(menuOption == '1') {
// LED RGB Strip - Bare (1m) - Test Code
// The LED Strip RGB will turn PURPLE for 500ms(half a second) and turn off
LedStripRGB.setRGB(160, 3, 255); // 1. sets LED Strip RGB color to purple. Change the values in the brackets to (255,0,0) for pure RED, (0,255,0) for pure GREEN and (0,0,255) for pure BLUE.
delay(500); // 2. change the value in the brackets (500) for a longer or shorter delay in milliseconds.
LedStripRGB.turnOff(); // 3. turns LED Strip RGB off (showing no color). Change the values in the brackets to alter the color.
delay(500); // 4. change the value in the brackets (500) for a longer or shorter delay in milliseconds.
}
if (millis() - time0 > timeout)
{
menuOption = menu();
}
}
// Menu function for selecting the components to be tested
// Follow serial monitor for instrcutions
char menu()
{
Serial.println(F("\nWhich component would you like to test?"));
Serial.println(F("(1) LED RGB Strip - Bare (1m)"));
Serial.println(F("(menu) send anything else or press on board reset button\n"));
while (!Serial.available());
// Read data from serial monitor if received
while (Serial.available())
{
char c = Serial.read();
if (isAlphaNumeric(c))
{
if(c == '1')
Serial.println(F("Now Testing LED RGB Strip - Bare (1m)"));
else
{
Serial.println(F("illegal input!"));
return 0;
}
time0 = millis();
return c;
}
}
}
/*******************************************************
* Circuito.io is an automatic generator of schematics and code for off
* the shelf hardware combinations.
* Copyright (C) 2016 Roboplan Technologies Ltd.
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
* In addition, and without limitation, to the disclaimers of warranties
* stated above and in the GNU General Public License version 3 (or any
* later version), Roboplan Technologies Ltd. ("Roboplan") offers this
* program subject to the following warranty disclaimers and by using
* this program you acknowledge and agree to the following:
* THIS PROGRAM IS PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS, AND
* WITHOUT WARRANTIES OF ANY KIND EITHER EXPRESS OR IMPLIED. ROBOPLAN
* HEREBY DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
* NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS
* FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND THOSE ARISING BY
* STATUTE OR FROM A COURSE OF DEALING OR USAGE OF TRADE.
* YOUR RELIANCE ON, OR USE OF THIS PROGRAM IS AT YOUR SOLE RISK.
* ROBOPLAN DOES NOT GUARANTEE THAT THE PROGRAM WILL BE FREE OF, OR NOT
* SUSCEPTIBLE TO, BUGS, SECURITY BREACHES, OR VIRUSES. ROBOPLAN DOES
* NOT WARRANT THAT YOUR USE OF THE PROGRAM, INCLUDING PURSUANT TO
* SCHEMATICS, INSTRUCTIONS OR RECOMMENDATIONS OF ROBOPLAN, WILL BE SAFE
* FOR PERSONAL USE OR FOR PRODUCTION OR COMMERCIAL USE, WILL NOT
* VIOLATE ANY THIRD PARTY RIGHTS, WILL PROVIDE THE INTENDED OR DESIRED
* RESULTS, OR OPERATE AS YOU INTENDED OR AS MAY BE INDICATED BY ROBOPLAN.
* YOU HEREBY WAIVE, AGREE NOT TO ASSERT AGAINST, AND RELEASE ROBOPLAN,
* ITS LICENSORS AND AFFILIATES FROM, ANY CLAIMS IN CONNECTION WITH ANY OF
* THE ABOVE.
********************************************************/
ESP32 Arduino Pin Layout

Welcome to circuito.io
I HUNTED A ROBOT (and ate it)
A ‘wired’ IoT network for makers
Automated License Plate Reader
The VaaS [Automated License Plate Reader] reads 1800 license plates per minute and stores in a local police DB.
[Automated License Plate Readers (ALPRs)]
[DIY License Plate Scanner Built with a Raspberry Pi]
