期中考 期中考

 #define TRIGPIN 10

#define ECHOPIN 13
#define LED1 7
#define LED2 8
#define LED3 9
long ping() {
 digitalWrite(TRIGPIN, LOW);
 delayMicroseconds(2);
 digitalWrite(TRIGPIN, HIGH);
 delayMicroseconds(10);
return pulseIn(ECHOPIN, HIGH)/58;
}
void setup() {
 pinMode(TRIGPIN, OUTPUT);
 pinMode(ECHOPIN, INPUT);
 pinMode(LED1, OUTPUT);
 pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
}
void loop() {
long cm = ping();
 if (cm < 30) {
 digitalWrite(LED1, HIGH);
 digitalWrite(LED2, LOW);
  digitalWrite(LED3,  LOW);
  delay(100);
  }else if (cm < 50) {
     digitalWrite(LED1, LOW);
 digitalWrite(LED2, HIGH);
  digitalWrite(LED3,  LOW);
  delay(100);
  }else if (cm < 60) {
     digitalWrite(LED1, LOW);
 digitalWrite(LED2, LOW);
  digitalWrite(LED3,  HIGH);
  delay(100);
}else
 delay(100);
}
作業 作業

 

一、

void setup() {

  // initialize digital pin 13 as an output.
 
  pinMode(13, OUTPUT);
 
}
 
// the loop function runs over and over again forever
 
void loop() {
 
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
 
  delay(50);                // wait for a second
 
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
 
  delay(3000);              // wait for a second
 }
 
二、
const int pingPin = 7;
 
void setup() {
  // initialize serial communication:
  Serial.begin(9600);
}
 
void loop()
{
 long duration, inches, cm;
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);
 pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(100);
}
 
long microsecondsToInches(long microseconds)
{
  return microseconds / 74 / 2;
}
 
long microsecondsToCentimeters(long microseconds)
{
  return microseconds / 29 / 2;
}