Sommario:

Crea un flag di avviso Applescript/Arduino: 5 passaggi (con immagini)
Crea un flag di avviso Applescript/Arduino: 5 passaggi (con immagini)

Video: Crea un flag di avviso Applescript/Arduino: 5 passaggi (con immagini)

Video: Crea un flag di avviso Applescript/Arduino: 5 passaggi (con immagini)
Video: Why city flags may be the worst-designed thing you've never noticed | Roman Mars 2024, Dicembre
Anonim
Crea un flag di avviso Applescript/Arduino
Crea un flag di avviso Applescript/Arduino

Ti sei mai sentito come se il suono della posta sul tuo Mac non fosse abbastanza? Semplici suoni e avvisi non fanno per te? Vuoi qualcosa di più evidente e gratificante? Se è così, questo è l'Instructable che stavi cercando. In questo Instructable, ti mostrerò come collegare Arduino al tuo Mac e lanciare un flag reale quando si verifica l'avviso di tua scelta. Nel nostro esempio, faremo un avviso e-mail, ma puoi usare AppleScript per chiamarlo quando succede quasi qualcosa. Ho creato un piccolo flag Instructables da attivare quando ricevo commenti sui miei istruttori. Iniziamo!

Passaggio 1: cosa ti serve

Quello di cui hai bisogno
Quello di cui hai bisogno

Hardware: Un Arduino: so almeno che il Duemilanove e il Diecimila funzioneranno. Non so se le versioni più vecchie della scheda funzioneranno. Un flag: ho creato un flag per gli istruibili per avvisarmi quando ricevo un commento sugli istruttori. Un resistore da 47 Ohm: questo serve per impedire che Arduino si reimposti alla chiusura di una connessione seriale Un ServoWires per collegare Arduino al Servo. I miei cavi erano un po' più lunghi del necessario. Software: codice seriale C Arduino di Tod Kurt. Tod ha inserito questo codice che rende estremamente facile comunicare con Arduino. File inclusi qui. Per maggiori informazioni guarda qui:https://todbot.com/blog/2006/12/06/arduino-serial-c-code-to-talk-to-arduino/- Arduino Code- Run Flag Applescript

Passaggio 2: configura Arduino

Configura Arduino
Configura Arduino
Configura Arduino
Configura Arduino
Configura Arduino
Configura Arduino
Configura Arduino
Configura Arduino

Dobbiamo prima impostare il lato fisico di questa equazione. Fuori dal servo ci sono 3 fili: tensione, terra e controllo. In questa configurazione, li collegheremo a 5v, Ground e Pin 9. Inoltre, inseriremo un resistore da 47 ohm nel pin 3v3 e nel pin di ripristino. Ciò impedirà all'arduino di ripristinarsi ogni volta che viene chiusa una connessione seriale. Questo è stato un vero problema per me da affrontare all'inizio, avevo scritto il software per gestire il ripristino con un ritardo, ma non ha mai funzionato come volevo. Il resistore risolve facilmente questo problema. Nota: secondo la fonte da cui ho ricevuto questo, il resistore provoca una corrente eccessiva di 20 mA nell'Arduino quando viene premuto il pulsante di ripristino. La persona che l'ha testato ha detto che non rientra nelle specifiche, ma ha comunque funzionato. Evita di resettare Arduino quando hai il resistore collegato. SoftwareCarica il software incluso su Arduino. Apporta le modifiche che ritieni opportuno. In sostanza, stai inviando uno 0 o un 1 all'arduino e alzerà o abbasserà il flag in base a ciò.

Passaggio 3: impostare il servo e la bandiera

Imposta il servo e la bandiera
Imposta il servo e la bandiera

Nastro bandiera al palo. Nastro palo al servo… Abbastanza semplice.

Passaggio 4: configurazione della comunicazione del software

Comunicazione software di configurazione
Comunicazione software di configurazione
Comunicazione software di configurazione
Comunicazione software di configurazione

Per prima cosa, dovrai compilare lo script di comunicazione seriale Arduino di Tod Kurt. Questo è semplicissimo. Apri il terminale e naviga verso il punto in cui hai il file arduino-serial.c Digita quanto segue: gcc -o arduino-serial arduino-serial.c Una volta completata la compilazione, digita:./arduino-seria e dovrebbe stampare sul informazioni sull'utilizzo dello schermo. Mettiamo alla prova la nostra bandiera. Nel terminale, vai alla posizione del tuo script arduino-serial appena creato e digita quanto segue:./arduino-serial -b 9600 -p /dev/tty.usbserial-A4001lGx -s 1 Dovrai sostituire la porta seriale di Arduino. Se non sei sicuro di cosa sia, vai nel software Arduino e guarda in Strumenti-> Porta seriale. L'ordine qui è importante. -b è baud e deve essere impostato prima che venga impostata la porta (-p). -s è il messaggio da inviare. Questo dovrebbe alzare il flag, puoi abbassarlo cambiando "1" alla fine di quella riga con uno "0" (zero) Una volta che funziona, la prossima cosa è impostare il AppleScript associato. Con questo Applescript, dovrai dirgli dove si trova tutto. Per facilità, ho bloccato tutto nello stesso punto, vale a dire: ~/Library/Scripts/, ovviamente puoi usare quello che vuoi. Una volta che hai la configurazione di Applescript, provaci premendo quel grande verde " corri" in alto. Ancora una cosa e siamo a posto. Ora dobbiamo configurare Mail.app per eseguire Applescript. Apri Mail e vai nelle preferenze. Seleziona RegoleAggiungi una regolaNella regola, imposta le condizioni come preferisci. Per me, ho impostato la regola in modo che l'indirizzo "da" contenga "instructables.com", quindi si attiverà quando riceverò qualcosa da Instructables. Hai finito! Se hai un metodo per testarlo, provalo.

Passaggio 5: considerazioni finali

Non è necessario utilizzare Mail.app per trarne vantaggio, ovviamente. Puoi attivare lo script da qualsiasi applicazione che accederà ad Applescript, inclusi gli utenti di Finder. Windows: non ho abbastanza familiarità con Outlook per sapere se hai modi per attivare l'esecuzione dello script, ma immagino che qualcuno qui non avrebbe problemi a capirlo out. A causa del modo in cui viene eseguito Applescript, il ritardo nello script interromperà tutto mentre attende. Non ho ancora esplorato la soluzione di questo problema, ma immagino che sarebbe stato fatto sul lato di Arduino, piuttosto che su Applescript. Ad esempio, invia due parametri ad Arduino: il bit up/down e una durata… Spero che Instructable ti sia piaciuto. L'ho messo insieme per vedere se riuscivo a capire un po' di più sull'interazione con il mondo reale dal mondo dei computer.

Consigliato: