Arduino Nano Every を使ったロボトレーサーのポートテスト


#include 
Servo myservo; 
Servo myservo2; 

int pos = 0;    // variable to store the servo position
int n=0;

void setup() {
  myservo.attach(5); //  motor L
  myservo2.attach(6); // motor R
  pinMode(2, INPUT_PULLUP); // start sw
  pinMode(3, INPUT_PULLUP); // set sw
  pinMode(9, OUTPUT); // IR LED switching
  pinMode(10, OUTPUT); // IR LED switching
  digitalWrite(9,LOW);
  digitalWrite(10,LOW);
  PORTE.DIR |= B00001111;  // portEの下位4bitをまとめて扱う。D8,D13,D12,D11 が PE3,2,1,0

  Serial.begin(9600); 
}

void loop() {

  // 表示用LEDの確認
  if (n<15) n++; else n=0;
  PORTE.OUT &= B11110000;
  PORTE.OUT |=n; 
  
  // モータ回転、交互に
  myservo.write(90);  
  myservo2.write(120);
 // digitalWrite(9,HIGH);
 // digitalWrite(10,LOW);
  delay(500);            
  myservo.write(120);  
  myservo2.write(90); 
 //digitalWrite(9,LOW);
 // digitalWrite(10,HIGH); 
  delay(500); 
  tone(7,440,100);   
  
  // スイッチと赤外LEDスイッチングのポートの動作確認。
  if (digitalRead(2)) digitalWrite(9,LOW); else digitalWrite(9,HIGH);
  if (digitalRead(3)) digitalWrite(10,LOW); else digitalWrite(10,HIGH);
 
 // アナログ入力ポート
  Serial.print("A0:");Serial.print(analogRead(A0));
  Serial.print(" A1:");Serial.print(analogRead(A1));
  Serial.print(" A2:");Serial.print(analogRead(A2));
  Serial.print(" A3:");Serial.print(analogRead(A3));
  Serial.print(" A4:");Serial.print(analogRead(A4));
  Serial.print(" A5:");Serial.println(analogRead(A5));
  //Serial.print(" A6:");Serial.print(analogRead(A6));
  //Serial.print(" A7:");Serial.println(analogRead(A7));
}