Connessione e configurazione Arduino. Collegare e programmare Arduino per principianti Arduino non avvia Windows 7

Studiare i microcontrollori sembra complicato e incomprensibile? Prima che apparisse Arudino, non era davvero facile e richiedeva un certo set di programmatori e altre attrezzature.

Questo è un tipo di progettista elettronico. L'obiettivo iniziale del progetto è consentire alle persone di imparare facilmente a programmare i dispositivi elettronici, dedicando un tempo minimo alla parte elettronica.

L'assemblaggio di circuiti complessi e il collegamento delle schede può essere effettuato senza saldatore, ma con l'ausilio di ponticelli con connessioni maschio e femmina staccabili. In questo modo è possibile collegare sia gli elementi montati che le schede di espansione, che nel lessico di Arduino vengono chiamate semplicemente “Shield”.

Qual è la prima scheda Arduino da acquistare per un principiante?

È considerata la tavola base e più popolare. Questa scheda ha le dimensioni di una carta di credito. Abbastanza grande. La maggior parte degli scudi in vendita si adattano perfettamente ad esso. La scheda dispone di prese per il collegamento di dispositivi esterni.

Nei negozi nazionali nel 2017 il suo prezzo è di circa 4-5 dollari. Sui modelli moderni, il suo cuore è Atmega328.

Immagine della scheda Arduino e spiegazione delle funzioni di ciascun pin, pinout Arduino UNO

Il microcontrollore su questa scheda è un lungo chip in un pacchetto DIP28, il che significa che ha 28 gambe.

La successiva tavola più popolare costa quasi il doppio della precedente: 2-3 dollari. Questa è una tassa. Le schede attuali sono costruite sullo stesso Atmega328, sono funzionalmente simili a UNO, le differenze sono nelle dimensioni e nella soluzione per il coordinamento con USB, ne parleremo più avanti. Un'altra differenza è che per collegare i dispositivi alla scheda vengono fornite spine a forma di perno.

Il numero di pin (gambe) di questa scheda è lo stesso, ma puoi vedere che il microcontrollore è realizzato in un pacchetto TQFP32 più compatto, ADC6 e ADC7 sono aggiunti al case, le altre due gambe "extra" duplicano il bus di alimentazione . Le sue dimensioni sono abbastanza compatte, circa le dimensioni di un pollice.

La terza scheda più apprezzata è che non dispone di una porta USB per il collegamento al computer, vi dirò come avviene il collegamento poco dopo.

Questa è la scheda più piccola tra tutte quelle recensite, per il resto è simile alle due precedenti, e il suo cuore è ancora l'Atmega328. Non prenderemo in considerazione altre schede, poiché questo è un articolo per principianti e il confronto delle schede è un argomento per un articolo separato.

In alto c'è uno schema di collegamento USB-UART, il pin “GRN” è collegato al circuito di reset del microcontrollore, può essere chiamato qualcos'altro, scoprirai più avanti perché è necessario.

Mentre UNO è ottimo per la prototipazione, Nano e Pro Mini sono ottimi per completare il tuo progetto perché occupano poco spazio.

Come collegare Arduino al computer?

Arduino Uno e Nano si collegano al computer tramite USB. Tuttavia, non esiste alcun supporto hardware per la porta USB; qui viene utilizzata una soluzione di circuito di conversione di livello, solitamente chiamata USB-to-Serial o USB-UART (rs-232). Allo stesso tempo, nel microcontrollore viene flashato uno speciale bootloader Arduino, che consente il flashing tramite questi bus.

Arduino Uno implementa questa connessione su un microcontrollore con supporto USB - ATmega16U2 (AT16U2). Si scopre che è necessario un microcontrollore aggiuntivo sulla scheda per eseguire il flashing del firmware del microcontrollore principale.

In Arduino Nano questo è implementato dal chip FT232R, o dal suo analogico CH340. Questo non è un microcontrollore: è un convertitore di livello, questo rende più semplice assemblare Arduino Nano da zero con le tue mani.

In genere, i driver vengono installati automaticamente quando si collega la scheda Arduino. Quando però ho acquistato una copia cinese dell'Arduino Nano, il dispositivo è stato identificato, ma non funzionava, sul convertitore c'era un adesivo rotondo con informazioni sulla data di uscita, non so se questo è stato fatto apposta , ma quando l'ho staccato ho visto la marcatura CH340.

