Close

pedyngro

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 9 příspěvků - 1. až 9. (celkem z 9)
  • Autor
    Příspěvky
  • odpověď na: Napájení arduina konektorem #12027
    pedyngro
    Účastník

    Díky za radu, už jsem si ho opatřil, všechno ostatní mám. Potřeboval jsem hlavně vědět rozměry, aby to tam pasovalo, a především správnou polaritu, abych to neodpálil.

    Ten odkaz na článek bohužel kdovíproč nefunguje, ale všechno podstatné už vím.
    Ještě jednou díky!

    odpověď na: Velikst pole #12000
    pedyngro
    Účastník

    Díky, je to ono, měl jsem tam 21 místo 20.

    odpověď na: proměnný název proměnné #11963
    pedyngro
    Účastník

    Moc díky, konečně to funguje, jak má! Už jsem se sám pokoušel nějakým způsobem předat hodnoty pole přes parametr funkce zobraz, ale nevěděl jsem jak. Asi sebudu muset líp naučit C a nespoléhat na to, že co jde v pythonu, jde všude…

    Ještě jednou moc děkuji za čas, který jste si na mě udělal, místo abyste mě odkázal na učebnici C.

    odpověď na: proměnný název proměnné #11947
    pedyngro
    Účastník

    Pokusil jsem se ten soubor nahrát tlačítkem „procházet…“, ale nezobrazilo se to tu, takže jsem to vložil do odpovědi ctrl+c ctrl+v… Jinak moc díky za pomoc!

    [code]
    byte led1 = 8; //nastavení pinů pro jednotlivé diody
    byte led2 = 10;
    byte led3 = 12;

    boolean diody[3][3] = {{},{},{}};

    int znak = 20; //doba svícení
    int mezeraZnak = 10; //mezera mezi dvěma bliknutími v jednom písmenu
    int mezeraPismeno = 30; //mezera mezi písmeny

    char napis[] = „calex“;
    int delkaNapisu = sizeof(napis)/sizeof(napis[0]);

    void a(){
    boolean diody[3][3] = {{1,1,1},{1,0,1},{1,1,1}};
    zobraz();
    }

    void c(){
    boolean diody[3][3] = {{1,1,1},{1,0,0},{1,1,1}};
    zobraz();
    }

    void e(){
    boolean diody[3][3] = {{1,1,1},{1,1,0},{1,1,1}};
    zobraz();
    }

    void l(){
    boolean diody[3][3] = {{1,0,0},{1,0,0},{1,1,1}};
    zobraz();
    }

    void o(){
    boolean diody[3][3] = {{1,1,1},{1,0,1},{1,1,1}};
    zobraz();
    }

    void x(){
    boolean diody[3][3] = {{1,0,1},{0,1,0},{1,0,1}};
    zobraz();
    }

    void zobraz(){
    for (byte i = 0; i < 3; i++){ //postupně projíždí sloupce
    for (byte j = 0; j < 3; j++){ //projíždí hodnoty řádku v každém sloupci
    if (diody[i][j] == 1){ //pokud je hodnota 1, rozsvítí příslušnou diodu
    if (j == 0){
    digitalWrite(led1,HIGH);
    }
    if (j == 1){
    digitalWrite(led2,HIGH);
    }
    if (j == 2){
    digitalWrite(led3,HIGH);
    }
    }
    }
    delay(znak); //nechá chvíli rozsvíceno
    digitalWrite(led1,LOW); //všechno zhasne
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);
    delay(mezeraZnak); //nechá zhasnuto
    }
    delay(mezeraPismeno); //nechá zhasnuto – mezera mezi písmeny
    }

    void setup() {
    Serial.begin(9600);
    pinMode(led1,OUTPUT);
    pinMode(led2,OUTPUT);
    pinMode(led3,OUTPUT);
    }

    void loop() {
    for (int i = 0; i < delkaNapisu; i++){ //projíždí po jednom pole „nápis“
    if(napis[i] == ‚a‘){ //pokud je aktuální hodnota v poli „a“, pustí funkci „a“
    a();
    }
    if(napis[i] == ‚c‘){
    c();
    }
    if(napis[i] == ‚e‘){
    e();
    }
    if(napis[i] == ‚l‘){
    l();
    }
    if(napis[i] == ‚o‘){
    x();
    }
    if(napis[i] == ‚x‘){
    x();
    }
    }
    }
    [/code]

    odpověď na: proměnný název proměnné #11945
    pedyngro
    Účastník

    Pole mám definované na začátku programu (mimo setup a loop), zjistil jsem, že při printování z funkce „zobraz“ jsou tam hodnoty, které jsou zadané na začátku při vytvoření pole, ty další změny už to nebere v potaz…

    odpověď na: proměnný název proměnné #11943
    pedyngro
    Účastník

    Díky, mělo by to fungovat, ale když nastavím např. ve funkci „a“ hodnoty pole „diody“, někde se to cestou ztratí:

    void a(){
    boolean diody[3][3] = {{1,1,1},{1,0,1},{1,1,1}};
    Serial.println(diody[0][0]);
    zobraz();

    void zobraz(){
    Serial.println(diody[0][0]);
    for (byte i = 0; i < 3; i++){
    atd…

    Když to nechám vyprintovat z té funkce, kde hodnoty nastavuji, je všechno v pořádku, ale v další funkci, která s hodnotami dále pracuje, už je všechno „0“.

    Nevíte, čím by to mohlo být?

    odpověď na: proměnný název proměnné #11937
    pedyngro
    Účastník

    chtěl jsem přiložit soubor s programem, ale nějak se to tu nezobrazuje…

    odpověď na: Začátečnická chyba #11192
    pedyngro
    Účastník

    Právě jsem se dozvěděl o možnosti INPUT_PULLUP 😀
    Rád bych ale věděl, proč nefungovala první verze

    odpověď na: Začátečnická chyba #11191
    pedyngro
    Účastník

    Už jsem to vyřešil trochu šikovnějším kódem:

    byte led = 50;
    byte tlacitko = 52;
    void setup() {
    pinMode(led,OUTPUT);
    pinMode(tlacitko,INPUT);
    Serial.begin(9600);
    }

    void loop() {
    cteni = digitalRead(tlacitko);
    if(cteni == 0){
    Serial.println(„high“);
    digitalWrite(led,HIGH);
    }
    else if(cteni == 1){
    digitalWrite(led,LOW);
    Serial.println(„low“);
    }
    }

    Stejně ale nevím, kde jsem předtím udělal chybu…

Aktuálně je na stránce zobrazeno 9 příspěvků - 1. až 9. (celkem z 9)