Skocz do zawartości

Waga (omomierz) na Atmega


komanche

Pomocna odpowiedź

Witam!

Potrzebuję zrobić pilnie średnio dokładną wagę na atmega8 lub innym atmega.

Jakąś koncepcję już mam.

Dwie deski, pomiędzy nimi sprężyny (odpowiednio dobrane) i potencjometr suwakowy.

W czasie startowania procesora odpowiednimi ciężarkami dociążałbym deski żeby sprężyny się odkształciły o ileśtam mm. Spowodowałoby to zwiększenie/zmniejszenie (w zależności od opornika) oporu na oporniku podłączonym w jakiś magiczny sposób do atmegi.

Po położeniu obciążenia na deskę w czasie mniejszym niz 30s zapamiętywałbym opór do zmiennej. I tak dajmy na to 20 razy. I do atmegi byłoby podłączonych 20 diod.

wait 30
zmienna1=pomiar
wait 30
zmienna2=pomiar
wait 30
....
zmienna19=pomiar
wait 30
zmienna20=pomiar

...

DO

IF pomiar > zmienna1 THEN
dioda1=1
IF pomiar > zmienna2 THEN
dioda2=1
....
IF pomiar > zmienna18 THEN
dioda18=1
IF pomiar > zmienna19 THEN
dioda19=1
IF pomiar > zmienna20 THEN
dioda20=1
ENDIF

LOOP

END

Pytanie. Jak zrealizować pomiar oporności?

Chciałbym wykonać mniej więcej coś takiego:

Oczywiście im prostsze i tańsze rozwiązania tym lepiej, może ktoś już coś takiego robił?

Nie trzeba się trzymać ściśle tego, co wymyśliłem w czasie spaceru z psem.

Miałem bawić się atmegą, stopniowo dochodząc do zaawansowanych rzeczy a tutaj sytuacja rzuciła mnie na głębokie wody 👹👹👹👹 Dla tego liczę na Waszą pomoc.

Pozdrawiam!

Edit:

Można zrealizować to w ten sposób?

Config Adc = Single, Prescaler = Auto, Reference = Internal 

....

wait 30
pomiar= getadc (8) 
zmienna1=pomiar
wait 30
pomiar= getadc (8) 
zmienna2=pomiar
pomiar= getadc (8) 
wait 30
....
zmienna19=pomiar
pomiar= getadc (8) 
wait 30
pomiar= getadc (8) 
zmienna20=pomiar

...

DO
pomiar= getadc (8) 
IF pomiar > zmienna1 THEN
dioda1=1
IF pomiar > zmienna2 THEN
dioda2=1
....
IF pomiar > zmienna18 THEN
dioda18=1
IF pomiar > zmienna19 THEN
dioda19=1
IF pomiar > zmienna20 THEN
dioda20=1
ENDIF

LOOP

END
Link do komentarza
Share on other sites

Biorąc pod uwagę obecną cenę gotowych elektronicznych wag na allegro nie ma sensu samemu robić wagi. O ile założenia twojego pomysłu są poprawne o tyle nie uda ci się dobrać sprężyn do niego (nie będą miały liniowej charakterystyki ugięcia).

Link do komentarza
Share on other sites

o sprężyny się nie boję. nie musi być super dokładne, a ma być własnoróbka.

Mógłbym liczyć na pomoc przy kodzie i schemacie?

Potrzebne rzeczy to:

Atmega8, potencjometr suwakowy, 23 diody LED z opornikami i...

Coś jeszcze?

Czy schemat który poniżej zamieszczam:

jest dobry?

Czy czegoś jeszcze potrzeba?

Zaraz zaczynam pisać program, pokażesz mi gdzie popełniłem błąd?

Link do komentarza
Share on other sites

Powiedz do czego jest ci potrzebna taka waga? Naprawdę to jest skórka za wyprawkę, chociaż jak pisałem wyżej założenia masz poprawne i całość ma szansę działać, dokładność pewnie będzie mała tak samo jak rozdzielczość (23 ledy=23 poziomy mierzonej wagi).

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

waga jest potrzebna mojemu tacie, nie wiem za bardzo o co chodzi i mnie to nie obchodzi.

ważne, że dostałem wymogi: pomiar od 90kg do 100kg jak najciaśniej. Przystał na 20-diodowym wskaźniku i ważne, by był diodowy.

Napisałem jakiśtam program do sprawdzenia czujnym okiem eksperta (tylko 1969 linii, ale wiekszość to śmieci. Interesują mnie procedury odczytu z pinu atmegi i przetworzenia tego na sygnał na inne piny) :

$regfile = "m8def.dat" 
$crystal = 1000000

Config Portc.1 = Output                                     'Noga 24 jako wyjscie
Config Portc.2 = Output                                     'Noga 25 jako wyjscie
Config Portc.3 = Output                                     'Noga 26 jako wyjscie
Config Portc.4 = Output                                     'Noga 27 jako wyjscie
Config Portc.5 = Output                                     'Noga 28 jako wyjscie
Config Portc.6 = Output                                     'Noga 1 jako wyjscie
Config Portc.0 = Input                                      'Noga 23 jako wyjscie
Config Portd = Output                                       'portD jako wyjscie
Config Portb = Output                                       'portB jako wyjscie

Reset Portc                                                 'stan spoczynkowy 0
Reset Portd                                                 'stan spoczynkowy 0
Reset Portb                                                 'stan spoczynkowy 0

Config Adc = Free , Prescaler = Auto , Reference = Internal 'konfiguracja przetwornika ADC

Start Adc

Dim Pomiar As Word
Dim Zmienna1 As Word
Dim Zmienna2 As Word
Dim Zmienna3 As Word
Dim Zmienna4 As Word
Dim Zmienna5 As Word
Dim Zmienna6 As Word
Dim Zmienna7 As Word
Dim Zmienna8 As Word
Dim Zmienna9 As Word
Dim Zmienna10 As Word
Dim Zmienna11 As Word
Dim Zmienna12 As Word
Dim Zmienna13 As Word
Dim Zmienna14 As Word
Dim Zmienna15 As Word
Dim Zmienna16 As Word
Dim Zmienna17 As Word
Dim Zmienna18 As Word
Dim Zmienna19 As Word
Dim Zmienna20 As Word

Dioda1 Alias Portb.0
Dioda2 Alias Portd.7
Dioda3 Alias Portd.6
Dioda4 Alias Portd.5
Dioda5 Alias Portb.7
Dioda6 Alias Portb.6
Dioda7 Alias Portd.4
Dioda8 Alias Portd.3
Dioda9 Alias Portd.2
Dioda10 Alias Portd.1
Dioda11 Alias Portd.0
Dioda12 Alias Portc.6
Dioda13 Alias Portc.5
Dioda14 Alias Portc.4
Dioda15 Alias Portc.3
Dioda16 Alias Portc.2
Dioda17 Alias Portc.1
Dioda18 Alias Portb.5
Dioda19 Alias Portb.4
Dioda20 Alias Portb.3
Dioda21 Alias Portb.2
Dioda22 Alias Portb.1



Wait 10                                                     'animacja na wejscie

Dioda1 = 1
Waitms 500
Dioda2 = 1
Waitms 500
Dioda3 = 1
Waitms 500
Dioda4 = 1
Waitms 500
Dioda5 = 1
Waitms 500
Dioda6 = 1
Waitms 500
Dioda7 = 1
Waitms 500
Dioda8 = 1
Waitms 500
Dioda9 = 1
Waitms 500
Dioda10 = 1
Waitms 500
Dioda11 = 1
Waitms 500
Dioda12 = 1
Waitms 500
Dioda13 = 1
Waitms 500
Dioda14 = 1
Waitms 500
Dioda15 = 1
Waitms 500
Dioda16 = 1
Waitms 500
Dioda17 = 1
Waitms 500
Dioda18 = 1
Waitms 500
Dioda19 = 1
Waitms 500
Dioda20 = 1
Waitms 500
Dioda21 = 1
Waitms 500
Dioda22 = 1
Waitms 500
Dioda1 = 0
Waitms 500
Dioda2 = 0
Waitms 500
Dioda3 = 0
Waitms 500
Dioda4 = 0
Waitms 500
Dioda5 = 0
Waitms 500
Dioda6 = 0
Waitms 500
Dioda7 = 0
Waitms 500
Dioda8 = 0
Waitms 500
Dioda9 = 0
Waitms 500
Dioda10 = 0
Waitms 500
Dioda11 = 0
Waitms 500
Dioda12 = 0
Waitms 500
Dioda13 = 0
Waitms 500
Dioda14 = 0
Waitms 500
Dioda15 = 0
Waitms 500
Dioda16 = 0
Waitms 500
Dioda17 = 0
Waitms 500
Dioda18 = 0
Waitms 500
Dioda19 = 0
Waitms 500
Dioda20 = 0
Waitms 500
Dioda21 = 0
Waitms 500
Dioda22 = 0
Waitms 500
Dioda1 = 1
wait 1
Dioda2 = 1
wait 1
Dioda3 = 1
wait 1
Dioda4 = 1
wait 1
Dioda5 = 1
wait 1
Dioda6 = 1
wait 1
Dioda7 = 1
wait 1
Dioda8 = 1
wait 1
Dioda9 = 1
wait 1
Dioda10 = 1
wait 1
Dioda11 = 1
wait 1
Dioda12 = 1
wait 1
Dioda13 = 1
wait 1
Dioda14 = 1
wait 1
Dioda15 = 1
wait 1
Dioda16 = 1
wait 1
Dioda17 = 1
wait 1
Dioda18 = 1
wait 1
Dioda19 = 1
wait 1
Dioda20 = 1
wait 1
Dioda21 = 1
wait 1
Dioda22 = 1
wait 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0
wait 1
Dioda14 = 1
Wait 1
Dioda14 = 0
Dioda17 = 1
Wait 1
Dioda17 = 0
Dioda8 = 1
Wait 1
Dioda8 = 0
Dioda10 = 1
Wait 1
Dioda10 = 0
Dioda1 = 1
Wait 1
Dioda1 = 0
Wait 1
Dioda1 = 1
waitms 250
Dioda2 = 1
waitms 250
Dioda3 = 1
waitms 250
Dioda4 = 1
waitms 250
Dioda5 = 1
waitms 250
Dioda6 = 1
waitms 250
Dioda7 = 1
waitms 250
Dioda8 = 1
waitms 250
Dioda9 = 1
waitms 250
Dioda10 = 1
waitms 250
Dioda11 = 1
waitms 250
Dioda12 = 1
waitms 250
Dioda13 = 1
waitms 250
Dioda14 = 1
waitms 250
Dioda15 = 1
waitms 250
Dioda16 = 1
waitms 250
Dioda17 = 1
waitms 250
Dioda18 = 1
waitms 250
Dioda19 = 1
waitms 250
Dioda20 = 1
waitms 250
Dioda21 = 1
waitms 250
Dioda22 = 1
waitms 250
Dioda1 = 0
waitms 250
Dioda2 = 0
waitms 250
Dioda3 = 0
waitms 250
Dioda4 = 0
waitms 250
Dioda5 = 0
waitms 250
Dioda6 = 0
waitms 250
Dioda7 = 0
waitms 250
Dioda8 = 0
waitms 250
Dioda9 = 0
waitms 250
Dioda10 = 0
waitms 250
Dioda11 = 0
waitms 250
Dioda12 = 0
waitms 250
Dioda13 = 0
waitms 250
Dioda14 = 0
waitms 250
Dioda15 = 0
waitms 250
Dioda16 = 0
waitms 250
Dioda17 = 0
waitms 250
Dioda18 = 0
waitms 250
Dioda19 = 0
waitms 250
Dioda20 = 0
waitms 250
Dioda21 = 0
waitms 250
Dioda22 = 0
Waitms 250                                                  'koniec animacji na wejscie


Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna1 = Pomiar
Waitms 25
Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna2 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna3 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna4 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna5 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna6 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna7 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna8 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna9 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna10 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna11 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna12 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna13 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna14 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna15 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna16 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna17 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna18 = Pomiar
Waitms 25

Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna19 = Pomiar
Waitms 25
Dioda1 = 1                                                  'poczatek animacji odliczania
Dioda2 = 1
Dioda3 = 1
Dioda4 = 1
Dioda5 = 1
Dioda6 = 1
Dioda7 = 1
Dioda8 = 1
Dioda9 = 1
Dioda10 = 1
Dioda11 = 1
Dioda12 = 1
Dioda13 = 1
Dioda14 = 1
Dioda15 = 1
Dioda16 = 1
Dioda17 = 1
Dioda18 = 1
Dioda19 = 1
Dioda20 = 1
Dioda21 = 1
Dioda22 = 1
Dioda1 = 0
wait 1
Dioda2 = 0
wait 1
Dioda3 = 0
wait 1
Dioda4 = 0
wait 1
Dioda5 = 0
wait 1
Dioda6 = 0
wait 1
Dioda7 = 0
wait 1
Dioda8 = 0
wait 1
Dioda9 = 0
wait 1
Dioda10 = 0
wait 1
Dioda11 = 0
wait 1
Dioda12 = 0
wait 1
Dioda13 = 0
wait 1
Dioda14 = 0
wait 1
Dioda15 = 0
wait 1
Dioda16 = 0
wait 1
Dioda17 = 0
wait 1
Dioda18 = 0
wait 1
Dioda19 = 0
wait 1
Dioda20 = 0
wait 1
Dioda21 = 0
wait 1
Dioda22 = 0

Wait 1                                                      'koniec animacji odliczania
Pomiar = Getadc(8) 
Waitms 10
Zmienna20 = Pomiar
Waitms 25

Wait 120

Wait 10                                                    'animacja na potwierdzenie

Dioda1 = 1
Waitms 100
Dioda2 = 1
Waitms 100
Dioda3 = 1
Waitms 100
Dioda4 = 1
Waitms 100
Dioda5 = 1
Waitms 100
Dioda6 = 1
Waitms 100
Dioda7 = 1
Waitms 100
Dioda8 = 1
Waitms 100
Dioda9 = 1
Waitms 100
Dioda10 = 1
Waitms 100
Dioda11 = 1
Waitms 100
Dioda12 = 1
Waitms 100
Dioda13 = 1
Waitms 100
Dioda14 = 1
Waitms 100
Dioda15 = 1
Waitms 100
Dioda16 = 1
Waitms 100
Dioda17 = 1
Waitms 100
Dioda18 = 1
Waitms 100
Dioda19 = 1
Waitms 100
Dioda20 = 1
Waitms 100
Dioda21 = 1
Waitms 100
Dioda22 = 1
Waitms 100
Dioda1 = 0
Waitms 100
Dioda2 = 0
Waitms 100
Dioda3 = 0
Waitms 100
Dioda4 = 0
Waitms 100
Dioda5 = 0
Waitms 100
Dioda6 = 0
Waitms 100
Dioda7 = 0
Waitms 100
Dioda8 = 0
Waitms 100
Dioda9 = 0
Waitms 100
Dioda10 = 0
Waitms 100
Dioda11 = 0
Waitms 100
Dioda12 = 0
Waitms 100
Dioda13 = 0
Waitms 100
Dioda14 = 0
Waitms 100
Dioda15 = 0
Waitms 100
Dioda16 = 0
Waitms 100
Dioda17 = 0
Waitms 100
Dioda18 = 0
Waitms 100
Dioda19 = 0
Waitms 100
Dioda20 = 0
Waitms 100
Dioda21 = 0
Waitms 100
Dioda22 = 0
Waitms 100                                                  'koniec potwierdzenia zapisania




Do

                                                         'poczatek wiecznej petli




Pomiar = Getadc(8)                                          'dokonaj pomiaru
Waitms 10                                                   'czekaj


                                 'cos tam
If Pomiar >= Zmienna1 Then                                  'cos tam
   Dioda1 = 1                                              'cos tam
If Pomiar >= Zmienna2 Then                                  'cos tam
  Dioda2 = 1                                               'cos tam
If Pomiar >= Zmienna3 Then                                  'cos tam
  Dioda3 = 1                                               'cos tam
If Pomiar >= Zmienna4 Then                                  'cos tam
  Dioda4 = 1                                               'cos tam
If Pomiar >= Zmienna5 Then                                  'cos tam
  Dioda5 = 1                                               'cos tam
If Pomiar >= Zmienna6 Then                                  'cos tam
  Dioda6 = 1                                               'cos tam
If Pomiar >= Zmienna7 Then                                  'cos tam
  Dioda7 = 1                                               'cos tam
  If Pomiar >= Zmienna8 Then                               'cos tam
  Dioda8 = 1                                               'cos tam
  If Pomiar >= Zmienna9 Then                               'cos tam
  Dioda9 = 1                                               'cos tam
  If Pomiar >= Zmienna10 Then                              'cos tam
  Dioda10 = 1                                              'cos tam
  If Pomiar >= Zmienna11 Then                              'cos tam
  Dioda11 = 1                                              'cos tam
  If Pomiar >= Zmienna12 Then                              'cos tam
  Dioda12 = 1                                              'cos tam
  If Pomiar >= Zmienna13 Then                              'cos tam
  Dioda13 = 1                                              'cos tam
  If Pomiar >= Zmienna14 Then                              'cos tam
  Dioda14 = 1                                              'cos tam
  If Pomiar >= Zmienna15 Then                              'cos tam
  Dioda15 = 1                                              'cos tam
  If Pomiar >= Zmienna16 Then                              'cos tam
  Dioda16 = 1                                              'cos tam
  If Pomiar >= Zmienna17 Then                              'cos tam
  Dioda17 = 1                                              'cos tam
  If Pomiar >= Zmienna18 Then                              'cos tam
  Dioda18 = 1                                              'cos tam
  If Pomiar >= Zmienna19 Then                              'cos tam
  Dioda19 = 1                                              'cos tam
  If Pomiar >= Zmienna20 Then                              'cos tam
  Dioda20 = 1                                              'cos tam
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If





Loop



End

Jakimś cudem zmieściłem się w atmedze8 i kompilator bubli nie pokazuje.

Założenia poprawne, układ ma szansę działać. Czyli jak zrobię coś takiego:

nic nie wpinając pomiędzy opornik a atmegę i oprogramuję ją powyższym kodem to będzie działać?

Link do komentarza
Share on other sites

Po pierwsze ta twoja animacja na wejściu, czyli po restarcie procka zajmie pewnie około minuty, rozumiem bajer, ale przesadziłeś. Po drugie aby napięcie na potencjometrze się zmieniało musi być on podłączony potencjometrycznie czyli jednym końcem do plusa, drugim do minusa a suwak musi być podłączony do pinu od adc. Wtedy pomiędzy suwakiem a 2 krańcami robi ci się zmienny dzielnik napięcia. Pozatym będziesz mierzył tak naprawdę zakres 10kg (pomiędzy 90 a 100kg), ale dochodzi początkowe ugięcie sprężyn przy wadze do 90kg. Nie obraź się, ale nie zrealizujesz tak trudnego projektu, samo dobranie sprężyn wiąże się z niemałymi obliczeniami wytrzymałościowymi itp. Dokładności też raczej zbyt dużej nie uzyskasz, teoretycznie będziesz miał 0,5kg na diodę (10kg/20 diód), ale w praktyce okaże się, że sprężyna ma nieliniowe ugięcie i będziesz musiał pomierzyć nastawy potencjometru dla każdej wagi powyżej 90kg co 0,5kg do 100kg. Jeszcze później zorientujesz się, że sprężyna co chwilę inaczej się ściska pod wpływem ciężaru, jego ułożenia względem środka sprężyny i czasu jak długo ciężar pozostaje na wadze. Nie wiem czy jesteś gotowy na tarowanie wagi co kilka pomiarów.

Link do komentarza
Share on other sites

nie obrażam się. 😅😅

ma tyle trwać, żeby opóźnić proces zapisywania zmiennych.

a potem - "sekundnik" diodowy odlicza czas na położenie wagi ( 90,5kg) na tackę i po zgaśnięciu ostatniej diody zapisuje do zmiennej1. Cała sytuacja się powtarza, także wychodzą zmienne:

Zmienna1 = 90,5kg

Zmienna2 = 91kg

Zmienna3 = 91,5kg

Zmienna4 = 92kg

Zmienna5 = 92,5kg

Zmienna6 = 93kg

Zmienna7 = 93,5kg

...

Zmienna19 = 99,5kg

Zmienna20 = 100kg

Sprężyny mam już dobrane o bardzo liniowej charakterystyce zgniotu ;]

Ojciec załatwił - coś mówił o jakichś zaworach. Nie wiem.

Najwyżej sprężyny nawalą a nie elektronika i będę "czysty".

Czyli schemat powinien tak wyglądać:

A kod bez bajerów do tego schematu tak:

$regfile = "m8def.dat" 
$crystal = 1000000 

Config Portc.1 = Output                                     'Noga 24 jako wyjscie 
Config Portc.2 = Output                                     'Noga 25 jako wyjscie 
Config Portc.3 = Output                                     'Noga 26 jako wyjscie 
Config Portc.4 = Output                                     'Noga 27 jako wyjscie 
Config Portc.5 = Output                                     'Noga 28 jako wyjscie 
Config Portc.6 = Output                                     'Noga 1 jako wyjscie 
Config Portc.0 = Input                                      'Noga 23 jako wyjscie 
Config Portd = Output                                       'portD jako wyjscie 
Config Portb = Output                                       'portB jako wyjscie 

Reset Portc                                                 'stan spoczynkowy 0 
Reset Portd                                                 'stan spoczynkowy 0 
Reset Portb                                                 'stan spoczynkowy 0 

Config Adc = Free , Prescaler = Auto , Reference = Internal 'konfiguracja przetwornika ADC 

Start Adc 

Dim Pomiar As Word 
Dim Zmienna1 As Word 
Dim Zmienna2 As Word 
Dim Zmienna3 As Word 
Dim Zmienna4 As Word 
Dim Zmienna5 As Word 
Dim Zmienna6 As Word 
Dim Zmienna7 As Word 
Dim Zmienna8 As Word 
Dim Zmienna9 As Word 
Dim Zmienna10 As Word 
Dim Zmienna11 As Word 
Dim Zmienna12 As Word 
Dim Zmienna13 As Word 
Dim Zmienna14 As Word 
Dim Zmienna15 As Word 
Dim Zmienna16 As Word 
Dim Zmienna17 As Word 
Dim Zmienna18 As Word 
Dim Zmienna19 As Word 
Dim Zmienna20 As Word 

Dioda1 Alias Portb.0 
Dioda2 Alias Portd.7 
Dioda3 Alias Portd.6 
Dioda4 Alias Portd.5 
Dioda5 Alias Portb.7 
Dioda6 Alias Portb.6 
Dioda7 Alias Portd.4 
Dioda8 Alias Portd.3 
Dioda9 Alias Portd.2 
Dioda10 Alias Portd.1 
Dioda11 Alias Portd.0 
Dioda12 Alias Portc.6 
Dioda13 Alias Portc.5 
Dioda14 Alias Portc.4 
Dioda15 Alias Portc.3 
Dioda16 Alias Portc.2 
Dioda17 Alias Portc.1 
Dioda18 Alias Portb.5 
Dioda19 Alias Portb.4 
Dioda20 Alias Portb.3 
Dioda21 Alias Portb.2 
Dioda22 Alias Portb.1 

Wait 20

Pomiar = getadc (8) 
waitms 10
zmienna1 = pomiar
waitms 25

Wait 20

Pomiar = getadc (8) 
waitms 10
zmienna2 = pomiar
waitms 25

