Changes between Version 13 and Version 14 of ControlSystems/Electrical/Training/Arduino/Lesson8


Ignore:
Timestamp:
Nov 3, 2019, 4:20:38 PM (6 years ago)
Author:
David Albert
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ControlSystems/Electrical/Training/Arduino/Lesson8

    v13 v14  
    88
    99== IR Proximity Sensors ==
    10 [[Image(http://s3.electrodragon.com/wp-content/uploads/2013/05/InfraredIR-Obstacle-Avoidance-Sensor-ModuleAdjust-Distance-350x350.jpg, align=right, width=128)]]
     10[[Image(IRdistanceModule.jpg, align=right, width=128, margin=10)]]
    1111* [http://blog.whatgeek.com.pt/arduino/keyesir-obstacle-avoidance-sensor/ IR proximity sensors] provide a very inexpensive way to detect objects at a fixed distance.  You configure the sensing distance with a potentiometer.  The module then outputs a 1 if an object is closer than that or a 0 if not.  IR sensors are useful because they are very inexpensive and require very little processing power (no distance calculation is needed).
    1212
     
    1515== Serial Communications ==
    1616* [https://www.arduino.cc/en/Reference/Serial Serial communications] note: requires a [http://www.gearbest.com/development-boards/pp_139898.htm TTL-to-RS-232 adapter] - ask a mentor.
    17     * [https://www.arduino.cc/en/Tutorial/SoftwareSerialExample Software Serial] (aka bit-banging) [[Image(https://hackadaycom.files.wordpress.com/2009/09/officespace.jpg?w=270, align=right, title=wrong way to bit-bang)]]
     17    * [https://www.arduino.cc/en/Tutorial/SoftwareSerialExample Software Serial] (aka bit-banging) [[Image(bitbang.jpg?w=270, margin=10, align=right, title=wrong way to bit-bang)]]
    1818   - Serial interfaces use a small number of wires (usually 3) to carry information between devices.  The information is encoded as a sequence of digital bits (high or low voltages) sent sequentially at a fixed, mutually agreed rate.   Your Arduino has a hardware serial interface that can be used to send information to your desktop computer and receive information from it.  You can, for example, display debug output or give your Arduino a command prompt.
    1919
     
    2121
    2222== LCD Displays ==
    23 [[Image(http://www.dfrobot.com/wiki/images/thumb/e/e8/I2C_LCD1602_TOY0046.jpg/400px-I2C_LCD1602_TOY0046.jpg, align=right, width=128)]]
     23[[Image(16x2LCD.jpg, align=right, width=128)]]
    2424For low power portable information output, it's hard to beat LCD displays.  The team has a small number of LCD-1602 display modules which can display 16 characters x 2 lines of text.  It is amazing how helpful it is on an embedded system (like a robot) to have a status display.  If you add a few buttons, you have a powerful, built-in user interface; printers often use a 2-line LCD with 4 buttons for configuration and status.
    2525
     
    2828== IR Remote Control ==
    2929
    30 [[Image(http://www.analysir.com/blog/wp-content/uploads/2014/12/VS1838B.jpg?d06c04, align=right, width=128)]]
     30[[Image(IRremoteReceiver.jpg?align=right, width=128, margin=10)]]
    3131Most remote controls use LEDs that emit infra-red light.  They use a technique called On-Off Keying (OOK) which turns an infra-red LED on and off 38000 times per second (38kHz).  When the LED is active (turning on and off at 38kHz), a '1' is being transmitted.  When the LED is turned off, a '0' is being transmitted.  An IR receiver detects this signal by filtering out all signals that are *not* changing at 38kHz; the receiver output goes high when a 38kHz signal is being received and low otherwise.  You can (and should) read about this [https://learn.sparkfun.com/tutorials/ir-communication here].
    3232