Lysdioder och sånt som blinkar

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
Klickmans
EF Sponsor
Inlägg: 5148
Blev medlem: 1 november 2019, 18:45:08
Ort: Mellan T & Y i Skåne
Kontakt:

Re: Lysdioder och sånt som blinkar

Inlägg av Klickmans »

@Palle500

Får prova mig fram, komponenterna sitter iaf på plats just nu, kunde inte vänta på ljuset.
Tror att det blev rätt, men jag bifogar ändå ett par bilder för säkerhets skull. (Släckt nu)
Ljuset finns att hämta, så det blir det att ta tag i först så jag verkligen kan se ordentligt.

To be, continued.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Palle500
Inlägg: 4494
Blev medlem: 6 juni 2015, 14:53:06

Re: Lysdioder och sånt som blinkar

Inlägg av Palle500 »

Ser rätt ut.
Den borde börja blinka om du täcker över LDR med en bit svart eltejp?
Du kan även koppla D8 direkt till GND då skall det börja blinka. Du behöver inte löda bort något, men se upp så du inte kopplar fel. Det blir inte ens magisk rök om man bränner ut/ingångar.
Användarvisningsbild
Klas-Kenny
Inlägg: 11342
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Lysdioder och sånt som blinkar

Inlägg av Klas-Kenny »

Palle500 skrev: 15 januari 2021, 13:02:54 Du kan ta bort några fyr definitions rader så blir du av med minnes problemet. Jag kör på en UNO och den har väl mer minne än en NANO?

fyr_record fyrX[] = {
{4,700,700,10000,{"Test fyr fl(4) 10s"}}, // index 0
{2,700,700,30000,{"Vinga fyr fl(2) 30s"}}, // index 1
{3,700,700,30000,{"Måseskär fyr fl(3) 30s"}}, // index 2
{3,700,700,12000,{"Hanö fyr fl(3) 12s"}}, // index 3
{1,700,700, 4000,{"Skagen fyr fl(1) 4s"}}, // index 4
{3,700,700, 9000,{"Ramskär fyr fl(3) 9s"}}, // index 5
{2,700,700,12000,{"Hätteberget fyr fl(2) 12s"}}, // index 6
{1,700,700, 5000,{"Tvisten fyr fl(1) 5s"}}, // index 7
{3,200,300,30000,{"Klickmans fyr fl(3) 30s"}} // index 8
};

Deklarera som Const istället, så tabellen ligger i flash istället för RAM. Så borde minne inte längre vara ett problem.
Palle500
Inlägg: 4494
Blev medlem: 6 juni 2015, 14:53:06

Re: Lysdioder och sånt som blinkar

Inlägg av Palle500 »

@Klas-Kenny tror inte "constant" hjälper när det gäller Arduino's kompilator?

minskade lite på "infoStr" för info i record arrayen så nu är det nere i 70% minnes förbrukning.
Men det är lite farligt om man skriver för mycket i denna nul sträng.

typedef struct
{
int fl; // number of blink (max 10)
int blinkOnTime; // normal 700ms (range 200-1200)
int blinkOffTime; // normal 700ms (range 200-1200)
int period; // total sekvens time in ms (max 0x7FFF = 32767ms)
char infoStr[27]; // No compiler warning! if overun om this string!
} fyr_record;

fyr_record fyrX[] = {
{4,700,700,10000,{"Test fyr fl(4) 10s"}}, // index 0
{2,700,700,30000,{"Vinga fyr fl(2) 30s"}}, // index 1
{3,700,700,30000,{"Måseskär fyr fl(3) 30s"}}, // index 2
{3,700,700,12000,{"Hanö fyr fl(3) 12s"}}, // index 3
{1,700,700, 4000,{"Skagen fyr fl(1) 4s"}}, // index 4
{3,700,700, 9000,{"Ramskär fyr fl(3) 9s"}}, // index 5
{2,700,700,12000,{"Hätteberget fyr fl(2) 12s"}}, // index 6
{1,700,700, 5000,{"Tvisten fyr fl(1) 5s"}}, // index 7
{3,200,300,30000,{"Klickmans fyr fl(3) 30s"}} // index 8
};
Användarvisningsbild
ffredrik
Inlägg: 343
Blev medlem: 20 oktober 2009, 17:52:18
Ort: Göinge

Re: Lysdioder och sånt som blinkar

Inlägg av ffredrik »

Jag tror det fungerar om man skriver

const fyr_record fyrX[] = { etc..

Arduinokompilatorn är svjv den vanliga GCC.
Palle500
Inlägg: 4494
Blev medlem: 6 juni 2015, 14:53:06

Re: Lysdioder och sånt som blinkar

Inlägg av Palle500 »

Jag provade så som du föreslår, men icke. Fast det gick ju igenom compilatorn :-)
Jag kör mest lite programmering på Win10 maskiner, men har hållit på med lite olika embedding projekt förr i tiden. Men det är väl så att en NANO inte har så mycket resurser och då skall man nog koda lite mera snålt och systemera för de små resurserna.
Men är tacksam för din hjälp och håller med att det borde fungera.
Användarvisningsbild
Klas-Kenny
Inlägg: 11342
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Lysdioder och sånt som blinkar

Inlägg av Klas-Kenny »

Tydligen har de hittat på något lustigt.
https://www.arduino.cc/reference/en/lan ... s/progmem/

Så detta borde fungera:
const fyr_record fyrX[] PROGMEM = { etc..
Palle500
Inlägg: 4494
Blev medlem: 6 juni 2015, 14:53:06

Re: Lysdioder och sånt som blinkar

Inlägg av Palle500 »

Fungerar att reducera ram från 70% till 52% men resten av programmet hittar inte rätt värden från denna array!
Man måste nog adressera på annat sätt om man har lagrat i programminnet?
Användarvisningsbild
Klickmans
EF Sponsor
Inlägg: 5148
Blev medlem: 1 november 2019, 18:45:08
Ort: Mellan T & Y i Skåne
Kontakt:

Re: Lysdioder och sånt som blinkar

Inlägg av Klickmans »

Kort uppdatering:

Det 10K motstånd jag började med verkar inte vara rätt, så det är bortlött.
Har istället förberett med 2 testkablar, här tänkte jag testa andra motstånd.
Försökte mäta över fotodioden när den var frilödd, men fick inget utslag då.

Oklart vilket håll jag ska börja på, upp eller ner?

Spöket verkar funka annars (datamässigt) men det är något jag inte förstår.
Är inte riktigt kry idag så det tar sin tid att ens skriva om uppdateringen här.
Bifogar en bild på hur det ser ut just nu, ska äta, sen fortsätter jag felsöka.

Så här ser det ut just nu, har en låda med olika motstånd (Kjell)

((Uppdeterad till sensate versionen av Palle500´s program: 70%)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Palle500
Inlägg: 4494
Blev medlem: 6 juni 2015, 14:53:06

Lysdioder och sånt som blinkar

Inlägg av Palle500 »

Som tidigare sagt så hittade jag inte något fotomotstånd att testa med.
Men om du testar lite systematiskt.
1. Koppla D8 till ett motstånd på ca 10K och vidare till GND då skall det blinka.
2. Lämna D8 oansluten så borde det blinka.
3. Koppla D8 till ett motstånd på ca 10K och vidare till +5V (du har väl ingen 3,3V modell?) då skall den inte blinka.
4. Testa LDR genom att stänga av din NANO och låta ena LDR benet vara oanslutet. Koppla på en DMM och resistansmät över LDR. Borde vara under något kilo Ohm vid ordentlig belysning och öka ordentligt om du täcker över med en eltejp bit?
Edit
Lagt till motstånd för punkt 1 så det inte bränns om den inte är ingång.
Du kanske måste köra med en spänningsdelare för att få det att fungera?
Hur som börja med att mäta vilken resistans ditt LDR har.
https://www.circuitstoday.com/how-to-test-an-ldr
Spänningsdelare
http://www.lawicel.se/blog/about/ard-le ... istor-ldr/
Senast redigerad av Palle500 15 januari 2021, 20:05:36, redigerad totalt 3 gånger.
Användarvisningsbild
Klickmans
EF Sponsor
Inlägg: 5148
Blev medlem: 1 november 2019, 18:45:08
Ort: Mellan T & Y i Skåne
Kontakt:

Re: Lysdioder och sånt som blinkar

Inlägg av Klickmans »

@Palle500

Läser om detta tips om ett par timmar, måste få ontet att lägga sig först (moff moff)
Så det är inte för att vara dryg och jävlig som jag inte tar tag i det direkt (som jag vill)
Är verkligen jättetacksam för all din hjälp jag kan få, det här löser sig snart ska du se.

Mucho Tack.
Användarvisningsbild
Klickmans
EF Sponsor
Inlägg: 5148
Blev medlem: 1 november 2019, 18:45:08
Ort: Mellan T & Y i Skåne
Kontakt:

Re: Lysdioder och sånt som blinkar

Inlägg av Klickmans »

Det släppte efter ett tag, så jag mätte.

Mätte på sensorn igår, men jag förstår mig inte riktigt på det instrument jag har.
Mätte även med en analog mätare, och båda regagerar tydligt på ljus och mörker.
Så den verkar vara hel och ha sin funktion intakt, fortsätter med det senare idag.

Ska se om jag får tag på ett enkelt analogt instrument (Ohm + Volt räcker för mig)

20210116_102346.jpg
På bilden här ser man dom tillfälliga UNO-mätpinnar jag lött på för att få kontakt.

Allt för att inte orsaka :kortis: när jag fumlar i blindo.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Palle500
Inlägg: 4494
Blev medlem: 6 juni 2015, 14:53:06

Lysdioder och sånt som blinkar

Inlägg av Palle500 »

Jag skulle vilja veta vilka värden (resistans) du får vid ljust/ mörkt.
Men det lutar åt att konstruktionen behöver ändras. Min första tanke med endast en seriekoppling valdes för att göra det så enkelt som möjligt.
Men vi går på en lösning via en spänningsdelare och börjar med digital detektering av ljus/mörker.
Du ansluter D8 mellan de ihoplödda LDR och 10K motståndet.

+5V ---- LDR ----- D8 ------ 10K ----- GND

Testa först om den blinkar om du jordar D8 enligt punkt 1 i tidigare inlägg?
Edit
En bra kalkylatorsida för färgkod och motstånd till LED.
https://www.digikey.se/sv/resources/con ... color-code
Användarvisningsbild
Klickmans
EF Sponsor
Inlägg: 5148
Blev medlem: 1 november 2019, 18:45:08
Ort: Mellan T & Y i Skåne
Kontakt:

Re: Lysdioder och sånt som blinkar

Inlägg av Klickmans »

@Palle500

Tänkte ta bilder på det igår, men det var lite för mörkt och jag var inte i form just då.
Men jag kopplar upp det när jag kommer hem från Skurup senare idag, tar då bilderna.
En på när sensorn är skymd, och en när det är fullt upplyst, måste nu läsa ditt svar igen.

Nyss vaknad, kaffe.

När jag är klar i knoppen ska jag läsa allt, svarade bara lite snabbt nu så vi har kontakt.
Testa först om den blinkar om du jordar D8 enligt punkt 1 i tidigare inlägg?
Svar JA, den startade upp då precis som du skrev.
Palle500
Inlägg: 4494
Blev medlem: 6 juni 2015, 14:53:06

Re: Lysdioder och sånt som blinkar

Inlägg av Palle500 »

Har kollat lite på nivåer för NANO och en digital ingång är LÅG om spänningen är 2 Volt eller lägre och 3 Volt eller högre ger HÖG signal.
Dessa värden är ju satta för att garantera LÅG/HÖG i praktiken kan det ju variera tex 2,5V ger LÅG och på andra exemplar ger 2,5V HÖG signal.
Här är den räknaren jag använt
https://www.digikey.se/sv/resources/con ... ge-divider

För att lysdioden skall blinka (nattetid) så måste ingången D8 vara LÅG (2V eller lägre) vilket ger att LDR motståndet måste ha en resistans på 15K eller högre.
R1=LDR och R2 är fasta 10k motståndet. Vout är ju kopplad till ingång D8.
Ingång_LOW.JPG
För att lysdioden skall förbli släckt (dagtid) måste ingången D8 var HÖG (3V eller högre) vilket ger att LDR motståndet måste ha en resistans på 6K5 (6500 Ohm) eller lägre.
R1=LDR och R2 är fasta 10k motståndet. Vout är ju kopplad till ingång D8.
Ingång_HIGH.JPG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar