Arduino Lezione 15 Passaggio a livello con sensore a infrarossi (IR) e Servo

  Рет қаралды 5,717

Fabrizio Pipia

Fabrizio Pipia

Күн бұрын

Пікірлер: 54
@enzopilati6718
@enzopilati6718 Жыл бұрын
Grazie ottima lezione
@fabrizio_pipia
@fabrizio_pipia Жыл бұрын
sono contento sia stata utile. A presto, Fabrizio
@corsaro533
@corsaro533 Жыл бұрын
⁠ciao molto bello! Se io volessi usare un sistema analogico anziché arduino che interruttori devo usare ? Io sono indeciso tra quelli semplici a due posizioni ON OFF, oppure quelli a pressione e rilascio automatico. Grazie
@fabrizio_pipia
@fabrizio_pipia Жыл бұрын
Buongiorno, grazie per i complimenti. Non ho capito in che modo vorresti usare i pulsanti (è quasi identico usare quelli bistabili o quelli on-off) devi gestire diversamente l'impulso che arriva, ma sempre con Arduino. Non saprei aiutarti nella costruzione del circuito senza utilizzare arduino perché dovresti fare la parte di controllo dell'interruttore, la parte di pilotaggio del servo motore, la parte di temporizzatore per la chiusura. A presto, Fabrizio
@dario86707
@dario86707 2 жыл бұрын
Salve ma per collegare 2 servo contemporaneamente devo duplicare lo schetch e il secondo servo al pin che voglio ?
@fabrizio_pipia
@fabrizio_pipia 2 жыл бұрын
Buongiorno Dario, per gestire due servo devi duplicare sia il circuito sia lo Scketch su mBlock. Ovviamente se i due servo sono comandati dallo stesso sensore il codice sarà praticamente identico: dove hai l'istruzione "imposta l'angolo del servo al pin2 a 0°" avrai di seguito anche "imposta l'angolo del servo al pin3 a 0" (stessa cosa per l'apertura dei servo). La struttura del codice poi sarà la stessa (dentro un "per sempre" leggi il valore restituito dal sensore, poi dentro un "se" verifichi lo stato della variabile (qunado è 0 fai una cosa, attendi e fai l'opposto). A presto, Fabrizio
@dario86707
@dario86707 2 жыл бұрын
Posso collegare 2 Servocomandi contemporaneamente?e se posso regolare la velocità del servo grazie
@fabrizio_pipia
@fabrizio_pipia 2 жыл бұрын
Ciao Dario, la risposta alla prima domanda è si, si possono pilotare sino a 3 servo contemporaneamente (di questo tipo, sg90) con la sola alimentazione di arduino. Per collegare altri devi avere un'alimentazione esterna. Per la velocità dei servo ne parlo nel video numero 14 delle lezioni su Arduino ne mio canale, se non lo riesci a trovare ti mando il link. A presto, Fabrizio
@dario86707
@dario86707 2 жыл бұрын
@@fabrizio_pipia io vorrei attivare un passaggio a livello con 2 sbarre chiuse al passaggio del treno e temporizzarle , oppure che si alzano dopo che il convoglio è passato però con reed è più comodo per me io sono un fermodellista di plastici grazie
@fabrizio_pipia
@fabrizio_pipia 2 жыл бұрын
Ciao Dario, il progetto è molto interessante, io non ho mai fatto nessun video coni Reed (spero di riuscire tra qualche settimana), ma la logica è la stessa del sensore a infrarossi: primo sensore magnetico disposto prima delle sbarre, quando passa il magnete (treno) da impulso ad arduino che abbassa le sbarre, secondo sensore dopo le sbarre quando passa il treno solleva le sbarre. Quindi due sensori su due pin, e un pin (o se vuoi anche 2 separati che fanno la stessa cosa) che pilotano i servo in apertura e chiusura. Se ho tempo provo a fare un video per questa situazione. A presto, Fabrizio
@dario86707
@dario86707 2 жыл бұрын
@@fabrizio_pipia dove posso trovare lo sketch? Grazie
@fabrizio_pipia
@fabrizio_pipia 2 жыл бұрын
Ciao Dario, non ho un sito dove poter mettere del materiale quindi dovresti prendere direttamente le istruzioni dal video e andare a scriverle su mblock. A presto, Fabrizio
@giovanniaddis9212
@giovanniaddis9212 3 жыл бұрын
buongiorno , vorrei utilizzare il suo progetto per automatizzare l'apertura di una sbarra tramite sensore , vorrei inserire anche una fotocellula che mi blocchi la sbarra nel caso dovesse passare qualche bambino. Purtroppo non so programmare in C e la presentazione dell'elaborato che ho in mente è alle porte , provo a fare lo sfacciato e chiedere se sarebbe così gentile di cedermi il suo skech. Grazie.................
@fabrizio_pipia
@fabrizio_pipia 3 жыл бұрын
Buongiorno, non riesco a capire di che barra parla (se è un modellino o una automazione reale a 220 volt). non mi costa niente darle il codice del mio lavoro, ma non è prevista la parte della cellula e senza saper programmare non vedo come riesca a realizzare tutto. Per interrompere in maniera improvvisa l'automazione deve utilizzare gli interrupt di Arduino o gestire il ciclo con un controllo che lavora sia sui gradi del servo sia sul fatto che non ci sia interruzione da parte del sensore/cellula. ad ogni modo, le copio il codice, vedrà lei come meglio utilizzarlo, Fabrizio #include double sensore; Servo servo_9; void setup(){ pinMode(7,INPUT); servo_9.attach(9); // init pin } void loop(){ sensore = digitalRead(7); if(((sensore)==(0))){ servo_9.write(90); // write to servo delay(4); servo_9.write(0); // write to servo } }
@dario86707
@dario86707 2 жыл бұрын
Ciao scusa ho fatto il collegamento e và tutto bene solo che non lo carica su arduino , dice caricamento non riuscito , ma arduino lo devo alimentare a parte 5 volts ? Grazie
@fabrizio_pipia
@fabrizio_pipia 2 жыл бұрын
Ciao Dario, dammi qualche indizio in più. Stai usando mBlock? allora potrebbe essere un problema di collegamento quindi devi verificare dal menù "Schede" di aver settato "Arduino uno", quindi dal menù "Collegare" scegli la porta seriale (indicando una delle com che ti fa vedere il programma), a quel punto prova la voce "aggiorna Firmware" sempre dalla scheda collegare. A quel punto ti dice se arduino sta comunicando con il programma. puoi andare dove ci sono i comandi per programmare arduino (nella scheda dei comandi "Robot"), li dovresti vedere un pallino verde. Se è tutto ok, allora prova a fare doppio click su "programma arduino" e vedi se il tuo programma sta funzionando. Fammi sapere come va, a presto, Fabrizio
@dario86707
@dario86707 2 жыл бұрын
@@fabrizio_pipia si ho fatto tutto come nel video funziona tutto solo quando vado su modalità arduino e vado su carica su arduino si blocca e mi da un errore tipo java
@dario86707
@dario86707 2 жыл бұрын
@@fabrizio_pipia stò usando mblock versione.3.4.11
@fabrizio_pipia
@fabrizio_pipia 2 жыл бұрын
il caso tipico di un errore di caricamento è quando stai utilizzando i pin 0 e 1 di Arduino, dovresti staccarli per il trasferimento del file. Mi confermi che non li stai usando?
@dario86707
@dario86707 2 жыл бұрын
@@fabrizio_pipia si lo sto usando , come trasferisco i file?
@giuseppelaporta6407
@giuseppelaporta6407 3 жыл бұрын
Buonasera, vorrei realizzare qualcosa di simile per movimentare gli scambi di un plastico ferroviario utilizzando come sensore i contatti reed. è possibile programmare la direzione del convoglio e quanti scambi potrei collegare a una scheda Arduino? Qualche consiglio per lo skech. Grazie
@fabrizio_pipia
@fabrizio_pipia 3 жыл бұрын
Buonasera Giuseppe, la invito a guardare l'automazione degli scambi che ho realizzato con dei motorini passo passo, potrebbe essere utile. Rigardo i sensori reed sono da sistemare lungo il circuito, quando arriv il treno (basta anche una calamita sul treno) si chiudono e comandano l'azione sullo scambio. Con arduino possiamo pilotare diversi motori, dipende da quanti pin digitali servono (con i motorini a 4 pin servono 4 piedini, quindi al massimo 3 scambj nel caso di arduino uno). A presto, Fabrizio
@giuseppelaporta6407
@giuseppelaporta6407 3 жыл бұрын
@@fabrizio_pipia grazie e auguri di buone feste
@fabrizio_pipia
@fabrizio_pipia 3 жыл бұрын
Altrettanto a te, tanti auguri!!!!
@rinaldofappani151
@rinaldofappani151 4 жыл бұрын
buongiorno, ho provato a realizzare il passaggio a livello con sensore IR e Servo e tutto funziona perfettamente. avrei necessità di realizzare un passaggio a livello con 4 binari paralleli e gradirei sapere come impostare "il o i sensori IR" e se devo duplicare il Servo per le due barre contrapposte visto che la distanza tra loro è notevole. Ovviamente i treni potranno passare in senso alternato. Non so se mi sono spiegato, in quanto sono un principiante con Arduino, pertanto se ha piacere di darmi una dritta ringrazio. cordiali saluti rinaldo fappani
@fabrizio_pipia
@fabrizio_pipia 4 жыл бұрын
Buonasera, se riuscisse a darmi qualche informazione più precisa su come intende realizzare il progetto potrei provare a darle qualche consiglio. non ho capito se le due sbarre contrapposte sono ai due lati della "strada" di accesso ai binari. nel caso quando passa il "treno" vorrebbe aprire/chiudere le due sbarre contemporaneamente, giusto? in quel caso con lo stesso sensore a infrarossi deve azionare due servo motori che fanno sostanzialmente la stessa cosa negli stessi tempi (quindi quando sensore=0 deve aggiungere un altro comando per il secondo servo magari collegato al pin 8). riguardo al fatto che ha due treni che si muovono in direzioni diverse nei due binari deve dupplicare anche i sensori IR, uno che rileva ogni passaggio in ogni binario.
@andreafacinoli4716
@andreafacinoli4716 8 ай бұрын
a me servirebbe il codice se possibile perchè ho un altra applicazione e posso scrivere solo codici e non blocchi
@fabrizio_pipia
@fabrizio_pipia 8 ай бұрын
Buon giorno Andrea, mBlock è un programma gratuito creato da MIT di Boston, quindi se volessi lo potresti scaricare liberamente e installare. Con mBlock hai la possibilità anche di esportare il codice nell'IDE di Arduino, suppongo sia quello il programma che dici di avere. Ad ogni modo, ti posso incollare qui il codice generato direttamente dal programma che ho scritto io, tu poi ti occuperai di capire come modificarlo nell'ambiente che dici di avere (importare librerie e quant'altro). A presto, Fabrizio #include #include #include #include double angle_rad = PI/180.0; double angle_deg = 180.0/PI; double valore; Servo servo_8; void setup(){ servo_8.attach(8); // init pin pinMode(2,INPUT); servo_8.write(53); // write to servo } void loop(){ valore = digitalRead(2); _delay(0); if(((valore)==(1))){ servo_8.write(180); // write to servo _delay(3); servo_8.write(54); // write to servo _delay(3); } _loop(); } void _delay(float seconds){ long endTime = millis() + seconds * 1000; while(millis() < endTime)_loop(); } void _loop(){ }
Arduino lezione 16 transistor npn e pompa sommersa con mBlock
24:11
Fabrizio Pipia
Рет қаралды 3 М.
Wednesday VS Enid: Who is The Best Mommy? #shorts
0:14
Troom Oki Toki
Рет қаралды 50 МЛН
Usare un sensore a Infrarossi (IR) con Arduino - #87
6:27
paolo aliverti
Рет қаралды 38 М.
How To Make Robots Move Smoothly | Arduino Tutorial
12:28
James Bruton
Рет қаралды 779 М.
Уроки Ардуино. ПИД регулятор
28:57
Заметки Ардуинщика
Рет қаралды 490 М.
Come digitalizzare una locomotiva analogica.
14:13
RealModels
Рет қаралды 27 М.
Ricevitore ad infrarossi (Sensori con Arduino)
8:52
Tech Maker [Italian Tech Project]
Рет қаралды 13 М.
Arduino: Sensore REED. Passaggio a livello con doppio sensore
37:27
Fabrizio Pipia
Рет қаралды 1,6 М.
#19 Modellismo Ferroviario - Tutorial, installare un passaggio a livello
6:54
Sensors - which one to use
17:06
Electronoobs
Рет қаралды 1,4 МЛН