Non l'avevo mai riscontrato prima e pensavo che tutti i convertitori USB-UART fossero assemblati su FT232, dovevo scaricare i driver, sono molto facili da trovare cercando "driver Arduino ch340". Dopo una semplice installazione, tutto ha funzionato!

Il microcontrollore può anche essere alimentato tramite la stessa porta USB, ad es. se lo colleghi a un adattatore da un telefono cellulare, il tuo sistema funzionerà.

Cosa devo fare se la mia scheda non dispone di USB?

La scheda Arduino Pro Mini ha dimensioni più ridotte. Ciò è stato ottenuto rimuovendo il connettore USB per il firmware e lo stesso convertitore USB-UART. Pertanto, deve essere acquistato separatamente. Il convertitore più semplice basato su CH340 (il più economico), CPL2102 e FT232R, costa da 1 dollaro.

Al momento dell'acquisto, prestare attenzione alla tensione per cui è progettato questo adattatore. Pro mini è disponibile nelle versioni da 3,3 e 5 V; i convertitori spesso dispongono di un ponticello per la commutazione della tensione di alimentazione.

Quando si esegue il flashing del firmware Pro Mini, immediatamente prima di avviarlo è necessario premere RESET, tuttavia, nei convertitori con DTR ciò non è necessario, lo schema di collegamento è nella figura seguente.

Sono collegati con speciali terminali “Mama-Mama” (femmina-femmina).

In realtà tutti i collegamenti possono essere effettuati utilizzando tali terminali (Dupont), sono dotati su entrambi i lati di prese e di spine, e da un lato c'è la presa e dall'altro c'è la spina.

Come scrivere programmi per Arduino?

Per lavorare con gli schizzi (il nome del firmware nella lingua degli ingegneri di Arduino), esiste uno speciale ambiente di sviluppo integrato per l'IDE Arduino, puoi scaricarlo gratuitamente dal sito ufficiale o da qualsiasi risorsa tematica; di solito non ci sono problemi con installazione.

Ecco come appare l'interfaccia del programma. Puoi scrivere programmi in un linguaggio C AVR semplificato sviluppato appositamente per Arduino, essenzialmente un insieme di librerie chiamate Wiring, così come in puro C AVR. Il cui utilizzo semplifica il codice e ne accelera il funzionamento.

Nella parte superiore della finestra c'è un menu familiare in cui puoi aprire un file, impostazioni, selezionare la scheda con cui stai lavorando (Uno, Nano e molti, molti altri) e anche aprire progetti con esempi di codice già pronti. Di seguito è riportata una serie di pulsanti per lavorare con il firmware; vedrai l'assegnazione dei tasti nella figura seguente.

Nella parte inferiore della finestra è presente un'area per la visualizzazione delle informazioni sul progetto, sullo stato del codice, del firmware e sulla presenza di errori.

Nozioni di base sulla programmazione dell'IDE Arduino

All'inizio del codice è necessario dichiarare variabili e includere librerie aggiuntive, se presenti, questo viene fatto come segue:

#include biblioteka.h; // collega la libreria denominata “Biblioteka.h”

#define changenaya 1234; // Dichiara una variabile con il valore 1234

Il comando Define consente al compilatore di scegliere il tipo della variabile stessa, ma è possibile impostarlo manualmente, ad esempio, un intero int o un float a virgola mobile.

led intero = 13; // crea la variabile “led” e le assegna il valore “13”

Il programma può determinare lo stato del pin come 1 o 0. 1 è un'unità logica, se il pin 13 è 1, la tensione sul suo pin fisico sarà uguale alla tensione di alimentazione del microcontrollore (per Arduino UNO e Nano - 5 V)

Un segnale digitale viene scritto utilizzando il comando digitalWrite (pin, valore), ad esempio:

digitalWrite(led, alto); //ne scrivo uno sul pin 13 (lo abbiamo dichiarato sopra) log. Unità.

Come potete capire, si accede alle porte secondo la numerazione presente sulla scheda, corrispondente al numero. Ecco un esempio simile al codice precedente:

digitalWrite(13, alto); // imposta il pin 13 su uno

Una funzione di ritardo temporale utilizzata di frequente viene richiamata dal comando delay(), il cui valore è specificato in millisecondi, i microsecondi si ottengono utilizzando

ritardoMicrosecondi() Ritardo(1000); //il microcontrollore attenderà 1000 ms (1 secondo)

Le impostazioni delle porte di ingresso e uscita sono specificate nella funzione void setup() con il comando:

pinMode(NOMERPORTA, OUTPUT/INPUT); // argomenti: nome della variabile o numero di porta, input o output tra cui scegliere

Comprendere il primo programma Blink

Come una sorta di “Ciao mondo” per i microcontrollori, esiste un programma per far lampeggiare un LED, diamo un'occhiata al suo codice:

All'inizio, con il comando pinMode, abbiamo detto al microcontrollore di assegnare all'uscita la porta con il LED. Hai già notato che nel codice non c'è la dichiarazione della variabile “LED_BUILTIN”, il fatto è che nelle schede Uno, Nano e altre, un LED integrato è collegato di fabbrica al pin 13 ed è saldato su asse. Può essere utilizzato da te per la visualizzazione nei tuoi progetti o per il semplice test dei tuoi programmi flash.

Successivamente, impostiamo il pin su cui è saldato il LED su uno (5 V), la riga successiva fa attendere il MK 1 secondo, quindi imposta il pin LED_BUILTIN su zero, attende un secondo e il programma si ripete in cerchio, quindi quando LED_BUILTIN è uguale a 1 - il LED (e qualsiasi altro carico collegato alla porta) è acceso, quando a 0 è spento.

Leggiamo il valore dalla porta analogica e utilizziamo i dati letti

Il microcontrollore AVR Atmega328 è dotato di un convertitore analogico-digitale a 10 bit integrato. L'ADC a 10 bit consente di leggere valori di tensione da 0 a 5 volt, a passi di 1/1024 dell'intera oscillazione dell'ampiezza del segnale (5 V).

Per renderlo più chiaro, consideriamo la situazione, diciamo che il valore della tensione sull'ingresso analogico è 2,5 V, il che significa che il microcontrollore leggerà il valore dal pin "512", se la tensione è 0 - "0" e se 5 V - (1023). 1023 - perché il conteggio inizia da 0, cioè 0, 1, 2, 3, ecc. fino a 1023 - 1024 valori in totale.

Questo è ciò che appare nel codice, utilizzando come esempio lo schizzo standard "analogInput".

int sensorePin = A0;

int ledPin = 13;

valoresensore int = 0;

pinMode(LEDPin, USCITA);

valoresensore = analogRead(pinsensore);

digitalWrite(LEDPin, ALTO);

ritardo(valoresensore);

digitalWrite(LEDPin, BASSO);

ritardo(valoresensore);

Dichiariamo le variabili:

    Ledpin: assegniamo in modo indipendente un pin con un LED integrato all'uscita e gli diamo un nome individuale;

    sensorPin - ingresso analogico, impostato in base ai contrassegni sulla scheda: A0, A1, A2, ecc.;

    sensorValue - una variabile per memorizzare il valore intero letto e lavorare ulteriormente con esso.

Il codice funziona in questo modo: sensorValue salva il valore analogico letto da sensorPin (comando analogRead). - qui finisce il lavoro con il segnale analogico, poi tutto è come nell'esempio precedente.

Ne scriviamo uno su ledPin, il LED si accende e aspettiamo un tempo pari al valore sensorValue, cioè da 0 a 1023 millisecondi. Spegniamo il LED e aspettiamo nuovamente questo periodo di tempo, dopodiché il codice si ripete.

Quindi posizionando il potenziometro impostiamo la frequenza di lampeggio del LED.

Funzione mappa per Arudino

Non tutte le funzioni per gli attuatori (non ne conosco nessuna) supportano "1023" come argomento, ad esempio il servo è limitato dall'angolo di rotazione, cioè per mezzo giro (180 gradi) (mezzo giro) del servomotore l'argomento massimo della funzione è "180"

Ora riguardo alla sintassi: map (il valore che stiamo traducendo, il valore di input minimo, il valore di input massimo, il valore di output minimo, il valore di output massimo).

Nel codice appare così:

(map(analogRead(pot), 0, 1023, 0, 180));

Leggiamo il valore dal potenziometro (analogRead(pot)) da 0 a 1023 e in uscita otteniamo numeri da 0 a 180

Valori della mappa valori:

In pratica applichiamo questo al funzionamento del codice dello stesso servoazionamento, dai un'occhiata al codice dell'IDE di Arduino, se leggi attentamente le sezioni precedenti, allora non richiede alcuna spiegazione.

E lo schema di collegamento.

Conclusioni Arduino è uno strumento molto comodo per imparare a lavorare con i microcontrollori. E se usi Pure C AVR, o come viene talvolta chiamato "Pure C", ridurrai significativamente il peso del codice e una parte maggiore si adatterà alla memoria del microcontrollore, di conseguenza otterrai un'eccellente fabbrica- realizzata una scheda di debug con la possibilità di eseguire il flashing del firmware tramite USB.

Mi piace Arduino. È un peccato che molti programmatori esperti di microcontrollori lo critichino senza fondamento perché troppo semplificato. In linea di principio, solo la lingua è semplificata, ma nessuno ti obbliga a usarla, inoltre puoi eseguire il flashing del microcontrollore tramite il connettore ICSP e caricare lì il codice che desideri, senza bootloader non necessari.

Per chi vuole giocare con l'elettronica, come un progettista avanzato, questo è perfetto, e per i programmatori esperti, essendo una scheda che non necessita di assemblaggio, sarà anche utile!

Per ulteriori informazioni su Arduino e le caratteristiche del suo utilizzo in vari circuiti, consultare l'e-book - .

Quando si installa l'IDE Arduio, i driver necessari per funzionare con le schede Arduino originali dovrebbero essere installati automaticamente. Ma il problema è che le schede cinesi hanno un controller di interfaccia USB più economico, per funzionare è necessario un driver speciale. Il controller cinese non è peggio, è solo più economico =)

Se per qualche motivo non hai installato i driver Arduino, puoi installarli manualmente dalla cartella del programma.
Il driver CH341 per Windows può essere scaricato oppure puoi cercarlo tu stesso su Google.


Successivamente, collega Arduino al computer, attendi che Windows lo riconosca e lo ricordi (prima connessione).
PS Apparirà una finestra che ti informa che il dispositivo è stato riconosciuto ed è connesso ad una porta COM con un numero specifico. diverso dal numero 1

Per impostazione predefinita, in Linux puoi eseguire il flashing degli Arduino cinesi senza apparecchiature aggiuntive. Ma all'inizio non funziona nulla e l'IDE di Arduino genera un errore.
Ecco il punto. Linux (nel mio caso Linux Mint) rileva Arduino come dispositivo ttyUSB*. Di solito è ttyUSB0. Questo può essere scoperto con il comando dmesg nel terminale.
Cioè, nel sistema appare un'interfaccia /dev/ttyUSB0. Ma per lavorare con esso, hai bisogno dei diritti di accesso. Leggere e scrivere sul dispositivo /dev/ttyUSB0 ha un utente root e utenti del gruppo dialout. È meglio evitare di lavorare con i diritti di superutente, quindi dovresti aggiungere il tuo utente al gruppo dialout. Questo può essere fatto con il seguente comando (nota che il comando whoami è tra virgolette)
sudo usermod -a -G dialout `whoami`
Dopodiché è necessario effettuare nuovamente l'accesso. Successivamente, avvia l'IDE Arduino e nel menu "Strumenti-Porta" seleziona la casella accanto a /dev/ttyUSB0.

Grazie per le informazioni Vlad Shemenkov

In questo articolo esamineremo l'installazione dei driver per schede sviluppate da Arduino e dotate di adattatori standard da USB a UART (che hanno driver predefiniti nella cartella IDE di Arduino) come ATmega16U2, FT232RL.

Nel caso in cui disponi di una versione cinese della scheda con un convertitore in CH340G per favore usa questa guida

Installazione del driver nell'ambiente operativo Windows

Ad esempio, esamineremo l'installazione di un driver per Arduino UNO.

Considerando il fatto che le schede Arduino UNO e Arduino Mega utilizzano gli stessi microcircuiti dei chip convertitori da USB a UART (le prime versioni di Atmega 8U2, le versioni R3 utilizzano già 16U2), l'installazione procederà allo stesso modo. Allo stesso modo, tutto accadrà per Arduino nano, anche se il nano utilizza l'FT232RL come chip convertitore.

Parte 1. Installazione automatica del driver

Se il tuo computer è connesso a Internet, molto probabilmente il driver verrà installato automaticamente e non dovrai leggere il resto dell'articolo.

Parte 2. Installazione manuale del driver

Quindi, dopo aver decompresso l'ambiente, colleghiamo la scheda Arduino al computer. Se i driver non vengono installati automaticamente, verrà visualizzata la seguente finestra:

Non allarmarti. Questo è un evento comune. Il driver dovrà essere installato manualmente.

Vai su Risorse del computer/Proprietà/Gestione dispositivi.

Fare doppio clic su "Dispositivo sconosciuto".

Fare clic su "Aggiorna driver".

Seleziona "Cerca driver su questo computer".

Indichiamo la directory in cui è installato l'IDE di Arduino, o meglio la sua cartella figlia “drivers”. Lascia la casella di controllo "Incluse sottocartelle nidificate".

Windows Firewall è pronto come sempre. Fai clic su "Installa comunque questo driver".

Aspettiamo un po' di tempo. Questo è tutto, i driver sono installati e la nostra scheda è pronta per l'uso.

Dopo aver completato con successo questi passaggi, non resta che aprire l'IDE, selezionare porta COM chi ha deciso la scheda, seleziona la scheda stessa dall'elenco e tuffati a capofitto nell'interessante mondo di Arduino.

In questo articolo ho deciso di mettere insieme una guida passo passo completa per i principianti di Arduino. Vedremo cos'è Arduino, cosa ti serve per iniziare a imparare, dove scaricare e come installare e configurare l'ambiente di programmazione, come funziona e come utilizzare il linguaggio di programmazione e molto altro ancora necessario per creare un programma completo dispositivi complessi basati sulla famiglia di questi microcontrollori.

Qui cercherò di dare un minimo condensato in modo che tu possa comprendere i principi del lavoro con Arduino. Per un'immersione più completa nel mondo dei microcontrollori programmabili, presta attenzione ad altre sezioni e articoli di questo sito. Lascerò link ad altri materiali presenti in questo sito per uno studio più approfondito di alcuni aspetti.

Cos'è Arduino e a cosa serve?

Arduino è un kit di costruzione elettronico che permette a chiunque di creare una varietà di dispositivi elettromeccanici. Arduino è costituito da software e hardware. La parte software include un ambiente di sviluppo (un programma per la scrittura e il debug del firmware), molte librerie già pronte e convenienti e un linguaggio di programmazione semplificato. L'hardware include un'ampia linea di microcontrollori e moduli già pronti per loro. Grazie a questo, lavorare con Arduino è molto semplice!

Con l'aiuto di Arduino puoi imparare la programmazione, l'ingegneria elettrica e la meccanica. Ma questo non è solo un costruttore educativo. Sulla base di esso, puoi realizzare dispositivi davvero utili.
A partire da semplici luci lampeggianti, stazioni meteorologiche, sistemi di automazione per finire con sistemi di casa intelligente, macchine CNC e veicoli aerei senza pilota. Le possibilità non sono nemmeno limitate dalla tua immaginazione, perché ci sono moltissime istruzioni e idee per l'implementazione.

Kit di avvio Arduino

Per iniziare a imparare Arduino, devi acquistare la scheda microcontrollore stessa e parti aggiuntive. È meglio acquistare uno starter kit Arduino, ma puoi scegliere tu stesso tutto ciò di cui hai bisogno. Consiglio di scegliere un set perché è più semplice e spesso più economico. Ecco i link ai migliori set e alle singole parti che dovrai sicuramente studiare:

Kit Arduino base per principianti:Acquistare
Ampio set per la formazione e i primi progetti:Acquistare
Set di sensori e moduli aggiuntivi:Acquistare
Arduino Uno è il modello più semplice e conveniente della linea:Acquistare
Breadboard senza saldatura per un facile apprendimento e prototipazione:Acquistare
Set di cavi con comodi connettori:Acquistare
Insieme del LED:Acquistare
Kit resistenza:Acquistare
Pulsanti:Acquistare
Potenziometri:Acquistare

Ambiente di sviluppo IDE Arduino

Per scrivere, eseguire il debug e scaricare il firmware, è necessario scaricare e installare l'IDE Arduino. Questo è un programma molto semplice e conveniente. Sul mio sito ho già descritto il processo di download, installazione e configurazione dell'ambiente di sviluppo. Pertanto, qui lascerò semplicemente i collegamenti all'ultima versione del programma e a

Versione finestre Mac OS X Linux
1.8.2

Linguaggio di programmazione Arduino

Quando avrai tra le mani una scheda microcontrollore e un ambiente di sviluppo installato sul tuo computer, potrai iniziare a scrivere i tuoi primi schizzi (firmware). Per fare ciò è necessario acquisire familiarità con il linguaggio di programmazione.

