• 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
Wyswietlacz 7 segmentowy + db18b20
#21
Wysyłam tak jak mam to zrobione teraz.

Posługiwałem się tym przykładem i kod również pochodzi z tej stronki

http://www.instructables.com/id/Temperat...nt-common/

EDIT: na wyświetlaczu są wolne 2 piny na dole i u góry, ja ich nie posiadam mam 12 pin a tutaj w programie wyświetlacz ma 16 pin.


Załączone pliki Miniatury
   
 
Odpowiedź
#22
Podaj typ wyświetlacza...
Jeżeli pomogłem, to poproszę o punkt reputacji Big Grin
 
Odpowiedź
#23
LFD056BUE-101A
 
Odpowiedź
#24
ktoś coś jest w stanie mi pomóc z tym wyświetlaczem?
 
Odpowiedź
#25
(30-12-2017, 16:34)ANT napisał(a): Dla początkujących i nie tylko polecam program: Fritzing
Dla zaawansowanych polecam program: Eagle
Pozwolę sobie dołączyć...
Jeśli możesz, zrezygnuj z Fritzing. Mimo że ma bardzo atrakcyjną formułę, ma również trochę ograniczeń, które, jeśli zainteresujesz się elektroniką, pojawią się dość szybko. Z drugiej strony potrafi rozwiązać niektóre problemy w niesamowicie prosty sposób.
Jeśli zechcesz zainteresować się programem Eagle, proponuję przejrzeć tutorial pana Kardasia na youTube.
 
Odpowiedź
#26
wiesz tu już nie chodzi o obsługę programu, tylko o to żeby mi ten wyświetlacz działał, bo tylko na tym mi zależy. nie chce się jakoś bardzo wgłębiać w elektronikę, znam jakieś podstawy, ale niektóre rzeczy mnie przerastają i staram się szukać pomocy na forum.
 
Odpowiedź
#27
Witam, Jest możliwość, że ktoś mi pomoże z tym wyświetlaczem? Probuję i się męczę i nic...
 
Odpowiedź
#28
Witam, poddaje się z tym wyświetlaczem. Czy jest ktoś kto mógłby to zrobić za parę$ ?
 
Odpowiedź
#29
Witam
W celach edukacyjnych użycie tego wyświetlacza ma sens, ale robisz to na zaliczenie, że chcesz się dzielić $?
Jak nie chcesz się zniechęcić to kup sobie jakiegoś oleda 128x64 i w parę minut to ogarniesz, do podłączenia 2 kabelki do danych i 2 do zasilania. Ilość błędów możliwa do zrobienia przy podłączaniu 4 cyfr segmentowych przez lajkonika jest ogromna.
A tu jest kolejna biblioteka i schematy https://github.com/MiguelPynto/ShiftDisplay . By nie grzebać w bebechach  po prostu robisz podłączenie dokładnie  jak tutaj. Wystarczy rozszyfrować kolejność pinów, zwykle nr 1 jest na dole po lewej i tak do 12 odwrotnie do ruchu wskazówek zegara. U mnie jest to A11 (pin 11), B7, C4, D2, E1, F10, G5, DOT3,  i poszczególne wyświetlacze od lewej 1-12, 2-9,3-8,4-6. Do procka podłączasz 3 piny i resztę masz na swoje potrzeby. Nie zapomnij o rezystorach, dla 5V coś między 250 a 700om będzie działać (ja mam 470 i świeci dość jasno).
Kodowanie jest teraz banalne, wgraj jakikolwiek przykład z biblioteki, ma działać. Jak nie działa to coś źle podłączyłeś. Sam nie widzisz to wołasz brata, ojca, kolegę i niech on popatrzy, ewentualnie wrzucasz fotkę na forum. Trzeba też wiedzieć czy jest COMMON_CATHODE czy COMMON_ANODE, przykłady są dla obu, zmiana jednego parametru i działa z drugim rodzajem. 
Zaczynasz od wyświetlenia napisu, ewentualnie liczby całkowitej:
Kod:
#include <ShiftDisplay.h>

ShiftDisplay display(COMMON_CATHODE, 4); //jaki wyswietlacz, ile modulow

void setup() {
    for (int i = 199; i > -199; i--) {
        // store number and show it for (xx)ms
        display.set(i, ALIGN_CENTER);
        display.show(50);
        // add dot to stored number and show it for (xx)ms
        display.changeDot(1);
        display.show(50);
    }
    display.set("GO"); // store "GO"
}

void loop() {
    display.update(); // show stored "GO" while in loop
}
Jak to działa, to ta akurat biblioteka obsługuje również float i wystarczy ją poznać:
Kod:
#include <ShiftDisplay.h>

// Arduino pin 6 connected to shift register latch, pin 7 to clock and pin 5 to data
// common anode display with 2 digits
ShiftDisplay display( COMMON_CATHODE, 4); //jak masz inny to wpisujesz np. COMMON_ANODE cyfra to liczba cyfr wyswietlacza

void setup() {}

void loop() {
    static float m = 127.9;
display.set(m, 1); // float with one decimal place
 m-=0.1;

//    display.set(m, ALIGN_RIGHT);
    display.show(100);
if(m<=-99.8) m=127.9;

}
Jak już umiesz wyświetlać floaty to dodajesz bibliotekę DS.
Kod:
#include <ShiftDisplay.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 4

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
// Arduino pin 6 connected to shift register latch, pin 7 to clock and pin 5 to data
// common anode display with 2 digits
ShiftDisplay display( COMMON_CATHODE, 4);

float temp;

void setup()
{
 sensors.begin();  
 sensors.requestTemperatures(); // Send the command to get temperatures
 sensors.setWaitForConversion(0);
}

void loop() {

 temp = sensors.getTempCByIndex(0);
display.update();
 sensors.requestTemperatures();

if(temp>-10 && temp<100) display.set(temp, 2); // float with one decimal place
else display.set(temp,1);

display.show(1000);


}
Jak już umiesz połączyć biblioteki, możesz zacząć kombinować  ze swoją wersją obsługi wyświetlacza segmentowego.
Przynajmniej wiesz, że jest dobrze wszystko połączone i sprawne. Ja jej nie znam i nie używam. Podłączyłem sobie na próbę i "u mnie działa":
   
Ale kabelkami się namachałem, u mnie pierwszy rejestr przesuwny jest ten po prawej.
Działa jako tako, DS trochę czasu potrzebuje i jest mignięcie, niestety wysterowanie wyświetlacza polega na kolejnym pokazywaniu każdej cyfry osobno. By tego nie było musiałby być pewnie osobny chip do sterowania tylko wyświetlaczem, komunikacji z DS nie można przerywać. Dlatego są też dedykowane drivery sprzętowe do tego.
A $ możesz wrzucić tu: http://fundacja-sloneczko.pl/frame/pokaz...?ida=733/K .
 
Odpowiedź
#30
Hej @kaczakat, dziękuję za odpowiedź. Nie jest to zaliczenie tylko projekt domowy, potrzebny do wyświetlania temperatury w pomieszczeniu abym widział ile jest aktualnie. Do niego jest podłączony wentylator, który ma za zadanie wymianę powietrza pomieszczenie<->zewnątrz. Sprawdzę w wolnej chwili i się odezwę.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości