简体   繁体   中英

How do I program digital pins on arduino uno?

I'm trying to make a microcontroller with an arduino. I am supplying with +5volt from the arduino, sending it to an NC button (so i can manually decide when to output a certain timed pulse). After the button it goes to a pin that I have set as an inPin (pin8). Then I want the program to make pin 7 HIGH(with a delay), and then it goes to a transistor.

This is the code I tried making (I know almost nothing about coding):

int ledPin = 7;
int inPin = 8;
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(inPin, INPUT);
}



void loop() 
{
if (inPin=HIGH) {
  digitalWrite(ledPin, HIGH);
}
    delay (500);
  digitalWrite(ledPin, LOW);
}

For some reason the outPin is HIGH all the time. I remembered to hook up a resistor to GND so the digital pin would stay LOW when supposed to be LOW.

Thanks in advance!

if(inPin=HIGH) is a mistake, first of all use "==" instead of "=" . ALso you need to READ input pin state: int invalue = digitalRead(inPin);

Also, all pins by default coonfigured as inputs, so you don't need use pinMode(inPin, INPUT);

After those changes your code will look like:

int ledPin = 7;
int inPin = 8;
void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() 
{
  if (digitalRead(inPin)==HIGH) digitalWrite(ledPin, HIGH);
  delay (500);
  digitalWrite(ledPin, LOW);
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM