CHAM 2018-04-09

From Noisebridge
Jump to navigation Jump to search

Circuit Hacking Arduino Mondays - April 09, 2018

[edit | edit source]

THIS DOCUMENT: https://www.noisebridge.net/CHAM_2018-04-09

Getting Started

[edit | edit source]

If you have never worked with an Arduino before, you'll first need to install the Arduino IDE (Integrated Development Environment).

Download and install the Arduino IDE

[edit | edit source]
  Windows:  https://www.arduino.cc/en/Guide/Windows
  Mac OS X: https://www.arduino.cc/en/Guide/MacOSX
  Linux:    https://www.arduino.cc/en/Guide/Linux
  Web IDE:  https://create.arduino.cc/editor
  You may need to install a separate USB driver to connect with the Arduino board. Speak with one of us.

Arduino Pinout

[edit | edit source]

(CLICK TO ENLARGE)

[edit | edit source]

Select "Blink from the Arduino IDE's "File > Examples > 01. Basics" menu, or load the code from the following page:

  https://www.arduino.cc/en/Tutorial/Blink

Fun with LEDs

[edit | edit source]
[edit | edit source]

You can either modify the "Blink" example above to use a different pin, or you can follow another example sketch-

  https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino---v32/experiment-1-blinking-an-led
[edit | edit source]

A slightly more sophisticated technique- load File > Examples > 02. Digital > BlinkWithoutDelay

PWM: Pulse-width modulation

[edit | edit source]

Use a digital "~" pin to output a signal which dims and brightens using pulse-width modulation (powering the pin for short bursts)

   Load File > Examples > 03. Analog > Fading

Multiple LEDs at once

[edit | edit source]

Now let's add multiple LEDs to your breadboard, and make them blink-

  https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino---v32/experiment-4-driving-multiple-leds

Controlling LEDs with Outside Events

[edit | edit source]

Adding inputs to control the LEDs: switches

  https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino---v32/experiment-5-push-buttons

Use a Photoresistor to control an LED!

[edit | edit source]

See Kevin for a photoresistor. Follow these directions to set up the photoresistor, then use the input to control the PWM from above.

https://playground.arduino.cc/Learning/PhotoResistor

Intermediate

[edit | edit source]

Communicating between two Arduinos with Packet Radios

[edit | edit source]

Packet Radios! The nRF24L01 is a digital radio chip that Arduinos can use to send and receive data.

Requires two people with an Arduino apiece. Ask Kevin, J, Asim or Joe for a radio module.

Find a partner and follow this document: http://howtomechatronics.com/tutorials/arduino/arduino-wireless-communication-nrf24l01-tutorial/

Advanced

[edit | edit source]

Packet Radios^2! Communicate with more than one other radio

[edit | edit source]

Send an ACK (acknowledgement) message after receiving a message. Let's sender know a receiver got a message. This constitutes bidirectional communication, which http://tmrh20.github.io/RF24/GettingStarted_CallResponse_8ino-example.html

Stepper Motors! Control the position of a motor that's used in 3D printers!

[edit | edit source]

https://arduino-info.wikispaces.com/SmallSteppers

Using motors ordered from here: https://www.amazon.com/Elegoo-28BYJ-48-ULN2003-Stepper-Arduino/dp/B01CP18J4A

THIS DOCUMENT: https://www.noisebridge.net/CHAM_2018-04-09