Per determinare se ci sono dei PIN liberi sull’Arduino Nano utilizzato dal PenguinBot, dobbiamo esaminare come sono mappati i PIN nel programma. Ecco una lista dei PIN utilizzati nel codice ufficiale di PenguinBot v.2:
PIN Utilizzati
- Software Serial
SOFTWARE_RXD
→ A2SOFTWARE_TXD
→ A3
- Servo PIN
YL_PIN
→ 10YR_PIN
→ 9RL_PIN
→ 12RR_PIN
→ 6
- Ultrasound Interface
ECHO_PIN
→ 4TRIG_PIN
→ 5
- Infrared Controller Interface
ST188_R_PIN
→ A1ST188_L_PIN
→ A0
- Voltage Detection Interface
VOLTAGE_MEASURE_PIN
→ A4
- LED Indicator Interface
INDICATOR_LED_PIN
→ A5
- Miscellaneous
MY1690_PIN
→ 8HT6871_PIN
→ 7RECV_PIN
→ 3
PIN Arduino Nano
L’Arduino Nano ha i seguenti PIN:
- Digital PIN: 0-13
- Analog PIN: A0-A7
PIN Liberi
Analizzando la mappatura e confrontandola con i PIN disponibili sull’Arduino Nano, possiamo individuare i PIN liberi:
- Digital PIN
- 0 (utilizzato per la comunicazione seriale USB, quindi non utilizzabile)
- 1 (utilizzato per la comunicazione seriale USB, quindi non utilizzabile)
- 2 (libero)
- 3 (utilizzato come
RECV_PIN
) - 4 (utilizzato come
ECHO_PIN
) - 5 (utilizzato come
TRIG_PIN
) - 6 (utilizzato come
RR_PIN
) - 7 (utilizzato come
HT6871_PIN
) - 8 (utilizzato come
MY1690_PIN
) - 9 (utilizzato come
YR_PIN
) - 10 (utilizzato come
YL_PIN
) - 11 (libero)
- 12 (utilizzato come
RL_PIN
) - 13 (libero)
- Analog PIN
- A0 (utilizzato come
ST188_L_PIN
) - A1 (utilizzato come
ST188_R_PIN
) - A2 (utilizzato come
SOFTWARE_RXD
) - A3 (utilizzato come
SOFTWARE_TXD
) - A4 (utilizzato come
VOLTAGE_MEASURE_PIN
) - A5 (utilizzato come
INDICATOR_LED_PIN
) - A6 (libero)
- A7 (libero)
- A0 (utilizzato come
PIN Liberi Riassunti
- Digital PIN: 2, 11, 13
- Analog PIN: A6, A7
Quindi, i PIN liberi disponibili sull’Arduino Nano utilizzato dal PenguinBot sono:
- Digital PIN: 2, 11, 13
- Analog PIN: A6, A7
Questi PIN possono essere utilizzati per ulteriori sensori o componenti aggiuntivi.
Note
Ad una analisi del codice il pin 8 assegnato con la define MY1690_PIN
non è mai utilizzato. Quindi dovrebbe essere libero.
Anche il pin 3 assegnato a RCV_PIN
non è usato.