![]() |
Citazione:
|
Citazione:
Per il motore in DC non dovresti aver problemi a pilotarlo: in rete se cerchi trovi SICURAMENTE come fare e come collegarlo. Ti basta scegliere uno dei pin rimasti liberi, dichiararlo come uscita e accenderlo/spegnerlo se vuoi un controllo ON/OFF con "digitalwrite" oppure con controllo PWM (da 0 a max con valori ntermedi) con la funzione "analogwrite". Circuitalmente parlando basta un resistore tra il pin che hai scelto e la base del transistor (il valore non ricordo ma almeno di qualche Kohm), l'emettitore a massa e il collettore a uno dei due fili del motore, l'altro filo a Vcc. Occhio che i 5v forniti dall'arduino mediante cavo usb potrebbero non bastare per il motore in DC in quanto hanno la carattetristica di assorbire molta corrente per lo spunto inziiale per cui potresti vedere l'arduino resettarsi all'avvio del motore stesso. Ti consiglio di caricare il firmware e poi alimentare la scheda con un'altra fonte di energia a 5V |
Dimenticavo...anche un diodo in antiparallelo al motore per evitare sovratensioni negative. Cerca in google e avrai le risposte, non sono a PC adesso |
Citazione:
|
Collegamenti completati e schema finalmente finito:lol: https://s21.postimg.org/8dwk643nb/Clima_serra_bb.jpg Il problema ora sorge nel codice che, dal solo motore dc con monitor virtuale, invio 255 e parte, a 0 si ferma come dovrebbe essere, per cui qui tutto ok. Ma visto che ora nel codice di certo non posso fare copia/incolla in questo modo: Codice: #include <Wire.h>per cui, ignorantemente parlando se i=30C° i>30C° (motorPin, LOW) if i<30C° (motorPin; speed) Una cosa del genere giusto? |
Al posto di questo.... ======================================= if (Serial.available()) { int speed = Serial.parseInt(); if (speed >= 0 && speed <= 255) { analogWrite(motorPin, speed); } } ======================================== metti... ========================================= if (t > 30) { speed = 255 ; } else { speed = 0 ; } analogWrite(motorPin, speed); ========================================= |
Citazione:
ora provo e vi faccio sapere^_^ |
No, purtroppo mi restituise questo errore:shutup: Codice: Arduino:1.8.2 (Windows 10), Scheda:"Arduino/Genuino Uno"Codice: //Con l'aiuto di aero330 ed ElNonino, utenti di www.baronerosso.it |
Devi dichiarare la variabile speed. " int speed; " o qualcosa di simile. :yeah: |
Non hai dichiarato la variabile: speed Inserisci: int speed = 0; Prima del void setup() { |
| Tutti gli orari sono GMT +2. Adesso sono le 15:39. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002