![]() |
il più e meno licollego dove?
|
bungiorno devo collegare il più e meno delle ventole sul sesnsore di temperatura?
e poi quello in mezzo dove lo collego a quale parte di arduino? |
No, devi collegare il più e il meno del sensore a un più e un meno del tuo circuito (come ho disegnato nello schema di collegamento alcuni post fa), poi il centrale lo mandi all'A0 di Arduino.
Per quel che riguarda la ventola: - se è a 5v colleghi il meno (solitamente di colore nero) al GND di Arduino e il più all'uscita dedicata (ora non ricordo quale fosse). - se la ventola è a 12v colleghi l'uscita di Arduino ad un relè e colleghi normalmente la ventola al relè. |
Sirnino possiamo parlare tramite skype o whats upp? io non ci capisco nulla grz
|
bn sera a tutti qualcuno potrebbe gentilmente aiutarmi a fare i collegamenti tra arduino e lcd? io li ho fatti ma non compaiono scritte help please :)
|
Ciao Marco da quello che ho visto nelle foto che mi hai mandato credo che il problema sia il potenziometro del contrasto.
Non l'ho visto nelle foto e non ne abbiamo parlato per telefono ma COME DISEGNATO ANCHE NELLO SCHEMA, ci vuole. |
io ho preso questi, risparmi molti pin su arduino
http://www.ebay.com/itm/5-Serial-IIC...item33963101ef |
Sandro cosa sono questi scusa?
------------------------------------------------------------------------ cmq qualcuno mi fa schema tipo bimbo questo va qua e quello va li? per favore non capisco più nulla |
Marco colleghi i pin laterali del potenziometro al più e al meno ed il pin centrale lo colleghi al pin 3 dell'LCD.
|
non ho il potenziometro io
|
Te lo dovresti procurare, nel post 22 ho scritto tutto l'hardware che serviva e c'era anche la resistenza variabile.
Per il momento potresti provare a portare un più diretto al pin3 ma non ti garantisco che funzioni. |
io ho capito che : c'e il più e meno da una parte del lcd e poi uguale nella estemita del lcd poi gli altri cavi non ho ancora capito bene dove collegarli guardando lo schema mi perdo mi serve uno schema semplice con i 16 pin del lcd e i relativi posti dove li collego arduino, senza basetta ecc solo lcd e arduino grazie, non esiste qualcosa che possa utilizzare per attaccare e staccare velocemente i pin degli lcd tipo un i2c
|
pcb arduino.... solo pcb arduino
|
quale pcb? link please
|
Secondo me Mimmo intende un PCB (fai-da-te autosviluppato o su millefori)..ma devi capire cosa devi fare e cosa devi collegare.
|
voreei collegare lcd con i 12 pin che mi servono, ma il collegamento tra lcd e d arduino qualcuno melo spiega alla bimbo tipo grz
|
Quote:
http://arduino.cc/en/Tutorial/LiquidCrystal |
ma io ho il 25 60 non arduino uno i pin sono differenti
|
Marco leggi lo sketch, ci sono scritti i pin a cui collegare l'lcd con arduino secondo lo schema del sito ufficiale.
|
si ho visto lo sketch mi dice i pin ma tramite lo schema di arduino sul sisto non capisco mica dove vanno bene, cmq la plafo arduino non la gestisce e io non so come fare senza sto lcd per capire se va o no
|
Quote:
|
e come si fa?
|
Quote:
Dai un'occhiata a questo link: Arduino e comunicazione seriale P.S.: su internet trovi tutto, basta andare su Google e cercare "Arduino <QuelloCheVuoi>";-) |
buongiorno l'ho fato ma la plafoniera va come vuole non segue arduino:( io ho collegato solo il pwm dei degli lddh ad arduino devo collegare altro?
|
nessuno può aiutarmi?
|
|
il problema è rtc non prende la mia data e ora del pc, ho usato questo sketch: http://www.mauroalfieri.it/elettroni...on-ds1307.html
e mi dice che è il 2055 le ore 15.50 e cosi via boh qualche anima buona mi aiuta? ho fato anch il reset di arduino ma lui mi dice sempre la stessa cosa che siamo nel 2005 :( |
|
Ciao a tutti ora rtc da la data corrente ma lo sketch di Nino non lo prende, invece quello dell rtc si che devo fare? Come faccio hd reset aiutatemi sto impaxzendo!!!!
|
Sono riuscito a capire il problema lo sketch di Nino a me non lo prende infatti rimane accesa anche la luce rossa tx sempre quando carico il suo, invece caricando sketch tipo rtc solo la luce verde rimane accesa, qualcuno mi passa uno sketch modificato? Grz
|
Buongiorno!!!! finalmente :) ho capito perchè a me non va lo sketch di Nino, perchè io ho i menwell700mamp e lui nello sketch non li ha dichiarati quindi non potranno mai comunicare arduino e i meanwell, ho trovato uno sketch che funziona ma dovrei sistemarloper mettere i restanti canali qualcuno mi aiuta?
ecco lo sketch /* originally written by Christian, cptbjorn@gmail.com modified by Cesar, caddnima@gmail.com, https://sites.google.com/site/caddnima/ Version 1.00, 2012-03-13 */ #define DS1307_I2C_ADDRESS 0x68 // indirizzo utilizzato per l'orologio #include "Wire.h" // libreria utilizzata #include <LiquidCrystal.h> // libreria utilizzata /* ************************************************** ************************************************** **************** */ /* * * */ /* * Note: tempo per la rampa di discesa è lo stesso tempo per la rampa di salita. * */ /* * * */ /* ************************************************** ************************************************** **************** */ const int relayPin1 = 2; // Pin arduino (non PWM) utilizzato per il relè 1 const int relayPin2 = 8; // Pin arduino (non PWM) utilizzato per il relè 2 int relayState1 = LOW; int relayState2 = LOW; long previousMillis1 = 0; long previousMillis2 = 0; long interval1 = 30000; // Quanti millisecondi per accendere e spegnere per RELAY1 long interval2 = 50000; // Quanti millisecondi per accendere e spegnere per RELE'2 /* ************************************************** ************************************************** **************** */ /* * * */ /* * Note: tempo per la rampa di discesa è lo stesso tempo per la rampa di salita. * */ /* * * */ /* ************************************************** ************************************************** **************** */ /* ************************************************** ******************************* */ /* * * */ /* * Note: time for ramp down is the same as time for ramp up. * */ /* * * */ /* ************************************************** ******************************* */ int ontime = 10 ; // Che ora si desidera che il blu per iniziare a decollare?? int blueramptime = 60 ; // Quanti minuti vuoi l'azzurro a far decollare? int whiteramptime = 180 ; // Dopo l'azzurro, quanti minuti vuoi che il bianco di rampa di salita? int photoperiod = 240 ; // Dopo il bianco, quanti minuti vuoi che rimanga a intensità max? int blue = 3; // Che Arduino pin PWM si sta utilizzando per l'azzurro? int white = 11; // Che Arduino pin PWM che si sta utilizzando per il bianco? int bluemin = 0 ; int whitemin = 0 ; int bluepercent[11] = { 0, 1, 2, 5, 8 ,12, 18, 27, 44, 80, 255 }; int whitepercent[11] = { 0, 1, 2, 5, 8 ,12, 18, 27, 44, 80, 255 }; /* ************************************************** ******************************* */ /* * * */ /* * the line below is needed if you are using meanwell ELN60-48P, for pwm * */ /* * these are the values in 10% increments * */ /* * [11] is not the arduino pin but the number of steps used from 0 to 255 * */ /* * just remove // sign below for the blue and white * */ /* * and add // sign above for the blue and white * */ /* * * */ /* ************************************************** ******************************* */ //int bluepercent[11] = { 0, 26, 52, 78, 103, 128, 154, 180, 205, 230, 255 }; //int whitepercent[11] = { 0, 26, 52, 78, 103, 128, 154, 180, 205, 230, 255 }; // int pwm_one = 10; // Extra pin PWM per un uso futuro (ricambio) // int pwm_one = 9; // Extra pin PWM per un uso futuro (ricambio) /* ************************************************** ******************************* */ /* * * */ /* * Spilli originariamente Arduino 8, 9, 4, 5, 6, 7 sono utilizzati, * */ /* * Devo usare diversi pin Arduino non PWM, così posso riservato il PWM * */ /* * Spilli per altro uso * */ /* * * */ /* ************************************************** ******************************* */ LiquidCrystal lcd(8, 9, 4, 5, 6, 7); /* ************************************************** ************************************************** **************** */ /* * * */ /* * R T C C L O C K D S 1 3 0 7 * */ /* * * */ /* ************************************************** ************************************************** **************** */ byte decToBcd(byte val) // Convertire numeri decimali normali decimale codificato in binario { return ( (val/10*16) + (val%10) ); } byte bcdToDec(byte val) // convertire in codice binario decimale a normali numeri decimali { return ( (val/16*10) + (val%16) ); } // 1) Imposta la data e l'ora del DS1307 // 2) Avvia l'orologio // 3) Imposta la modalità di un'ora all'orologio 24 ore // Presuppone che si sta passando in numeri validi void setDateDs1307(byte second, // 0-59 byte minute, // 0-59 byte hour, // 1-23 byte dayOfWeek, // 1-7 byte dayOfMonth, // 1-28/29/30/31 byte month, // 1-12 byte year) // 0-99 { Wire.beginTransmission(DS1307_I2C_ADDRESS); Wire.send(0); Wire.send(decToBcd(second)); // 0 al bit 7 inizia l'orologio Wire.send(decToBcd(minute)); Wire.send(decToBcd(hour)); // Se si vuole 12 ore am / pm è necessario impostare // Bit 6 (necessario anche per cambiare readDateDs1307 Wire.send(decToBcd(dayOfWeek)); Wire.send(decToBcd(dayOfMonth)); Wire.send(decToBcd(month)); Wire.send(decToBcd(year)); Wire.endTransmission(); } // Ottiene la data e l'ora dal DS1307 void getDateDs1307(byte *second, byte *minute, byte *hour, byte *dayOfWeek, byte *dayOfMonth, byte *month, byte *year) { // Resettare il puntatore registro Wire.beginTransmission(DS1307_I2C_ADDRESS); Wire.send(0); Wire.endTransmission(); Wire.requestFrom(DS1307_I2C_ADDRESS, 7); // Alcuni di questi hanno bisogno di maschere perché alcuni bit sono bit di controllo *second = bcdToDec(Wire.receive() & 0x7f); *minute = bcdToDec(Wire.receive()); *hour = bcdToDec(Wire.receive() & 0x3f); // Necessità di cambiare questo caso 12 ore am / pm *dayOfWeek = bcdToDec(Wire.receive()); *dayOfMonth = bcdToDec(Wire.receive()); *month = bcdToDec(Wire.receive()); *year = bcdToDec(Wire.receive()); } /* ************************************************** ************************************************** **************** */ /* * * */ /* * D E F I N E : O N E S E C O N D * */ /* * * */ /* ************************************************** ************************************************** **************** */ void onesecond() //funzione che viene eseguita una volta al secondo, mentre il programma è in esecuzione { byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year); lcd.setCursor(0, 0); if(hour>0) { if(hour<=12) { lcd.print(hour, DEC); } else { lcd.print(hour-12, DEC); } } else { lcd.print("12"); } lcd.print(":"); if (minute < 10) { lcd.print("0"); } lcd.print(minute, DEC); lcd.print(":"); if (second < 10) { lcd.print("0"); } lcd.print(second, DEC); if(hour<12) { lcd.print("am"); } else { lcd.print("pm"); } lcd.print(" "); delay(1000); } /* ************************************************** ************************************************** **************** */ /* * * */ /* * D E F I N E : R E L A Y 1 * */ /* * * */ /* ************************************************** ************************************************** **************** */ void relay1() //funzione per accendere e spegnere RELAY 1. { unsigned long currentMillis = millis(); if(currentMillis - previousMillis1 > interval1) { previousMillis1 = currentMillis; if (relayState1 == LOW) relayState1 = HIGH; else relayState1 = LOW; digitalWrite(relayPin1, relayState1); } } /* ************************************************** ************************************************** **************** */ /* * * */ /* * D E F I N E : R E L A Y 2 * */ /* * * */ /* ************************************************** ************************************************** **************** */ void relay2() { unsigned long currentMillis2 = millis(); if(currentMillis2 - previousMillis2 > interval2) { previousMillis2 = currentMillis2; if (relayState2 == LOW) relayState2 = HIGH; else relayState2 = LOW; digitalWrite(relayPin2, relayState2); } } /* ************************************************** ************************************************** **************** */ /* * * */ /* * S E T U P * */ /* * * */ /* ************************************************** ************************************************** **************** */ void setup() { pinMode(relayPin1, OUTPUT); // Imposta il pin digitale come output: pinMode(relayPin2, OUTPUT); // Imposta il pin digitale come output: /* ************************************************** ************************************************** **************** */ /* * * */ /* * S E T U P - D I S P L A Y * */ /* * * */ /* ************************************************** ************************************************** **************** */ byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; Wire.begin(); second = 56; minute = 57; hour = 23; dayOfWeek = 6; // Sunday is 0 dayOfMonth = 26; month = 2; year = 11; /* ************************************************** ******************************* */ /* * * */ /* * Questo è dove si imposta il tempo... * */ /* * 1) modificare il secondo, minuto, ora, etc sopra * */ /* * 2) rimuovere // sotto * */ /* * 3) e caricare questo schizzo per il tuo arduino * */ /* * 4) dopo aver caricato lo schizzo, mettere il//nuovo * */ /* * 5) e caricare questo schizzo di nuovo al tuo arduino e salvare * */ /* * * */ /* ************************************************** ******************************* */ //setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year); analogWrite(blue, bluemin); analogWrite(white, whitemin); lcd.begin(16, 2); // Impostare il numero del display LCD di righe e colonne: // lcd.print("12:00 80.6"); // Stampa un messaggio sul display LCD. // lcd.print(char(223)); lcd.setCursor(0, 1); lcd.print("blue:"); lcd.print(33*bluemin/85); lcd.setCursor(8, 1); lcd.print("white:"); lcd.print(33*whitemin/85); } /* ************************************************** ************************************************** **************** */ /* * * */ /* * LOOP * */ /* * * */ /* ************************************************** ************************************************** **************** */ void loop() { onesecond(); relay2(); relay1(); /* ************************************************** ************************************************** **************** */ /* * * */ /* * L O O P - D I MINUZIONE F U N ZIONI * */ /* * * */ /* ************************************************** ************************************************** **************** */ byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year); int daybyminute = ((hour * 60) + minute); //Converte ora del giorno per un singolo valore in minuti int bluerampup; if (daybyminute >= (ontime*60)) bluerampup = (((ontime*60) + blueramptime) - daybyminute); else bluerampup = blueramptime; int whiterampup; if (daybyminute >= (ontime*60 + blueramptime)) whiterampup = (((ontime*60) + blueramptime + whiteramptime) - daybyminute); else whiterampup = whiteramptime; int whiterampdown; if (((ontime * 60) + photoperiod + blueramptime + whiteramptime) <= daybyminute) whiterampdown = (((ontime*60) + photoperiod + blueramptime + 2*whiteramptime) - daybyminute); else whiterampdown = whiteramptime; int bluerampdown; if (((ontime * 60) + photoperiod + blueramptime + 2*whiteramptime) <= daybyminute) bluerampdown = (((ontime*60) + photoperiod + 2*blueramptime + 2*whiteramptime) - daybyminute); else bluerampdown = blueramptime; /* ************************************************** ************************************************** **************** */ /* * * */ /* * L O O P - F A D E I N * */ /* * * */ /* ************************************************** ************************************************** **************** */ if (daybyminute >= (ontime*60)) { if (daybyminute <= ((ontime*60) + blueramptime + (whiteramptime))) // se il tempo è nella gamma di fade in, inizia la dissolvenza in + (whiteramptime/10 * 9)) { // Dissolvenza LED blu in dal minimo al massimo. for (int i = 1; i <= 10; i++) // impostazione del valore ib per il 10% di incremento. Inizia con 0% { analogWrite(blue, bluepercent[i]); lcd.setCursor(5, 1); lcd.print(i); lcd.print(" "); int countdown = ((bluerampup*60)/10); // Calcola secondi per passo successivo while (countdown>0) { onesecond(); // aggiornamenti una volta al secondo countdown--; relay2(); relay1(); } } // Dissolvenza LED bianchi in dal minimo al massimo. for (int i = 1; i <= 10; i++) // impostazione del valore ib per il 10% di incremento. Inizia con 0% { analogWrite(white, whitepercent[i]); lcd.setCursor(14, 1); lcd.print(i); lcd.print(" "); int countdown = ((whiterampup*60)/10); // cCalcola secondi per passo successivo while (countdown>0) { onesecond(); // aggiornamenti una volta al secondo countdown--; relay2(); relay1(); } } } } /* ************************************************** ************************************************** **************** */ /* * * */ /* * L O O P - M A X V A L U E * */ /* * * */ /* ************************************************** ************************************************** **************** */ if (daybyminute >= ((ontime * 60) + blueramptime + whiteramptime)) { if ( daybyminute < ((ontime * 60) + blueramptime + whiteramptime + photoperiod)) // se il tempo è nella gamma di fotoperiodo, accendere le luci al valore massimo dissolvenza { analogWrite(blue, 255); lcd.setCursor(5, 1); lcd.print(10); lcd.print(" "); analogWrite(white, 255); lcd.setCursor(14, 1); lcd.print(10); lcd.print(" "); } } /* ************************************************** ************************************************** **************** */ /* * * */ /* * L O O P - F A D E O U T * */ /* * * */ /* ************************************************** ************************************************** **************** */ if (((ontime * 60) + photoperiod + blueramptime + whiteramptime) <= daybyminute) { if (((ontime * 60) + photoperiod + 2*whiteramptime + 2*blueramptime) >= daybyminute) { // Dissolvenza LED bianchi fuori da max a min in incrementi di 1 punto: for (int i = 10; i >= 0; i--) // impostare i valore per il 10% di incremento. Inizia con il 10% { analogWrite(blue, 255); lcd.setCursor(5, 1); lcd.print(10); lcd.print(" "); analogWrite(white, whitepercent[i]); lcd.setCursor(14, 1); lcd.print(i); lcd.print(" "); int countdown = ((whiterampdown*60)/10); // Calcola secondi per passo successivo while (countdown>0) { onesecond(); // aggiornamenti una volta al secondo countdown--; relay2(); relay1(); } } // fade blue LEDs out from max to min in increments of 1 point: for (int i = 10; i >= 0; i--) // impostare i valore per il 10% di incremento. Inizia con il 10% { analogWrite(blue, bluepercent[i]); lcd.setCursor(5, 1); lcd.print(i); lcd.print(" "); int countdown = ((bluerampdown*60)/10); // Calcola secondi per passo successivo while (countdown>0) { onesecond(); // aggiornamenti una volta al secondo countdown--; relay2(); relay1(); } } } } } // END LOOP |
Non per essere rude, ma mi sa che o studi un po' di programmazione, o trovi qualcuno non che ti aiuti, ma che te lo faccia, perchè mi pare che sei proprio un po' troppo a digiuno dell'argomento :D
|
so le basi dopo aver studiato il tutorial e provati ma ci vuole molto più di un tutorial,qui non riesco a capire come fare, si ho bisogno di una mano a capire come sistemare lo sketch per mio uso personale qualcuno mi aiuti help sto impazzendo da 7 giorni che cerco e ricerco e oggi un barlume di luce
|
ho trovato un'altro sketch e pure questo arduino lo prende, n
on capisco perchè quello di Nino non voglia prenderlo int led1Pin = 3; int led2Pin = 5; int led3Pin = 6; int led4Pin = 9; int led5Pin = 10; int led6Pin = 11; void setup() {} void loop() { // Pin 1 for(int fade1Value = 35 ; fade1Value <= 55; fade1Value +=7) { analogWrite(led1Pin, fade1Value); delay(10); } for(int fade1Value = 255 ; fade1Value >= 55; fade1Value -=8) { analogWrite(led1Pin, fade1Value); delay(15); } //Pin2 for(int fade2Value = 35 ; fade2Value <= 50; fade2Value +=5) { analogWrite(led2Pin, fade2Value); delay(15); } for(int fade2Value = 255 ; fade2Value >= 40; fade2Value -=8) { analogWrite(led2Pin, fade2Value); delay(15); } //Pin3 for(int fade3Value = 45 ; fade3Value <= 50; fade3Value +=6) { analogWrite(led3Pin, fade3Value); delay(13); } for(int fade3Value = 255 ; fade3Value >= 50; fade3Value -=9) { analogWrite(led3Pin, fade3Value); delay(15); } //Pin4 for(int fade4Value = 40 ; fade4Value <= 50; fade4Value +=8) { analogWrite(led4Pin, fade4Value); delay(10); } for(int fade4Value = 255 ; fade4Value >= 45; fade4Value -=5) { analogWrite(led4Pin, fade4Value); delay(1500); } //Pin5 for(int fade5Value = 70 ; fade5Value <= 50; fade5Value +=6) { analogWrite(led5Pin, fade5Value); delay(1000); } for(int fade5Value = 255 ; fade5Value >= 40; fade5Value -=7) { analogWrite(led5Pin, fade5Value); delay(1500); } //Pin 6 for(int fade6Value = 20 ; fade6Value <= 50; fade6Value +=9) { analogWrite(led6Pin, fade6Value); delay(1000); } for(int fade6Value = 50 ; fade6Value >= 40; fade6Value -=5) { analogWrite(led6Pin, fade6Value); delay(1500); } } |
Buongiorno maco lcd mostra nulla qualche cristiano mi aiuta?? Grazie!!!!
|
Buongiorno a tutti nessuno vedo che mi aiuta allora chi mi aiuta a pagamento? io non ho più tempo per sta plafo e mi iniziano a saltare i nervi, Nino non ha tempo o voglia o che ne so io non c' e un altra persona che mi aiuti, mi dice qualto vuole e melo fa io non conosco gente che sa usare bene arduino oltre Nino se qualcuno lo sa melo segnali grz, spero che qualche anima pia mi risponda,mi serve soltanto mettere l'ultimo codice postato insieme a quello di Nino
|
nessuno che mi aiuta? :(
|
Ho scoperto che c'era un po di stagno tra le piazzole ora lho tirato via ed è come da foto, ora lcd si comporta strano sta acceso poi si spegne e lo fa di continuo boh
|
questo è lo schema come ho collegato lcd comsa non va bene?
http://s24.postimg.cc/w64niarsx/lcd_col.jpg |
Bene, dopo essere tornato da Piacenza, ho provato lo sketch di SirNino; devo dire che non mi da errori e per adesso funziona tutto a regola d'arte (lcd 16x2 collegato + modulo 1307). Domani prendo i led, pulsanti e resistenze e testo il programma per la plafoniera. Grazie ancora a SirNino.
In allegato la prova....... http://s9.postimg.cc/6ojth12nf/sketch_di_Sir_Nino.jpg |
Tutti gli orari sono GMT +2. Attualmente sono le 04:18. |
Powered by vBulletin versione 3.8.9
Copyright ©: 2000 - 2025, Jelsoft Enterprises Ltd.
Traduzione italiana Team: AcquaPortal
User Alert System provided by
Advanced User Tagging v3.2.5 Patch Level 2 (Lite) -
vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Copyright Zero Pixel Srl