Difference between revisions of "CHAM 2018-02-26"

From Noisebridge
Jump to: navigation, search
(Advanced)
Line 66: Line 66:
  
 
=== Stepper Motors! Control the position of a motor that's used in 3D printers! ===
 
=== Stepper Motors! Control the position of a motor that's used in 3D printers! ===
https://learn.adafruit.com/adafruit-arduino-lesson-16-stepper-motors/arduino-code
+
https://arduino-info.wikispaces.com/SmallSteppers
  
 
THIS DOCUMENT: https://www.noisebridge.net/CHAM_2018-01-22
 
THIS DOCUMENT: https://www.noisebridge.net/CHAM_2018-01-22

Revision as of 04:34, 27 February 2018

Circuit Hacking Arduino Mondays - February 26, 2018

THIS DOCUMENT: https://www.noisebridge.net/CHAM_2018-02-26

Getting Started

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

  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

(CLICK TO ENLARGE) Uno board pinout.png

Test that your setup works - Blink the Arduino's onboard LED

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

Let's add one LED to your Arduino breadboard now, and make it blink

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

Blink without the "delay()" function

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

PWM: Pulse-width modulation

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

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

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!

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

Communicating between two Arduinos with Packet Radios

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/

NRF24L01-and-Arduino-Tutorial-Circuit-Schematic.png

Advanced

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

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!

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

THIS DOCUMENT: https://www.noisebridge.net/CHAM_2018-01-22