arduino:arduino_crash_course:misc
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
arduino:arduino_crash_course:misc [2015/02/16 03:29] – mithat | arduino:arduino_crash_course:misc [2015/02/16 04:22] (current) – [Serial communication] mithat | ||
---|---|---|---|
Line 29: | Line 29: | ||
This leaves: | This leaves: | ||
- | * **Binary | + | * **Digital |
* **PWM out:** 9, 10, and 11; pins 5 and 6 have higher-than-expected duty cycles. | * **PWM out:** 9, 10, and 11; pins 5 and 6 have higher-than-expected duty cycles. | ||
- | * **Analog or digital in:** A0, A1, A2, A3 | + | * **Analog or digital |
+ | |||
+ | Note that pin 13 also has a pullup resistor on it for the internal LED, meaning it's a poor choice for use as an input even if you're not using SPI. | ||
---- | ---- | ||
Line 37: | Line 39: | ||
===== I/O ===== | ===== I/O ===== | ||
- | * "The analog input pins can be used as digital pins, referred to as A0, A1, etc." ((http:// | ||
==== Output ==== | ==== Output ==== | ||
- | === Binary | + | === Digital |
* Output is limited to 40mA. More current draw can destroy the chip. | * Output is limited to 40mA. More current draw can destroy the chip. | ||
* There are no output resistors. | * There are no output resistors. | ||
Line 57: | Line 58: | ||
digitalWrite(LED_PIN, | digitalWrite(LED_PIN, | ||
} | } | ||
+ | </ | ||
+ | |||
+ | * "The analog input pins can be used as digital pins, referred to as A0, A1, etc." ((http:// | ||
+ | * "The analog pins can be used identically to the digital pins, using the aliases A0 (for analog input 0), A1, etc. For example, the code would look like this to set analog pin 0 to an output, and to set it HIGH: " ((http:// | ||
+ | |||
+ | <code c> | ||
+ | pinMode(A0, OUTPUT); | ||
+ | digitalWrite(A0, | ||
</ | </ | ||
Line 74: | Line 83: | ||
==== Input ==== | ==== Input ==== | ||
- | === Binary | + | === Digital |
- | * " | + | * " |
* Internal pullup resistors are disabled by default. | * Internal pullup resistors are disabled by default. | ||
Line 89: | Line 98: | ||
btnState = digitalRead(BUTTON); | btnState = digitalRead(BUTTON); | ||
} | } | ||
+ | </ | ||
+ | |||
+ | * "The analog input pins can be used as digital pins, referred to as A0, A1, etc." ((http:// | ||
+ | * "The analog pins can be used identically to the digital pins, using the aliases A0 (for analog input 0), A1, etc." ((http:// | ||
+ | |||
+ | <code c> | ||
+ | pinMode(A0, INPUT); | ||
+ | btnState = digitalRead(A0); | ||
</ | </ | ||
Line 103: | Line 120: | ||
=== A/D input === | === A/D input === | ||
+ | * 10-bit unsigned A/D conversion with about 10kHz sample rate. | ||
+ | * Default reference to 5VDC. Can be overridden via '' | ||
+ | * No setup is needed. | ||
+ | |||
<code c> | <code c> | ||
+ | int ANALOG_PIN = 3; // Maps to A3 we think. | ||
+ | int val = 0; | ||
+ | |||
+ | void loop() { | ||
+ | val = analogRead(ANALOG_PIN); | ||
+ | } | ||
</ | </ | ||
+ | ---- | ||
+ | |||
+ | ===== Serial communication ===== | ||
+ | |||
+ | * Serial I/O consumes pins 0 (for RX) and 1 (for TX) if used. | ||
+ | * [[http:// | ||
+ | |||
+ | ==== Serial output ==== | ||
+ | |||
+ | Simple reporting: | ||
+ | <code c> | ||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | Serial.write(65); | ||
+ | Serial.print(42); | ||
+ | Serial.println(" | ||
+ | Serial.print(78, | ||
+ | Serial.println(1.23456, | ||
+ | Serial.end(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Serial output ==== | ||
+ | Later. | ||
+ | |||
+ | |||
+ | ---- | ||
arduino/arduino_crash_course/misc.1424057398.txt.gz · Last modified: 2015/02/16 03:29 by mithat