This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
digispark:tutorials:basics [2013/03/29 06:40] PeterMortensen [DigitalWrite:] Copy edited [3]. Replaced TABs with space to ease formatting. |
digispark:tutorials:basics [2016/06/09 12:03] (current) |
||
|---|---|---|---|
| Line 26: | Line 26: | ||
| digitalWrite(0,HIGH); //Turn the pin HIGH (5 V) | digitalWrite(0,HIGH); //Turn the pin HIGH (5 V) | ||
| delay(1000); | delay(1000); | ||
| - | digitalWrite(0,HIGH); //Turn the pin LOW (GND) | + | digitalWrite(0,LOW); //Turn the pin LOW (GND) |
| delay(1000); | delay(1000); | ||
| } | } | ||
| Line 33: | Line 33: | ||
| ===== Digital Read: ===== | ===== Digital Read: ===== | ||
| - | **NOTE:** The internal pull-up (turned on by calling digitalWrite(0) after setting the pin to output, where 0 is the pin number) are much weaker (about 25k ohm) on an attiny then on an Arduino so the onboard LED interferes with them. If you need them you can use a different port, change your circuit to not need the internal pull-up, or cut the LED trace. For Model A this would apply to P1 for Model B this would apply to P0.([[digispark:tutorials:modelbi2c|Model Identification]]) | + | **NOTE:** The internal pull-up resistor (turned on by calling digitalWrite(0) after setting the pin to output, where 0 is the pin number) are much weaker (about 25 kohm) on an ATtiny than on an Arduino, so the onboard LED interferes with them. If you need them, you can use a different port. Change your circuit to not need the internal pull-up, or cut the LED trace. For Model A this would apply to P1 for Model B this would apply to P0.([[digispark:tutorials:modelbi2c|Model Identification]]) |
| Line 40: | Line 40: | ||
| void setup() { | void setup() { | ||
| - | //All pins are capable of Digital input | + | //All pins are capable of digital input. |
| - | pinMode(0, INPUT); //0 is P0, 1 is P1, 2 is P2, etc - unlike the analog inputs, for digital inputs the pin number matches | + | pinMode(0, INPUT); //0 is P0, 1 is P1, 2 is P2, etc. - unlike the analog inputs, for digital inputs the pin number matches. |
| } | } | ||
| void loop() { | void loop() { | ||
| - | sensorValue = digitalRead(1); //returns HIGH or LOW (true or false / 1 or 0) | + | sensorValue = digitalRead(1); //Returns HIGH or LOW (true or false / 1 or 0). |
| } | } | ||
| </code> | </code> | ||
| Line 54: | Line 54: | ||
| void setup() { | void setup() { | ||
| - | //You need not set pin mode for analogRead - | + | //You need not set pin mode for analogRead - though if you have set the pin to |
| - | //though if you have set the pin to output and later want to read from it then you need to set //pinMode(0,INPUT); where 0 is the physical pin number not the analog input number. | + | //output and later want to read from it then you need to set pinMode(0,INPUT); |
| - | //see below for the proper pinMode statement to go with each analog read | + | //where 0 is the physical pin number not the analog input number. |
| + | // | ||
| + | //See below for the proper pinMode statement to go with each analog read. | ||
| } | } | ||
| void loop() { | void loop() { | ||
| - | // The analog pins are referenced by their analog port number, not their pin number and are as follows: | + | // The analog pins are referenced by their analog port number, not their pin |
| + | //number and are as follows: | ||
| - | sensorValue = analogRead(1); //read P2 | + | sensorValue = analogRead(1); //Read P2 |
| - | //to set to input: pinMode(2,INPUT); | + | //To set to input: pinMode(2, INPUT); |
| - | //THIS IS P2, P2 is Analog Input 1, so when you are using analog read you refer to it as 1 | + | //THIS IS P2, P2 is analog input 1, so when you are using analog read, you refer to it as 1. |
| - | //sensorValue = analogRead(2); //read P4 | + | //sensorValue = analogRead(2); //Read P4 |
| - | //to set to input: pinMode(4,INPUT); | + | //To set to input: pinMode(4, INPUT); |
| - | //THIS IS P4, P2 is Analog Input 2, so when you are using analog read you refer to it as 2 | + | //THIS IS P4, P4 is analog input 2, so when you are using analog read, you refer to it as 2. |
| - | //sensorValue = analogRead(3); //read P3 | + | //sensorValue = analogRead(3); //Read P3 |
| - | //to set to input: pinMode(3,INPUT); | + | //To set to input: pinMode(3, INPUT); |
| - | //THIS IS P3, P3 is Analog Input 3, so when you are using analog read you refer to it as 3 | + | //THIS IS P3, P3 is analog input 3, so when you are using analog read, you refer to it as 3. |
| - | //sensorValue = analogRead(0); //read P5 | + | //sensorValue = analogRead(0); //Read P5 |
| - | //to set to input: pinMode(5,INPUT); | + | //To set to input: pinMode(5, INPUT); |
| - | //THIS IS P5, P5 is Analog Input 0, so when you are using analog read you refer to it as 0 | + | //THIS IS P5, P5 is analog input 0, so when you are using analog read, you refer to it as 0. |
| } | } | ||
| </code> | </code> | ||
| - | ===== Analog Write: (aka PWM)===== | + | ===== Analog Write: (AKA PWM)===== |
| <code> | <code> | ||
| void setup() { | void setup() { | ||
| - | //P0, P1, and P4 are capable of hardware PWM (analogWrite) | + | //P0, P1, and P4 are capable of hardware PWM (analogWrite). |
| - | pinMode(0, OUTPUT); //0 is P0, 1 is P1, 4 is P4 - unlike the analog inputs, for analog (PWM) outputs the pin number matches | + | pinMode(0, OUTPUT); //0 is P0, 1 is P1, 4 is P4 - unlike the analog inputs, |
| + | //for analog (PWM) outputs the pin number matches the port number. | ||
| } | } | ||
| void loop() { | void loop() { | ||
| - | analogWrite(0,255); //turn the pin on full (100%) | + | analogWrite(0,255); //Turn the pin on full (100%) |
| - | delay(1000); | + | delay(1000); |
| - | analogWrite(0,128); //turn the pin on half (50%) | + | analogWrite(0,128); //Turn the pin on half (50%) |
| - | delay(1000); | + | delay(1000); |
| - | analogWrite(0,0); //turn the pin off (0%) | + | analogWrite(0,0); //Turn the pin off (0%) |
| - | delay(1000); | + | delay(1000); |
| } | } | ||
| </code> | </code> | ||
| + | |||