Wait 20

Pomiar = getadc (8) 
waitms 10
zmienna3 = pomiar
waitms 25

Wait 20

Pomiar = getadc (8) 
waitms 10
zmienna4 = pomiar
waitms 25

Wait 20

Pomiar = getadc (8) 
waitms 10
zmienna5 = pomiar
waitms 25

...................


Wait 20

Pomiar = getadc (8) 
waitms 10
zmienna20 = pomiar
waitms 25

wait 120

DO 'poczatek petli
Dioda1 = 0                                          
Dioda2 = 0 
Dioda3 = 0 
Dioda4 = 0 
Dioda5 = 0 
Dioda6 = 0 
Dioda7 = 0 
Dioda8 = 0 
Dioda9 = 0 
Dioda10 = 0 
Dioda11 = 0 
Dioda12 = 0 
Dioda13 = 0 
Dioda14 = 0 
Dioda15 = 0 
Dioda16 = 0 
Dioda17 = 0 
Dioda18 = 0 
Dioda19 = 0 
Dioda20 = 0 
Dioda21 = 0 
Dioda22 = 0  

pomiar= getadc (8) 
IF pomiar > zmienna1 THEN 
dioda1=1 
IF pomiar > zmienna2 THEN 
dioda2=1 
.... 
IF pomiar > zmienna18 THEN 
dioda18=1 
IF pomiar > zmienna19 THEN 
dioda19=1 
IF pomiar > zmienna20 THEN 
dioda20=1 
ENDIF 

LOOP 

End

Zaprojektowałem płytke drukowana:

Gdzie są jeszcze błędy?

EDIT:

Znalazłem już pierwszy błąd i poprawiłem w kodzie.

Getadc(8) powinno być getadc(0) bo po pierwsze atmega8 nie ma ośmiu ADC a po drugie potencjometr będzie pod nogę 23 (PC0, ADC0).

Coś jeszcze?

Link do komentarza
Share on other sites

Ten rezystor 200Ω nie jest do niczego potrzebny, przy wartości potencjometru 100kΩ. Nie sprawdzałem płytki bo szczerze nie mam dziś czasu, ale powinieneś sprawdzić nóżkę Aref bo powinieneś ją podłączyć do Vcc w takim układzie, ale za to będziesz musiał bardzo dobrze stabilizować napięcie zasilające.

Link do komentarza
Share on other sites

Chodzi o to, że na potencjometrze będziesz miał zakres napięcia od Vcc (czyli napięcie + procka) do GND (czyli do masy). Np jeśli procka zasilisz 5V to napięcie referencyjne dla przetwornika musisz dać co najmniej równe Vcc aby przetwornik "wiedział" co będzie mierzył. Spójrz na mój schemat Psotka, tam właśnie tak miałem.

Link do komentarza
Share on other sites

Dlaczego twierdzicie ze nie dobierze sprężyn ? poprostu weźmie pierwsze lepsze.. później kładzie na wadze np: 1 kg . mierzy oporność , 1,1 kg .. itd I później implementuje to programowo jako wartości graniczne dla tych 20 diod ...

Taka prymitywna kalibracja .

Link do komentarza
Share on other sites

Dlaczego twierdzicie ze nie dobierze sprężyn ? poprostu weźmie pierwsze lepsze.. później kładzie na wadze np: 1 kg . mierzy oporność , 1,1 kg .. itd I później implementuje to programowo jako wartości graniczne dla tych 20 diod ...

Taka prymitywna kalibracja .

A dlatego, że mówimy tu o ciężarze 100kg! Pozatym zanim zrobi kalibrację od 90 do 100kg to ugięcie sprężyn dla 90kg będzie już niestety inne. Dlatego to nie jest takie proste.

Link do komentarza
Share on other sites

Przepraszam że lekko zmieniam temat, ale chciałbym się dowiedzieć gdzie w Atmedze32 podłącza się potencjometr , jaki ma on być i jaki kod (Bascom) w programie wpisać . Pozdrawiam

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.