Перейти к содержанию
    

valter

Участник
  • Постов

    5
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о valter

  • День рождения 31.03.1956

Информация

  • Город
    Array
  1. Logman hvala za link :beer: Dela... Samo še moram vse skupaj pretvoriti v minute :( . Zunaj se je malo ohladilo , pa bo več časa za programiranje... Logman благодарит вас за то, что вы связали Дело ... Мне просто нужно перевернуть все вместе за несколько минут
  2. Se mi ne da preveč programirati .... Prihaja hladna fronta in se bo ohladilo --->spraznila plaža ...potem bo več volje za programiranje...
  3. Ok napredujem . Tu je program ki na 5 segmentnem displeju izpiše željeni tekst. Problem je še vedno program za uro ... #include "LedControlMS.h" /* pin 12 is connected to the DataIn pin 11 is connected to the CLK pin 10 is connected to LOAD We have only a single MAX72XX. */ #define NBR_MTX 4 LedControl lc=LedControl(12,11,10, 1); /* we always wait a bit between updates of the display */ String scrollString= "sebastjanova kitajska trgovina xx"; int stringLength=scrollString.length(); char ch0, ch1, ch2, ch3; int nextCharIndex=0; void setup() { /* The MAX72XX is in power-saving mode on startup, we have to do a wakeup call */ Serial.begin (9600); Serial.println("SEBA"); Serial.println(scrollString); Serial.println(stringLength); for (int i=0; i< NBR_MTX; i++){ lc.shutdown(i,false); /* Set the brightness to a low value */ lc.setIntensity(i,8); /* and clear the display */ lc.clearDisplay(i); } delay(800); lc.clearAll(); ch0= scrollString[0]; ch1= scrollString[1]; ch2= scrollString[2]; ch3= scrollString[3]; nextCharIndex=4; } void loop(){ lc.displayChar(0, lc.getCharArrayPosition(ch0)); lc.displayChar(1, lc.getCharArrayPosition(ch1)); lc.displayChar(2, lc.getCharArrayPosition(ch2)); lc.displayChar(3, lc.getCharArrayPosition(ch3)); ch0=ch1; ch1=ch2; ch2=ch3; ch3=scrollString[nextCharIndex++]; if (nextCharIndex>=stringLength) nextCharIndex=0; delay(1000); lc.clearAll(); delay(25); }
  4. vvvv Se zahvaljujem za pomoč. Bom probal prevajati.Bojim pa se , da bo Googlova Ruščina težko razumljiva.Če ne bo kaj narobe , bi dal gor oba teksta , da bo lahko kdo še kaj dodal (v prevajanju) OK imam program za 7 segmentni led prikazovalnik , ki je zelo kompliciran. Na žalost je moje programiranje na nivoji Copy - paste. Zato bi rabil pomoč pri spremembi programa. /* * Creato da Roberto Tortora. * Sara' anche scritta male, ma è il primo codice che ho scritto per arduino, e sono fiero del mio lavoro :D */ #include <Multiplex7Seg.h> // libreria per gli schermi a 7 segmenti con 4 cifre, riscritta con logica invertita #include <atdlib.h> byte digitPins[] = {6,9,10,11}; // LSB to MSB byte segmentPins[] = {13,3,4,5,12,7,8}; // seg a to g int perndicarattere(); void setup() { pinMode(0, OUTPUT); pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(A3, INPUT); pinMode(A4, OUTPUT); pinMode(A5, OUTPUT); digitalWrite(0, LOW); int tasto, soluzione=0; Multiplex7Seg::set(1, 4, digitPins, segmentPins); int bool1=0, j=0, k=0, x, //j minuti- k secondi - x tempo bool2=0, z=1000, // -z velocità decremento tasto_old=0, flag=0, reset=0, codice=0, buffer=0, key=16, reset2=0; // reset e codice disinnesco while (1) { // ciclo che setta il codice per disinnesco all'avvio key=prendicarattere(); Multiplex7Seg::loadValue(codice); if (buffer<=key && key<=9) { buffer=key; flag=0; } if(analogRead(A0)==0 && analogRead(A1)==0 && analogRead(A2)==0 && analogRead(A3)==0 && flag==0) { codice=(codice *10)+buffer; if (codice!=0) reset2++; buffer=0; flag=1; Multiplex7Seg::loadValue(codice); } if (key==11 && reset2==4) { break; } if (key==10) { reset2=0; flag=1; codice=0; } if (reset2>4) { reset2=0; codice=0; digitalWrite(0, HIGH); delay(50); digitalWrite(0, LOW); } } j=0; k=0; buffer=0; key=16; reset2=0; flag=1; while (1) { // ciclo che setta i minuti key=prendicarattere(); Multiplex7Seg::loadValue(j); if (buffer<=key && key<=9) { buffer=key; flag=0; } if(analogRead(A0)==0 && analogRead(A1)==0 && analogRead(A2)==0 && analogRead(A3)==0 && flag==0) { j=(j *10)+buffer; if (j!=0) reset2++; buffer=0; flag=1; Multiplex7Seg::loadValue(j); } if (key==11 && reset2<=2 && reset2>=1) { break; } if (key==10) { reset2=0; flag=1; j=0; } if (reset2>2) { reset2=0; j=0; digitalWrite(0, HIGH); delay(50); digitalWrite(0, LOW); } } int pin[4]; // pin inizializzazione e dichiarazione dei pin per disinnescare la bomba pin[0]=A5; pin[1]=A4; pin[2]=2; pin[3]=1; buffer=0; key=16; reset2=0; flag=1; int filo=0, caso; while (1) { // ciclo che setta il filo che disinnesca la bomba e sceglie casualmente i restanti fili cosa fanno key=prendicarattere(); Multiplex7Seg::loadValue(filo); if (buffer<=key && key<=4) { buffer=key; flag=0; } if(analogRead(A0)==0 && analogRead(A1)==0 && analogRead(A2)==0 && analogRead(A3)==0 && flag==0) { filo=buffer; if (filo!=0) reset2++; buffer=0; flag=1; Multiplex7Seg::loadValue(filo); } if (key==11 && reset2==1) { break; } if (key==10) { reset2=0; flag=1; filo=0; } if (reset2>1) { reset2=0; filo=0; digitalWrite(0, HIGH); delay(50); digitalWrite(0, LOW); } } buffer=0; srand(millis()); int i; switch (filo) { case 1: buffer=pin[0]; pin[0]=pin[2]; pin[2]=buffer; break; case 2: buffer=pin[1]; pin[1]=pin[2]; pin[2]=buffer; break; case 3: break; case 4: buffer=pin[3]; pin[3]=pin[2]; pin[2]=buffer; break; } while (1) { //ciclo del timer x=j*100+k; digitalWrite(0, LOW); if (k==0) { // riavvolgimento secondi j--; k=60; } if (((millis())%z)==0) { k--; digitalWrite(0, HIGH); //accensione cicalino delay(50); digitalWrite(0, LOW); //spegnimento cicalino } if (!digitalRead(pin[3])==true) { // se il filo viene staccato il timer scorre piu' velocemente z=500; } if (!digitalRead(pin[2])==true) { // se il filo viene staccato il timer bloccato e la bomba disinnescata break; } if (!digitalRead(pin[1])==true && bool1==0) { //se il filo viene staccato ... boom j=0; k=0; bool1++; } if (!digitalRead(pin[0])==true && bool2==0) { //se il filo viene staccato so dimezza il tempo j=j/2; k=k/2; bool2++; } Multiplex7Seg::loadValue(x); // carica un valore intero preso da x tasto=prendicarattere(); if (tasto_old<=tasto && tasto<=9) { tasto_old=tasto; flag=0; } if(analogRead(A0)==0 && analogRead(A1)==0 && analogRead(A2)==0 && analogRead(A3)==0 && flag==0) { soluzione=(soluzione *10)+tasto_old; if (soluzione!=0) reset++; tasto_old=0; flag=1; } if(tasto==10) { //reset soluzione soluzione=0; flag=1; } if (tasto==11) { // visualizzazione della soluzione su schermo Multiplex7Seg::loadValue(soluzione); delay(1000); if (k==0) j--; else k--; if (j<=0 && k==0) { Multiplex7Seg::loadValue(0); break; } } if (reset==4 && soluzione != codice) { reset=0; soluzione=0; digitalWrite(0, HIGH); delay(500); digitalWrite(0, LOW); } if(soluzione == codice) { // confronto soluzione Multiplex7Seg::loadValue(8888); break; } if (j==0 && k==0) { // caso in cui il tempo scade Multiplex7Seg::loadValue(0); digitalWrite(0, HIGH); delay(1000); digitalWrite(0, LOW); break; } } } void loop() { Multiplex7Seg::loadValue(8888); } int prendicarattere(void) { if (analogRead(A0)>=100) { if (analogRead(A0)>=140 && analogRead(A0)<=160) { // Corrispondente alla I Riga return 1; } if (analogRead(A0)>=280 && analogRead(A0)<=310) { return 2; } if (analogRead(A0)>=470 && analogRead(A0)<=510) { return 3; } if (analogRead(A0)>=800 && analogRead(A0)<=830) { return 12; } } if (analogRead(A1)>=100) { if (analogRead(A1)>=140 && analogRead(A1)<=160) { // Corrispondente alla II Riga return 4; } if (analogRead(A1)>=280 && analogRead(A1)<=310) { return 5; } if (analogRead(A1)>=470 && analogRead(A1)<=510) { return 6; } if (analogRead(A1)>=800 && analogRead(A1)<=830) { return 13; } } if (analogRead(A2)>=100) { if (analogRead(A2)>=140 && analogRead(A2)<=160) { // Corrispondente alla III Riga return 7; } if (analogRead(A2)>=280 && analogRead(A2)<=310) { return 8; } if (analogRead(A2)>=470 && analogRead(A2)<=510) { return 9; } if (analogRead(A2)>=800 && analogRead(A2)<=830) { return 14; } } if (analogRead(A3)>=100) { if (analogRead(A3)>=140 && analogRead(A3)<=160) { // Corrispondente alla IV Riga return 10; } if (analogRead(A3)>=280 && analogRead(A3)<=310) { return 0; } if (analogRead(A3)>=470 && analogRead(A3)<=510) { return 11; } if (analogRead(A3)>=800 && analogRead(A3)<=830) { return 15; } } return 16; } VVVV спасибо за вашу помощь. Буду ли я попробовал prevajati.Bojim, что России трудно razumljiva.Če Google не ошибется, отказаться от двух текстов, что кто-то может что-нибудь добавить (в переводе) Хорошо у меня есть программа для 8-сегментного светодиодного дисплея, который является очень сложным. К сожалению, мое программирование на уровне Копировать - Вставить. Таким образом, необходимо, чтобы помочь изменить программу.
  5. Arduino ura

    Sem iz Slovenije (EX YUgoslavija) . Se opravičujem , ker pišem v slovenščini . Mislim da je tako najbolje , saj vsi uporabljamo google translate. Torej rad bi sestavi uro - ki bi odštevale od 60 minut do nič. Rad bi uporabil displej MAX 7219 in arduino UNO.. Prosil bi za uporaben program . To pa rabim za igrico ESCAPE HAUSE . Za pomoč se že vnaprej zahvaljujem. Lep pozdrav iz sončne Slovenije -Primorske - mesta KOPER (Najlepšega obmorskega mesta). L.P. Valter
×
×
  • Создать...