User Tools

Site Tools


digispark:tutorials:basics

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 Arduinoso the onboard LED interferes with them. If you need themyou 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 readyou 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 readyou 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 readyou 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 readyou 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>​
 +
digispark/tutorials/basics.1364564421.txt.gz · Last modified: 2013/03/29 06:40 by PeterMortensen