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));
}