Video: Come rendere SMART le prese con il Raspberry Pi Zero 2025
I circuiti programmabili nei progetti di elettronica richiedono un po 'di programmazione. Se il tuo circuito programmabile è un BASIC Stamp, lo scriverai in PBASIC. PBASIC consente di assegnare un nome a un pin I / O. Questa funzione rende il programma un po 'più auto-documentante.
Ad esempio, è possibile utilizzare le istruzioni HIGH e LOW per impostare lo stato dell'uscita di un pin I / O. La seguente istruzione imposta il pin 6 su HIGH:
HIGH 6
Qui, il numero 6 indica che il pin 6 deve essere impostato su HIGH.
Il problema con l'uso del solo numero pin per identificare quale pin si desidera controllare è che non si può sapere quale tipo di dispositivo è connesso al pin 6 semplicemente osservando la frase. Potrebbe essere un LED, ma potrebbe anche essere un motore o un servo o anche una valvola pneumatica che fa apparire una creatura di Frankenstein.
Per porre rimedio a questa situazione, PBASIC consente di assegnare un nome a un pin I / O inserendo un'istruzione simile a questa vicino all'inizio del programma:
LED1 PIN 0
Qui, il nome Led1 è assegnato al pin 0. Ora, è possibile utilizzare il nome Led1 in un'istruzione HIGH o LOW, come questa:
HIGH Led1
Questa istruzione imposta il pin I / O a cui fa riferimento il nome Led1 ALTO.
Ecco un programma che utilizza i nomi dei pin invece dei numeri dei pin. Il vero vantaggio della creazione dei nomi PIN è che rende molto più semplice cambiare la configurazione dei pin del progetto in un secondo momento.
Ad esempio, si supponga di decidere che invece di collegare i sei LED ai pin 0, 2, 4, 6, 8 e 10, si desidera collegarli ai pin 0, 1, 2, 3, 4 e 5. Usando i nomi dei pin, è necessario modificare le assegnazioni dei pin una sola volta quando si modifica il programma, nelle istruzioni PIN vicino all'inizio del programma.
'Programma LED Flasher' Doug Lowe '10 luglio 2011 "Questo programma fa lampeggiare i LED collegati ai pin 0, 2, 4, 6, 8 e 10' a intervalli di mezzo secondo." Questa versione del programma utilizza nomi di pin invece di numeri. '{$ PBASIC 2. 5}' {$ STAMP BS2} Led1 PIN 0 Led2 PIN 2 Led3 PIN 4 Led4 PIN 6 Led5 PIN 8 Led6 PIN 10 Principale: ALTO Led1 ALTO Led2 ALTO Led3 ALTO Led4 ALTO Led5 ALTO Led6 PAUSA 500 BASSO Led1 LOW Led2 LOW Led3 LOW Led4 LOW Led5 LOW Led6 PAUSE 500 GOTO Principale