La programmazione di Arduino utilizza una versione semplificata del linguaggio C++ con funzioni predefinite. Come in altri linguaggi di programmazione simili al C, esistono numerose regole per scrivere il codice. Ecco quelli più basilari:

  • Ogni istruzione deve essere seguita da un punto e virgola (;)
  • Prima di dichiarare una funzione, è necessario specificare il tipo di dati restituito dalla funzione oppure void se la funzione non restituisce un valore.
  • È inoltre necessario indicare il tipo di dati prima di dichiarare una variabile.
  • I commenti sono designati: // Inline e /* blocco */

Puoi saperne di più su tipi di dati, funzioni, variabili, operatori e costrutti del linguaggio nella pagina su Non è necessario memorizzare e ricordare tutte queste informazioni. Puoi sempre andare al libro di consultazione e guardare la sintassi di una particolare funzione.

Tutto il firmware Arduino deve contenere almeno 2 funzioni. Questi sono setup() e loop().

funzione di impostazione

Affinché tutto funzioni, dobbiamo scrivere uno schizzo. Facciamo accendere il LED dopo aver premuto il pulsante e spegnerlo alla pressione successiva. Ecco il nostro primo schizzo:

// variabili con pin dei dispositivi collegati int switchPin = 8; int ledPin = 11; // variabili per memorizzare lo stato del pulsante e del LED boolean lastButton = LOW; booleano currentButton = BASSO; booleano ledOn = falso; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // funzione per l'antirimbalzo booleano debounse(boolean last) ( booleano corrente = digitalRead(switchPin); if(ultimo!= corrente) ( ritardo ( 5); current = digitalRead(switchPin); ) return current; ) void loop() ( currentButton = debounse(lastButton); if(lastButton == BASSO && currentButton == ALTO) ( ledOn = !ledOn; ) lastButton = currentButton ; digitalWrite(LEDPin, ledOn); )

// variabili con pin dei dispositivi collegati

int switchPin = 8;

int ledPin = 11;

// variabili per memorizzare lo stato del pulsante e del LED

booleano lastButton = BASSO;

pulsante corrente booleano = BASSO;

booleano ledOn = falso;

configurazione nulla() (

pinMode(switchPin, INPUT);

pinMode(LEDPin, USCITA);

// funzione per il rimbalzo

debounse booleano (ultimo booleano) (

corrente booleana = digitalRead(switchPin);

if (ultimo!= corrente) (

ritardo(5);

corrente = digitalRead(switchPin);

corrente di ritorno;

ciclo vuoto() (

currentButton = debounse(lastButton);

if (ultimoPulsante == BASSO && pulsanteattuale == ALTO ) (

led acceso = ! led acceso;

ultimoPulsante = pulsanteattuale;

digitalWrite(LEDPin, ledOn);

In questo schizzo ho creato un'ulteriore funzione di antirimbalzo per sopprimere il rimbalzo dei contatti. Ci sono informazioni sul rimbalzo dei contatti sul mio sito web. Assicurati di controllare questo materiale.

Arduino PWM

La modulazione di larghezza di impulso (PWM) è il processo di controllo della tensione utilizzando il ciclo di lavoro di un segnale. Cioè, usando PWM possiamo controllare senza problemi il carico. Ad esempio, è possibile modificare gradualmente la luminosità di un LED, ma questo cambiamento di luminosità si ottiene non diminuendo la tensione, ma aumentando gli intervalli del segnale basso. Il principio di funzionamento del PWM è mostrato in questo diagramma:

Quando applichiamo la PWM al LED, inizia ad accendersi e spegnersi rapidamente. L'occhio umano non è in grado di vederlo perché la frequenza è troppo alta. Ma durante le riprese video, molto probabilmente vedrai momenti in cui il LED non è acceso. Ciò avverrà a condizione che il frame rate della telecamera non sia un multiplo della frequenza PWM.

Arduino ha un modulatore di larghezza di impulso integrato. Puoi utilizzare PWM solo su quei pin supportati dal microcontrollore. Ad esempio, Arduino Uno e Nano hanno 6 pin PWM: questi sono i pin D3, D5, D6, D9, D10 e D11. I pin potrebbero differire su altre schede. Puoi trovare la descrizione della scheda a cui sei interessato

Per usare PWM in Arduino c'è una funzione che prende come argomenti il ​​numero del pin e il valore PWM da 0 a 255. 0 è il riempimento allo 0% con un segnale alto e 255 è il 100%. Scriviamo un semplice schizzo come esempio. Facciamo in modo che il LED si accenda dolcemente, aspettiamo un secondo e si spenga altrettanto dolcemente, e così via all'infinito. Ecco un esempio di utilizzo di questa funzione:

// Il LED è collegato al pin 11 int ledPin = 11; void setup() ( pinMode(ledPin, OUTPUT); ) void loop() ( for (int i = 0; i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) ( analogWrite(ledPin, i); ritardo(5); ) )

// LED collegato al pin 11

int ledPin = 11;

configurazione nulla() (

pinMode(LEDPin, USCITA);

ciclo vuoto() (

for (int i = 0 ; i< 255 ; i ++ ) {

analogWrite(ledPin, i);

ritardo(5);

ritardo(1000);

In queste istruzioni, ad esempio, considereremo come iniziare con il sistema operativo Windows. Per i sistemi operativi Microsoft (Windows 2000/Vista) le differenze sono minime e riguardano principalmente i nomi delle schede in Gestione dispositivi. In altri ambienti operativi, come Linux, FreeBSD, Mac OS X, ecc., la procedura di installazione è notevolmente diversa. Se hai bisogno di organizzare il lavoro con questo software, ti consigliamo di cercare le risposte alle domande sul sito Web principale dello sviluppatore //www.arduino.cc.

Prendiamo Arduino Uno come piattaforma connessa. La differenza con le altre tavole è minima.

Cavo per comunicazione con PC

Per trasferire i dati da un personal computer ad Arduino, è necessario trovare il cavo appropriato. Il cavo non è fornito con le singole schede; è incluso solo nello starter kit Arduino per i progettisti-programmatori praticanti.

ArduinoUNO,Arduino Meg 2560 sono collegati tramite un cavo con connettori USB di tipo A. Questo cavo viene spesso utilizzato per collegare una stampante o uno scanner.

Arduino Leonardo, Arduino Dovuto Per la connessione dispongono di presa micro USB tipo B.

Arduino Nano, Freeduino Nano collegato tramite presa mini USB tipo B.

Per connettere Freeduino MaxSerial Avrai bisogno di un cavo per porta seriale 9M-9F.

C'è un problema : L'IDE di Arduino non si avvia.

Rimedio.

Molto probabilmente, sul computer è installato un JRE (Java Runtime Environment) inappropriato, necessario per eseguire applicazioni grafiche.

Torna alla reinstallazione dell'IDE Arduino: questa volta il programma di installazione inizierà il lavoro di configurazione di JRE.

Collegare le schede Arduino al computer

Dopo aver eseguito con successo l'IDE Arduino, è il momento di collegare qualche piattaforma Arduino al tuo computer. Come già saprai, il collegamento delle schede Arduino al PC avviene tramite un cavo USB.

Collegando la console Arduino al PC un LED “ON” si accenderà e l'altro “L” inizierà a lampeggiare. Ciò significa che l'alimentazione viene fornita tramite il cavo e il microcontrollore ha iniziato a eseguire il programma Blink preimpostato in fabbrica.

Non resta che scoprirlo quale numero di porta COM ha assegnato il computer alla nostra scheda Arduino? , che è importante affinché il software IDE Arduino funzioni correttamente con il nuovo dispositivo.

Il numero della porta COM si trova nella scheda “Gestione dispositivi”, scheda “Porte (COM e LPT)”.

Sui sistemi Windows, molto probabilmente al nostro Arduino Uno con interfaccia seriale verrà assegnata una delle porte COM1 o COM2. Per un Arduino con controller USB, la porta di ingresso sarà COM4, ​​COM5, COM6 o superiore.

Sui sistemi Linux la porta seriale sarà USB0 o USB1.

In "Gestione dispositivi" è stato visualizzato un nuovo dispositivo Arduino: ciò significa che il sistema operativo ha riconosciuto la nostra scheda, ha trovato un driver USB adatto e ha assegnato un numero alla sua interfaccia. Quando si collega insieme un'altra scheda Arduino, le verrà assegnato un numero di porta diverso.

C'è un problema: Quando colleghi la scheda Arduino al computer, non viene visualizzata in Gestione dispositivi.

Rimedio:

  1. Il cavo o la porta USB non sono inseriti completamente o sono danneggiati.
  2. Non esiste alcun driver per questa scheda Arduino. Se hai un Arduino cinese o di un altro produttore sconosciuto, prova a reinstallare manualmente il driver USB.
  3. Bloccato dal programma antivirus.
  4. La scheda Arduino è difettosa.

Nell'IDE Arduino aperto, vai su: Strumenti > Porta > seleziona il numero della porta COM - indica al programma il numero di porta a cui è collegata la piattaforma del microprocessore Arduino.

Affinché il programma firmware IDE di Arduino non abbia dubbi su con cosa dovrà lavorare, indichiamo il tipo della nostra scheda collegata. Per fare ciò, vai al menu: Strumenti > Scheda > seleziona il tipo della tua scheda Arduino.

C'è un problema: Non c'è una singola porta COM nella scheda Porta.

Rimedio.

Ovviamente la connessione tra il dispositivo Arduino e il computer è interrotta. Ripristina una connessione stabile al tuo PC.

Oppure non c'è nessun autista. Puoi scaricarlo alla fine dell'articolo.

Come verificare la connessione di un dispositivo Arduino

Tutti i dati numerici ricevuti tramite la porta COM vengono inviati al Port Monitor nello stesso comodo ambiente grafico Arduino IDE. Pertanto, cliccando sull'icona corrispondente “Port Monitor” nell'angolo in alto a destra della console o trovando la voce corrispondente nel menu Strumenti, puoi vedere dal cambiamento dei numeri nella finestra che si apre che i dati vengono trasmessi tramite il cavo USB , il che significa che la scheda Arduino è collegata in modo sicuro.

Si prega di notare che nella parte inferiore della finestra Port Monitor vengono visualizzate le informazioni sulla velocità di funzionamento con la porta COM “19200 baud” (19200 bps). Questa velocità è impostata di default nello sketch preinstallato sulla scheda Arduino. Questo sketch contiene la riga Serial.begin(19200), in cui è possibile impostare qualsiasi baud rate richiesto, ma ciò è possibile solo quando si lavora tramite cavo USB. Se il trasferimento dei dati avviene tramite un canale radio Bluetooth, è necessario impostare in anticipo il tasso di cambio con la porta COM, esattamente lo stesso che selezioniamo durante il debug del modulo Bluetooth.

C'è un problema: L'IDE di Arduino è incredibilmente lento durante la navigazione nei menu.

Rimedio.

In Gestione dispositivi, nella scheda Seriale Bluetooth, disattiva la connessione Bluetooth al tuo telefono cellulare. Tutte le connessioni esterne tramite Bluetooth consumano in modo significativo la memoria virtuale.

La connessione è stabilita, l'ambiente di sviluppo è configurato: ora hai tra le mani uno strumento ben funzionante per eseguire il flashing di qualsiasi microcontrollore della serie AVR: ATtiny, ATmega, AT90S, AT90CAN, AT90PWM.

L’ambiente di sviluppo IDE di Arduino dispone di molti esempi già pronti per vari compiti, ma per verificare la reattività della scheda al lampeggio è sufficiente apportare piccole modifiche al programma Blink preinstallato (lampeggio del LED “L” sulla scheda).

È sufficiente apportare le modifiche alla riga di ritardo (1000) nello sketch Blink aperto, fare clic su "Carica" ​​e rilevare le modifiche nel funzionamento della scheda Arduino.

Impostando il ritardo (500), il LED “L” lampeggerà due volte più spesso, con un ritardo di mezzo secondo.

Impostando il ritardo (100), il LED "L" si accenderà e si spegnerà 10 volte più velocemente rispetto all'impostazione di fabbrica, ovvero ogni 100 millisecondi.

C'è un problema : durante il caricamento di uno schizzo, è apparso un errore del tipo "non sincronizzato".

Rimedio.

Ciò significa che la piattaforma Arduino collegata non è stata riconosciuta dal sistema operativo. Torna all'impostazione del numero di porta COM e del modello di scheda corretti nel menu Strumenti IDE di Arduino.

E infine, se hai acquistato una scheda Arduino su qualche mercato cinese online, molto spesso sorgono problemi quando si collega la scheda: semplicemente non viene rilevata. Per risolvere questo problema, gli artigiani hanno creato un autista.

Inseguitore fatto in casa per pannelli solari utilizzando Arduino