• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Tablica dla niemowy
#21
Witam.
Może pogadać z tym kimś:
http://forum.arduino.cc/index.php?topic=77919.0
https://www.sparkfun.com/news/753
lub tak:
https://www.youtube.com/watch?v=C2_LWZdE4AM

http://www.instructables.com/id/The-EyeWriter-20/
 
Odpowiedź
#22
Dzięki za porady.
Powyższe przykłady - może nie w tej formie już stworzyłem i dobrze się sprawują.

Szukam czegoś mniej energochłonnego na wyjazdy.
Na razie zdecydowałem się na Arduino i odbiorniki 650nm-  zamówiłem parę szt. na próbę.

Zakładam, że zamówione odbiorniki będą działać 0,1
Z powielaczem sygnałów też powinienem sobie dać radę.
Powoli biorę się za pisanie programu, a jako, że się dopiero uczę, utknąłem.

Na razie złożyłem sobie płytkę symulując wskazanie liter - stykami ( na razie 2 )

1) Ma ktoś pomysł jak zapisać zliczanie czasu naciśnięcia na przycisk ?? po którym wygeneruje się litera ??
2) Finalnie wyświetlacz będzie 2004 (20x4). Jak zrobić aby po każdym naciśnięciu przenosiła sie litera na następną kolumnę/wiersz??

Wstęp programu

Kod:
// Program do Tablica dla niemowy


#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

#if (SSD1306_LCDHEIGHT != 32)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif



int x=0;
int y=0;

void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3C (for the 128x32)



// Clear the buffer.
display.clearDisplay();

pinMode(5, INPUT_PULLUP); // Wejscie litery A
pinMode(6, INPUT_PULLUP); // Wejście litery B

}

void loop() {

   byte A=digitalRead(5); // odczyt z litery A
   byte B=digitalRead(6); // Odczyt z litery B
   
   
   byte czcionka=1; //zmienna do szybkiej zmiany rozmiaru czcionki
   
    if (A==LOW){
      display.setTextSize(czcionka); //Rozmiar czcionki na ekranie
      display.setTextColor(WHITE); //kolor czcionki
      display.setCursor(x,y); //ustawienie kursora
      display.println("A"); // Wypisuje litere A
      delay(500); // Opóźnienie
      x=x+7; // przesunięcie kursora o 1 znak
    }
   
     if (B==LOW) {
      display.setTextSize(czcionka);//Rozmiar czcionki na ekranie
      display.setTextColor(WHITE);//kolor czcionki
      display.setCursor(x,y);//ustawienie kursora
      display.println("B");// Wypisuje litere B
      delay(500);
      x=x+7; // przesunięcie kursora o 1 znak
    }
    display.display();
    delay(50);
 
}


Dzięki z góry.
 
Odpowiedź
#23
Ok już nie aktualne.
Poradziłem sobie.
Pozostał tylko mały problem z wyświetlaczem.
Po zapisaniu pierwszej linijki, przenosi mi kursor do 3, a po zapisaniu tej wskakuje na 2, później 4 i po zapisaniu od nowa to samo.

Ktoś wie co może być powodem ?
 
Odpowiedź
#24
(15-12-2017, 18:15)fikumik napisał(a): Po zapisaniu pierwszej linijki, przenosi mi kursor do 3, a po zapisaniu tej wskakuje na 2, później 4 i po zapisaniu od nowa to samo.

Ktoś wie co może być powodem ?
Możesz podać ostateczny kod?
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości