(08-07-2023, 23:18)MadMrQ napisał(a): Należy zadać sobie pytanie i poszukać informacji, czy Arduino ogarnie 64-bitowe zmienne. Long w Arduino ma 32 bity, a w swoim kodzie masz:
uint64_t universalID[8]
Może jest coś namieszane w kodzie.Ten projekt to ma być prosty czytnik kodów RFID 125kHz z pamięcią kilku kluczy którymi można otwierać jakieś tam drzwi.
Ogarnąłem i wyświetlacz już działa.Miałem zły wyświetlacz na OLED 1,3 Arduino I2C SH1106 a w programie jest przewidziany na Adafruit Arduino I2C SSD1306.
Nie wiem do czego są i czy są potrzebne te biblioteki na początku programu bo bez tego program tez się kompiluje.
#include <stdio.h>
#include <EEPROM.h>
#include <avr/interrupt.h>
#include <avr/io.h>
#include <avr/sleep.h>
Chciałbym aby to urządzenie,działało z modułem czytnika kart RFID RDM6300 125kHz ale to już wyższa szkoła jazdy.
Oryginalnie za cewkę służy przerobiony jeden klucz RFID 125 kHz gdzie wycięty został mikrochip i dolutowane podzespoły jak na schemacie.Myślę że lepszym rozwiązaniem byłoby zastosowanie właśnie czytnika RDM6300 125kHz,chociaż to powiększa gabarytowo projekt.Czy zamiast tych sensorów można tak przerobić program żeby działał z zwykłymi przełącznikami bistabilnymi?Widać w szkicu że jest to urządzenie o pamięci 8 kluczy przykładowo nazwanych tak jak na wyświetlaczu:
METAKOM_CYFRAL,
METAKOM_1,
CYFRAL_1,
VIZIT_1,
VIZIT_2,
ELTIS,
LIFT,
TOILET
Po dodaniu sensorów TTP223 14x11mm - Touch Sensor program jakoś tam reaguje ale po chwili sensory szaleją i migają jak chcą.Jeden jest wyraźnie za czuły i działa z większej odległości.Mam je zlutowane bardzo blisko siebie jak na zdjęciu.Oby to nie było powodem ich zakłóceń.Po naciśnięciu środkowego(wejście czy wyjście) program wyświetla monit"Press reset to continue..." i nic się nie da zrobić.Skecz jest przez to niestabilny,czyli ma błędy.Po iluś tam dniach prób program działa i wybiera odpowiedni klucz po każdym zresetowaniu.Po to chyba jest ten monit ,że trzeba go zresetować za każdym razem jak się wybierze klucz.A można to pewnie przerobić inaczej.Z sensorami poradziłem sobie tak że przeniosłem je do pinów D9,D8,D7 i podłączyłem do niższego napięcia 3,3V.Moduł z tranzystorem musi być jako nadajnik.Wykorzystałem antenę z RDM6300 z tego schematu plus elementy dyskretne.Zrobiłem skecz w nowej odsłonie pod nazwą "Nowe"
Kod:
static unsigned char PROGMEM logo16_glcd_bmp[] =
{ B00000000, B11000000,
B00000001, B11000000,
B00000001, B11000000,
B00000011, B11100000,
B11110011, B11100000,
B11111110, B11111000,
B01111110, B11111111,
B00110011, B10011111,
B00011111, B11111100,
B00001101, B01110000,
B00011011, B10100000,
B00111111, B11100000,
B00111111, B11110000,
B01111100, B11110000,
B01110000, B01110000,
B00000000, B00110000 };
To można wywalić,Są to jakieś tablice do grafiki:https://forum.arduino.cc/t/converting-bitmaps-to-byte-arrays/127765
A i doczytałem że w tą tablicę poniżej
uint64_t można wstawiać dodatkowe klucze.Tylko w jakim systemie?
uint64_t universalID[] =
{
METAKOM_CYFRAL,
METAKOM_1,
CYFRAL_1,
VIZIT_1,
VIZIT_2,
ELTIS,
LIFT,
TOILET
};