Acties:
  • 0 Henk 'm!

  • D-Three
  • Registratie: Oktober 2001
  • Laatst online: 20-09 13:51
Inpluggen onder spanning, geen ESD bescherming, ... :N Ik hoop dat dit enkel een demonstratie is want het komt niet echt professioneel over.

[ Voor 9% gewijzigd door D-Three op 11-06-2015 07:45 ]


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
D-Three schreef op donderdag 11 juni 2015 @ 07:42:
[...]

Inpluggen onder spanning, geen ESD bescherming, ... :N Ik hoop dat dit enkel een demonstratie is want het komt niet echt professioneel over.
Hoezo geen ESD bescherming? Er ligt duidelijk een ESD mat en en in dit soort omgevingen dragen ze vaak ESD schoenen. Inpluggen onder spanning hoeft ook helemaal geen probleem te zijn als dat hardware bordje goed is ontworpen.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
D-Three schreef op donderdag 11 juni 2015 @ 07:42:
[...]

Inpluggen onder spanning, geen ESD bescherming, ... :N Ik hoop dat dit enkel een demonstratie is want het komt niet echt professioneel over.
Er niks mis met hot swapping zolang je de gnd pin maar langer maakt en die dus als eerste contact maakt. Maar dat gebeurd hier niet, ze prikt eerst netjes de voeding erin, dus arduino word niet gevoed door de tester. Test programma gaat pas lopen als op start gedrukt word, dus pogo testpinnen zullen ook wel hoog ohmig zijn als je het printje erin drukt.

Ziet er dus prima uit, helemaal niks op aan te merken als prototyping. Limor doet dit al heel lang met heel veel verschillende bordjes, ze maken al een hele tijd hun eigen testers voor hun eigen productie. Ze verkopen ook de onderdelen om zelf testopstellingen maken.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • D-Three
  • Registratie: Oktober 2001
  • Laatst online: 20-09 13:51
Ik maak geen opmerking of Limor haar vaardigheden. Maar de arduino op zich is niet "veilig" ontworpen, geen afscherming en de microcontroller is rechtstreeks verbonden met de connectoren. Dus plug je die microcontroller onder spanning rechtstreeks op iets anders. De grounds zullen wel met elkaar verbonden zijn en de pinnen van het bordje er onder waarschijnlijk hoogimpedant. Maar ik zie het toch graag anders; spanning er op als de verbinding gemaakt is :)

Als hobbyist zondig ik ook continue, ik ga thuis echt niet de nodige maatregelen nemen. Maar voor een professioneel elektronica-bedrijf gelden wel richtlijnen. En dat is meer dan een bandje of een matje ;)

[ Voor 6% gewijzigd door D-Three op 11-06-2015 19:53 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Ik ken mensen die helemaal geen esd bescherming gebruiken en gewoon met losse AVR in de hand door het huis lopen op hun sokken. AVR is niet zo gevoelig en heeft zelf al ESD bescherming op elke I/O pin zitten. En dan ook nog de AVR op PCB dan is die helemaal onbreekbaar geworden voor ESD.

En je mag gewoon connectors loshalen en weer aansltuien zolang je maar GND eerst laat verbidnen, kijk maar naar je hot swap SATA connector, GND pinnen zullen langer zijn, USB ook mooi voorbeeld, GND(behuizing) zal als eerste verbinden dan pas de rest.

EN dan de DC connector, ook die heeft GND als eerst aangesloten, DC is leuk voorbeeld want die sluit je juist aan als bord niet onder spanning staat, die connectie word dus altijd gemaakt ten tijden dat stroom erop word gezet.

Regel is dus GND eerst en dan de rest, dan gaat het goed.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
[b][message=44400704,noline]
Als hobbyist zondig ik ook continue, ik ga thuis echt niet de nodige maatregelen nemen. Maar voor een professioneel elektronica-bedrijf gelden wel richtlijnen. En dat is meer dan een bandje of een matje ;)
Dat ESD matje ligt er ook, maar op de grond. En met speciale schoenen is de drager dan altijd geground.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • D-Three
  • Registratie: Oktober 2001
  • Laatst online: 20-09 13:51
Een losse AVR kan je niet vergelijken met een USB of SATA connector :) Trouwens, wat er thuis gebeurt door een hobbyist interesseert me ook niet. Zeg ik toch, ik zondig ook? :) Laptops haal ik ook uit elkaar zonder me te aarden. Een chip gaat ook heus niet (altijd) onmiddellijk defect door die even vast te nemen, weet ik ook wel. Maar hij kan wel schade oplopen die pas later tot uiting komt.

Trouwens, een ESD mat en schoenen zijn enkel voldoende wanneer je rechtstaat. Indien je neer zit, dien je ook een ESD stoel te hebben of een polsbandje aan te hebben omdat het contact anders niet genoeg is. Volgens de richtlijnen dient ook alle kledij op bovenlichaam en armen bedekt te zijn door veiligheidskledij. En zo kan ik nog wel even doorzeiken dat er in feite ook een geaarde ESD-mat op de tafel moet liggen indien de tafel niet ESD-veilig is. En dat alle printen in ESD veilige bakken moeten zitten of in een ESD-zakje...

Ja, ik heb werkervaring in de elektronica-sector ;) Geen probleem indien het gewoon een demonstratie was maar ik hoop dat ze in hun productie- en testomgeving wel de richtlijnen volgen. Maar goed, genoeg off-topic mierengeneuk waarschijnlijk? :P

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
Gaat ook niet om de USB en sata maar wat ik vertel over de GND, USB en SATA heeft er niks mee te maken. ;)

En waar zie jij losse AVR in filmpje? Ik heb het over AVR bordje, losse AVR is ander verhaal natuurlijk, zoals ik ook al min of meer aangaf.

Nogmaals in dit geval speel ESD geen enkele rol, ook als bedrijf zijnde niet, in dit geval wel te verstaan van AVR in een circuit. Ze zitten ook niet in productie omgeving en de werkplek is meer dan zat beveiligd en AVR in bordje kan je echt niet stuk krijgen, heeft zelf al ESD protectie op I/O en de VCC is ook beschermd door het circuit van het bordje.

En ik heb het puur over AVR, andere chips moet je soms met grote zorg behandelen, AVR daarin tegen is zeer robuust gebouwd en heeft zelf al interne clamp diode beveiliging tegen ESD.

Afbeeldingslocatie: http://i.stack.imgur.com/zwbuI.png

Dus zodra de GND en VCC zijn aansloten ben je redelijk veilig en moet je het behoorlijk gek maken wil je I/O opblazen, en uiteraard zijn pinnen van AVR zelf ook 3state en staan in high impendance bij default, zijn lege arduino's die aangesloten worden.

Edit/
En zo kan ik nog wel even doorzeiken dat er in feite ook een geaarde ESD-mat op de tafel moet liggen indien de tafel niet ESD-veilig is.
ESD mat is toch niet geaard? Werkt toch met weerstand? Ik heb nog nooit geaarde ESD mat gezien eerlijk gezegd.

[ Voor 74% gewijzigd door mad_max234 op 13-06-2015 11:28 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • BladeSlayer1000
  • Registratie: April 2013
  • Laatst online: 17-09 20:36
Ben momenteel bezig om een ledstrip controller te maken (nadat mijn oude ledstrip controller wat rook liet zien)..

Nu wil ik alleen een extra optie toevoegen, ik wil aan mijn ledstrip een breathing effect toevoegen. Dit is mij gelukt alleen nu wil ik nog een stapje verder gaan. Ik wil namelijk dat ik een kleur kies, bijvoorbeeld roze, die kleur in breathing effect gaat. Weet iemand hoe ik dit het beste kan aanpakken?

De code die ik nu heb gemaakt is, de functies lijken self expaining, maar mocht er een vraag zijn over een functie hoor ik het graag, daarbij sorry voor de lange code, kon hem helaas niet echt inkorten en ik weet niet hoe ik dit in een klein inklap menu kan zetten :$ ;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#include <IRremote.h>
#include <IRremoteInt.h>
#include <RGBMood.h>

#define SONY

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);

decode_results results;
RGBMood m(10, 9, 6);

bool onState = false;
bool fadeState = false;

int inducatorColourSelected;

bool colourState[3] = {false, false, false};
int colorIntensity[3] = {0, 0, 0};

/* Stores the RGB values*/
int RGB[3] = {0, 0, 0};

void setup() {
  Serial.begin(9600);
  pinMode(2, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(13, OUTPUT);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {   
    remoteControlLoop();
    fade();
}

void remoteControlLoop() {
    if (irrecv.decode(&results)) {
        Serial.println(results.value, HEX);
        switch(results.value) {
            case 0x63E7335D:
                if(onState) {
                    onState = false;
                    digitalWrite(6, 0);
                    digitalWrite(9, 0);
                    digitalWrite(10, 0);
                    digitalWrite(2, 0);
                    digitalWrite(4, 0);
                    digitalWrite(13, 0);
                    inducatorColourSelected = 0;
                    delay(500);
                } else {
                    setColor(96, 96, 96);
                }
            break;
            case 0x207BEF0C:
                setColor(255, 255, 255);
            break;
            case 0xE8455D8D:
                setColor(0, 213, 155);
            break;
            case 0xCBB7E94A:
                setColor(0, 0, 255);
            break;
            case 0x2C1F3171:
                setColor(255, 0, 204);
            break;
            case 0x905ED4F6:
                setColor(255, 255, 0);
            break;
            case 0x8CE1E3FF:
                setColor(0, 255, 0);
            break;
            case 0x315B1906:
                setColor(255, 0, 0);
            break;
            case 0xC67C01B5:
                setColor(255, 166, 0);
            break;
            case 0xB418D96A:
                setColor(80, 0, 80);
            break;
            case 0xF35D078A:
                setColor(118, 242, 36);
            break;
            case 0x3C98A86B:
                setBrigntess(inducatorColourSelected, -30);
            break;
            case 0xBB3E7250:
                setBrigntess(inducatorColourSelected, 30);
            break;
            case 0x4FD6FC19:
                selectedColor();
            break;
            case 0x5D86D6F2: //27
                setBrigntessAll(21);
            break;
            case 0x5E620443: //28
                setBrigntessAll(-21);
            break;
            case 0xDC68E43C: //33
                setBrigntess(inducatorColourSelected, 15);
            break;
            case 0x1B6E367F: //34
                setBrigntess(inducatorColourSelected, -15);
            break;
            case 0xA11569C0:
                if(fadeState) {
                    fadeState = false;
                    break;
                } else {
                    fadeState = true;
                    fade();
                }
            break;
    }
    delay(250);
    irrecv.resume(); // Receive the next value  
    
    }
}


void fade() {
    if(fadeState) {
        int fadeValue;
        for(fadeValue=0; fadeValue<=255; fadeValue+=5) {
            analogWrite(10, fadeValue);
            analogWrite(9, fadeValue);
            analogWrite(6, fadeValue);
            delay(30);
        }
        for(fadeValue=255; fadeValue>=0; fadeValue-=5) {
            analogWrite(10, fadeValue);
            analogWrite(9, fadeValue);
            analogWrite(6, fadeValue);
            delay(30);
        }
    }
}

void setColor(int R, int G, int B) {
    onState = true;
    colorIntensity[0] = R;
    colorIntensity[1] = G;
    colorIntensity[2] = B;
    storeRGB(R, G, B);
    if(colorIntensity[0] > 0) {
        colourState[0] = true;
    } else {
        colourState[0] = false; 
    }
    
    if(colorIntensity[1] > 0) {
        colourState[1] = true;
    } else {
        colourState[1] = false; 
    }
    
    if(colorIntensity[2] > 0) {
        colourState[2] = true;
        
        Serial.print(colourState[2]);
    } else {
        colourState[2] = false; 
            
        Serial.print(colourState[2]);
    }
    
    analogWrite(6, colorIntensity[2]);
    analogWrite(9, colorIntensity[1]);
    analogWrite(10, colorIntensity[0]);
    delay(250);
}

int getRed() {
    return RGB[0];
}

int getGreen() {
    return RGB[1];
}

int getBlue() {
    return RGB[2];
}

int storeRGB(int R, int G, int B) {
    RGB[0] = R;
    RGB[1] = G;
    RGB[2] = B;
}

Acties:
  • 0 Henk 'm!

  • BladeSlayer1000
  • Registratie: April 2013
  • Laatst online: 17-09 20:36
Ik ben begonnen met het herschrijven van een deel van de code. Heb nu oa een functie gemaakt die de hoogste en laagste waarde pakt uit een array. Hiermee ga ik uiteindelijk bepalen hoeveel keer de ledstrip kan worden gedimt.

Ik zal morgen een eens een foto plaatsen.

Acties:
  • 0 Henk 'm!

  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 20-09 23:24

BoAC

Memento mori

* BoAC is bezig om een klein pov-display (5 leds) te maken met een attiny85 :)
Lekker ingewikkeld met 2 timers om het heen en weer halen van het balkje te kunnen ondersteunen :)

Acties:
  • 0 Henk 'm!

  • Daanieyel
  • Registratie: Juli 2012
  • Niet online
Ik ben bezig met het bouwen van een dualstage coilgun. De coilgun is al bijna af, nu ben ik bezig met het triggeren van de 2de spoel. Hierover heb ik een vraag. Vlak voor de tweede spoel bouw ik in de loop een LDR in, waar een led op schijnt. Mijn idee is dat de kogel hier dan voorbij vliegt, waardoor de weerstand van de LDR boven een bepaalde waarde komt. Dat moet er dan voor zorgen (met een simpele if statement) dat één van de digitale pinnen van de arduino op high gezet wordt. Daardoor wordt de tweede spoel dan getriggerd (met een SCR).

Nu vroeg ik me af of ik ook rekening moet houden met de reactietijd van de arduino. Het geheel gaat nogal snel (de kogel heeft al een snelheid van tussen de 50 en 100 km/u door alleen de eerste spoel), dus ik zou me kunnen voorstellen dat mijn SCR dan te laat getriggerd wordt door de arduino en dat mijn kogel dan al voorbij de spoel is. Ook vroeg ik me hoe vaak de arduino de data van de LDR ververst. Want die weerstand zal ook maar heel even verhogen als er een kogel van 1cm lang met 100km/u voorbij vliegt.

Ryzen 3600 - GTX1060


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 23:57
Een LDR is een heel graag. Je kan dan beter een foto transistor of foto diode gebruiken. Die sluit je aan op een interrupt pin van je Arduino. Geeft die een interrupt dan weet je dat de tweede spoel bekrachtigd moet worden.

Is dat nog te traag... dan zal je de input pin zelf moeten pollen en niets met interrupts doen.
mad_max234 schreef op zaterdag 13 juni 2015 @ 10:55:

[...]


ESD mat is toch niet geaard? Werkt toch met weerstand? Ik heb nog nooit geaarde ESD mat gezien eerlijk gezegd.
Op werk hebben wij ESD matten liggen die je specifiek in de hoek kan aarden. Daarnaast zijn alle tafels en kasten geaard en moet je speciale schoenen en een jas aan. Dus ja, die bestaan :)

Opstellingen buiten het lab zoals dit:
Afbeeldingslocatie: http://www.esdproduct.com/ESD_faq-1_files/work.gif

[ Voor 45% gewijzigd door LED-Maniak op 23-06-2015 00:24 ]

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Ik heb dat niet nodig. Ik ben van mijzelf altijd al goed geaard ;) /bading tsssh

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • Psycho_Mantis
  • Registratie: Februari 2007
  • Laatst online: 19-09 08:07

Psycho_Mantis

Wow. So Amaze.

RobV schreef op dinsdag 23 juni 2015 @ 08:31:
Ik heb dat niet nodig. Ik ben van mijzelf altijd al goed geaard ;) /bading tsssh
ESD maatregelen nemen lijkt me ook wel een beetje overdreven voor een Arduino.

Die gaan echt niet zo snel kapot. Ze gaan eerder stuk als je ermee zit te klooien :+

Acties:
  • 0 Henk 'm!

  • BladeSlayer1000
  • Registratie: April 2013
  • Laatst online: 17-09 20:36
Psycho_Mantis schreef op dinsdag 23 juni 2015 @ 09:23:
[...]

ESD maatregelen nemen lijkt me ook wel een beetje overdreven voor een Arduino.

Die gaan echt niet zo snel kapot. Ze gaan eerder stuk als je ermee zit te klooien :+
Vreemd genoeg is er bij mij nog geen een gesneuveld door het klooien, wel is een keer een voeding overleden hoe weet ik niet, maar mijn arduino doet het nog steeds :P

Zelf heb ik stage gelopen bij een bedrijf waar ESD ook zeer belangrijk was. De verplichtingen die je uiteindelijk kreeg vielen best mee.

Wat ik moest dragen waren ESD schoensel, en een ESD jas. Indien je met speciale producten ging werken moest je een ESD armband om. Maar dit gebeurde hooguit 2 tot 3* per jaar.

Thuis houd ik als hobbyist er niet echt rekening mee. Ik heb wel een tafel geaard, en een ESD mat erop liggen maar ik draag nooit mijn ESD schoensel. Ook aard ik mij nooit zelf. Ik vind dat onnodig als hobbyist om allerlei maatregelen te nemen tegen ESD, indien je een product voor jezelf aan het maken bent.

Acties:
  • 0 Henk 'm!

  • Psycho_Mantis
  • Registratie: Februari 2007
  • Laatst online: 19-09 08:07

Psycho_Mantis

Wow. So Amaze.

BladeSlayer1000 schreef op dinsdag 23 juni 2015 @ 15:10:
[...]


Vreemd genoeg is er bij mij nog geen een gesneuveld door het klooien, wel is een keer een voeding overleden hoe weet ik niet, maar mijn arduino doet het nog steeds :P
Ik heb ze ook nooit gesloopt.

Het enige wat ik voor elkaar heb gekregen is om het ledje op pin 13 op een uno te laten doorbranden. Maar dat kan ook komen omdat het misschien een kwalitatief slechte kloon was.

Acties:
  • 0 Henk 'm!

  • BladeSlayer1000
  • Registratie: April 2013
  • Laatst online: 17-09 20:36
Psycho_Mantis schreef op dinsdag 23 juni 2015 @ 15:25:
[...]

Ik heb ze ook nooit gesloopt.

Het enige wat ik voor elkaar heb gekregen is om het ledje op pin 13 op een uno te laten doorbranden. Maar dat kan ook komen omdat het misschien een kwalitatief slechte kloon was.
Soms gebeuren de meest vreemdste dingen, appart dat een ledje kan doorbranden. Waarschijnlijk zat er de verkeerde weerstand voor.

Acties:
  • 0 Henk 'm!

  • Sokkeh
  • Registratie: Januari 2012
  • Laatst online: 15-09 19:44
BladeSlayer1000 schreef op zaterdag 13 juni 2015 @ 22:13:
Ben momenteel bezig om een ledstrip controller te maken (nadat mijn oude ledstrip controller wat rook liet zien)..

Nu wil ik alleen een extra optie toevoegen, ik wil aan mijn ledstrip een breathing effect toevoegen. Dit is mij gelukt alleen nu wil ik nog een stapje verder gaan. Ik wil namelijk dat ik een kleur kies, bijvoorbeeld roze, die kleur in breathing effect gaat. Weet iemand hoe ik dit het beste kan aanpakken?

De code die ik nu heb gemaakt is, de functies lijken self expaining, maar mocht er een vraag zijn over een functie hoor ik het graag, daarbij sorry voor de lange code, kon hem helaas niet echt inkorten en ik weet niet hoe ik dit in een klein inklap menu kan zetten :$ ;
Om rood groen of blauw te faden is niet zo moeilijk, dan zet je enkel de andere 2 kleuren altijd op 0. Bij andere kleuren moet je de beginwaarden verdelen over je schaal en dan geschaald de intensiteit terugdraaien. bijv rood van 100 naar 0 met stappen van 5, groen met stappen van 50 naar 0 met stappen van 2,5.

een tweede optie zou zijn om een aparte functie te maken die je kleuren regelt en waar je de intensiteit zelf in kunt stellen.
je kan hier bijvoorbeeld de r g en b values van 0 t/m 7 (voor 3 bit kleuren) laten lopen en dit schalen met een intensiteit naar 0 tot 255. dan wordt je verhaal een stuk makkelijker. Maak ook even netjes een functie voor RGBoutput die analogwrite naar je 3 poorten op basis van R G en B, maakt het verhaal een stuk netter.

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09
LED-Maniak schreef op dinsdag 23 juni 2015 @ 00:19:
Een LDR is een heel graag. Je kan dan beter een foto transistor of foto diode gebruiken. Die sluit je aan op een interrupt pin van je Arduino. Geeft die een interrupt dan weet je dat de tweede spoel bekrachtigd moet worden.

Is dat nog te traag... dan zal je de input pin zelf moeten pollen en niets met interrupts doen.


[...]

Op werk hebben wij ESD matten liggen die je specifiek in de hoek kan aarden. Daarnaast zijn alle tafels en kasten geaard en moet je speciale schoenen en een jas aan. Dus ja, die bestaan :)

Opstellingen buiten het lab zoals dit:
[afbeelding]
weer iets geleerd, maar die werkt dan anders dan de bekende blauwe matten?

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Ik ben ook bezig met een RGB strip. Ik gebruik de FastLed library om deze aan te sturen, maar daar gaat het eigenlijk niet om, dat werkt prima. Ik heb een Bluetooth module aan de Arduino hangen om verschillende commando's te sturen. De Arduino moet reageren door een bepaald effect naar de leds te sturen. Dat komt neer op een while loop met bijvoorbeeld een fade effect of knipper effect. Zodra ik een nieuwe commando stuur moet dit veranderd kunnen worden.

Het probleem is dat de "hoofd" loop de communicatie afhandelt waar een pauze in zit en ik een andere loop nodig heb voor elk effect. Hoe kan ik dit parallel laten lopen?

Wat code ter ondersteuning:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
void setup(){
  Serial.begin(9600);
  Bluetooth.begin(9600);
  Bluetooth.println("Bluetooth On please wait....");
  
  //sanity check delay - allows reprogramming if accidently blowing power w/leds
  delay(2000);
  FastLED.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS);
  FastLED.setBrightness(BRIGHTNESS);
  
  setupLEDs();
  clearLeds();
  //blinkLeds();
}

void loop() {

  
  // put your main code here, to run repeatedly:
  if (Bluetooth.available()){
    bd = Bluetooth.read();
    if(bd=='0'){
      setColor(CRGB::Black); 
      Bluetooth.println("Off");
    }
    if(bd=='1'){   // if number 1 pressed ....
      setupLEDs();
      Bluetooth.println("Blink");
    }
    if(bd=='2'){
      loopLeds(); 
      Bluetooth.println("Loop");
    }
    if(bd=='r'){
      setColor(CRGB::Red); 
    }
    if(bd=='g'){
      setColor(CRGB::Green); 
    }
    if(bd=='b'){
      setColor(CRGB::Blue); 
    }
    if(bd=='w'){
      setColor(CRGB::White); 
    }
    if(bd=='f'){
        Fire2012(); // run simulation frame
    }
  }
  delay(100);// prepare for next data ...
}

In bijvoorbeeld loopLeds() zit een while loop. Alles wordt geblokkeerd zodra deze draait.

[ Voor 50% gewijzigd door HaTe op 28-06-2015 11:12 ]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 23:57
Nog een core nemen en je kan twee processen parallel doen ;) .

Je zal met een interrupt moeten werken die triggert zodra er data over de UART binnen komt. Dan kan je in je hoofd loop deze data afhandelen/verwerken met een gewenst effect.

Met een beetje geklooi krijg je het ook wel allemaal in je main loop overigens(maar is niet netjes). Die delay is nergens voor nodig.

[ Voor 21% gewijzigd door LED-Maniak op 28-06-2015 11:16 ]

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Oke, dat klinkt logisch, maar ik kan niet direct vinden hoe dat dan precies moet. Heb je misschien een code snippet/webpagina waar dit wordt uitgelegd?

Ik heb misschien wat gevonden: http://www.instructables....e-2-Serial-Communication/
Meer informatie/oplossingen zijn welkom, het wordt nog niet direct duidelijk

edit: Ik ga het gewoon allemaal in 1 loop doen, dat werkt wel

[ Voor 49% gewijzigd door HaTe op 29-06-2015 13:47 ]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

En opeens heb ik een raar probleem, de Arduino Nano 328 doet niks meer! Het PWR lampje brand nog wel (dus bootloader werkt niet?) en hij wordt nog herkend door de PC. Het script wat er op stond wil niet meer draaien (krijg geen seriele commando's terug wat hij zou moeten doen) en ik kan niks uploaden:
code:
1
2
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x96


Iemand een idee? De gebruikelijke dingen (kabel checken, poort etc) gaan niet echt op omdat het opeens is ontstaan. Ik gebruik Windows 8.1 en Arduino 1.6.5. Een andere kabel en USB poort geeft het zelfde resultaat

[ Voor 7% gewijzigd door HaTe op 29-06-2015 13:50 ]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 20-09 16:03
Dit klinkt inderdaad naar een uC die niet meer wil werken of compleet leeg is. De PC herkent de USB->Serial chip nog wel, dat is dus het probleem niet. Dus OF je chip runt niet/is defekt OF de bootloader is op 1 of andere manier gewist.

Is je Arduino niet beschadigd door iets?

[ Voor 15% gewijzigd door Vuikie op 29-06-2015 14:06 ]


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Hij hing gewoon stil de ledstrip aan te sturen, dus er kan niet veel mee gebeurd zijn. Een bootloader kan toch ook niet zomaar worden gewist? Hoe kan ik dit troubleshooten?

Als ik reset gaat er geen led branden, wat lijkt op dat er geen bootloader is

[ Voor 28% gewijzigd door HaTe op 29-06-2015 14:28 ]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Heb je een 2e arduino voorhanden? Zo ja even via deze procedure de bootloader er opnieuw opzetten:

https://www.arduino.cc/en/Tutorial/ArduinoISP

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • Psycho_Mantis
  • Registratie: Februari 2007
  • Laatst online: 19-09 08:07

Psycho_Mantis

Wow. So Amaze.

HaTe schreef op maandag 29 juni 2015 @ 13:49:
En opeens heb ik een raar probleem, de Arduino Nano 328 doet niks meer! Het PWR lampje brand nog wel (dus bootloader werkt niet?) en hij wordt nog herkend door de PC. Het script wat er op stond wil niet meer draaien (krijg geen seriele commando's terug wat hij zou moeten doen) en ik kan niks uploaden:
code:
1
2
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x96


Iemand een idee? De gebruikelijke dingen (kabel checken, poort etc) gaan niet echt op omdat het opeens is ontstaan. Ik gebruik Windows 8.1 en Arduino 1.6.5. Een andere kabel en USB poort geeft het zelfde resultaat
Heb je wel de juiste type arduino geselecteerd staan?

Meestal krijg ik dan exact dezelfde melding als jou.

Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Ja ik heb wel het juiste type Arduino geselecteerd. Ik heb nog wel een Arduino Uno liggen die ik kan gebruiken om de bootloader te branden. Alleen ik krijg de melding:
code:
1
2
3
4
5
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

Fout bij het branden van de bootloader.


Misschien ligt het aan dat ik het volgende niet heb: "On the Arduino Uno, you'll need to connect a 10 uF capacitor between reset and ground (after uploading the ArduinoISP sketch)"
Ik kan wel een een capacitor komen, maar dan nog snap ik het niet. In het voorbeeld gebruiken ze zowel als programmer en "slave" een Uno. Waar moet ik dan die capacitor plaatsen?

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Die condensator is niet het grootste probleem, althans ik heb hem nog nooit gebruikt. Dit klinkt eerder als een hangende atmega. Hangt de reset lijn net perongeluik aan de ground?

Ze zou handmatig met AVRdude even kunnen kijken of de verbinding met de chip wel ok is, avrdude staat ergens in de arduino install directory.

avrdude -P com3 -c avrisp -b 19200 -p atmega328p

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Met dat commando krijg ik het volgende:
avrdude: can't open config file "": Invalid argument
avrdude: error reading system wide configuration file ""

Ik neem aan dat je bedoelt met de Nano aan de USB? En de reset en ground heb ik net doorgemeten, die zijn niet verbonden

[ Voor 14% gewijzigd door HaTe op 29-06-2015 16:27 ]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
HaTe schreef op maandag 29 juni 2015 @ 16:27:
Met dat commando krijg ik het volgende:
avrdude: can't open config file "": Invalid argument
avrdude: error reading system wide configuration file ""

Ik neem aan dat je bedoelt met de Nano aan de USB? En de reset en ground heb ik net doorgemeten, die zijn niet verbonden
Me de arduino als programmer aan de USB en de probleem arduino aan de programmer gekoppeld.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
En de arduino als programmer zit ook op COM3?

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Wonder boven wonder is het opeens gelukt! Alles nog een keer aangesloten en nu ging het goed. Toch heb ik hiervoor ook al 2x de bedrading nagekeken..

Maar nu de vraag, hoe kan het dat de bootloader opeens corrupt raakt? Dat is natuurlijk niet de bedoeling als ik straks geen PC bij me heb. Het is de bedoeling dat deze met de CarbageRun meegaat (naar Engeland) ;)

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Was hij echt stuk of had je al een bedradingsprobleem? Ik heb het gevoel dat je reset hing

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Ik heb echt geen idee wat er nou aan de hand was, ik weet alleen dat hij rustig zijn scriptje aan het draaien was en hij toen opeens stopte en ik er niks meer mee kon.

Een bedradingsprobleem lijkt mij niet, hij zit al een tijd op een printplaat gesoldeerd.

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Ik heb het zelfde gehad. Bleek bij mij wat restjes flux te zijn die onder invloed van warmte wat problemen veroorzaakte. Nogmaals alle solderingen gereinigd en het probleem was weg.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

En alweer was de bootloader opeens weg. Wat kan een mogelijke oorzaak hier van zijn? Gisteren zat de reset pin wel vast had ik het idee, hij deed de opstartprocedure steeds opnieuw (zag ik in de seriele console) en het "L" lampje knipperde steeds. Vandaag even opnieuw gesoldeerd en net was hij opeens weer leeg.

[ Voor 57% gewijzigd door HaTe op 30-06-2015 15:20 ]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
HaTe schreef op dinsdag 30 juni 2015 @ 15:19:
En alweer was de bootloader opeens weg. Wat kan een mogelijke oorzaak hier van zijn? Gisteren zat de reset pin wel vast had ik het idee, hij deed de opstartprocedure steeds opnieuw (zag ik in de seriele console) en het "L" lampje knipperde steeds. Vandaag even opnieuw gesoldeerd en net was hij opeens weer leeg.
Waar heb je die Arduino gekocht? EBay? Webshop? Officiele Arduino of een kloon?

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Deze komt van Banggood: http://www.banggood.com/A...ble-Arduino-p-940937.html

[ Voor 68% gewijzigd door HaTe op 30-06-2015 15:41 ]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Dan lijkt het mij economischer om er verder geen energie en tijd in te steken en er gewoon een andere aan te hangen.

/bin.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Ik heb het gisteren weer voor elkaar gekregen om de bootloader te laten verdwijnen. Ik heb een externe voeding aan het bordje hangen, aangesloten op de Vin lijn. Hier hangt ook een ledstrip aan die aardig wat stroom trekt. Ik was de Arduino aan het programmeren dus had de USB er ook in. Ik trok de externe voeding er uit en nu werd alle stroom uit de USB aansluiting gehaald. Hierna werkte het bordje niet meer. Ik krijg het nu ook niet meer voor elkaar om er een bootloader op te branden, weer de invalid devide signature 0x00000.
Is dit nog te redden?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
         Using Port                    : COM7
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x000000 (retrying)

[ Voor 68% gewijzigd door HaTe op 01-07-2015 11:56 ]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Mogelijk is je USB port van je computer geblocked om de PC te beschermen (too much current). PC al herstart? (uit en aan, geen reboot).

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Helaas dat heeft niet geholpen.

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 20-09 16:03
Het zou ook kunnen dat je reset circuit niet goed is. De reset van een AVR wordt naar VCC getrokken als hij gewoon moet werken en naar 0 als de chip gereset wordt... Op een Arduino wordt de reset getriggerd door het toggelen van de DTR lijn .

Kijk eens of er een goede 5 volt op de reset pin staat. Als deze een beetje zweeft(Doordat het reset circuit niet goed is) Dan kan hij in een continue reset blijven hangen.

Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Uit de voeding komt 5.35V en op de pinnen (reset en 5V) staat 4.5V en is mooi constant. Dus dat lijkt mij ook het probleem niet :N

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

Verwijderd

RobV schreef op dinsdag 30 juni 2015 @ 15:58:
Dan lijkt het mij economischer om er verder geen energie en tijd in te steken en er gewoon een andere aan te hangen.

/bin.
op de achtergrond eea volgende, kom ik tot dezelfde conclusie.. hij is helaas gewoon verrot (gegaan) 8)

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
HaTe schreef op woensdag 01 juli 2015 @ 20:23:
Uit de voeding komt 5.35V en op de pinnen (reset en 5V) staat 4.5V en is mooi constant. Dus dat lijkt mij ook het probleem niet :N
Wacht even, je hebt een 5.3V adapter aangesloten op de VIN? Of aan de 5V. Want als je het op de Vin aansluit gaat het nog door de voltage regulator en die heeft 6v nodig. Bij de lage spanning gaat de regulator stoppen met reguleren.

[ Voor 7% gewijzigd door RobV op 01-07-2015 21:17 ]

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 18:49

HaTe

haat niet

Ja dat klopt :F Ik zie nu dat er inderdaad 9V op moet.
Eens kijken wat er gebeurd als ik het allemaal goed aansluit.

It's alive!

[ Voor 85% gewijzigd door HaTe op 02-07-2015 08:16 ]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Heeft iemand wel eens geprobeerd om van een Arduino een HID device te maken? Ik ben van plan om voor een flightsim zelf een joystick te ontwerpen namelijk

Ik heb gezien hoe je van een Uno een HID device kan maken door de USB-chip van een nieuwe firmware te voorzien, maar ik heb ook gezien hoe ze van een AVR (AtMega8) een USB device maken door een low-level driver erop te zetten.

http://www.imaginaryindustries.com/blog/?p=80
http://electronics.stacke...o-create-a-usb-hid-device

O-)


Update:

Ik kwam in mijn voorraadkast nog een Teensy 2.0 tegen. En laat deze Teensy nou al een ingebouwde ‘HID class software driver firmware controller source’ hebben :D

Ze hebben zelfs een demo/tutorial voor het bouwen van je eigen joystick *O* *O* *O*

Mijn weekend komt wel goed.

[ Voor 29% gewijzigd door RobV op 16-07-2015 12:19 ]

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 00:18
Hi,

ik wil in mijn vakantie een arduino-based projectje om mijn kippenhok heen bouwen. Ik zit te denken aan zulke functies

- gewichtsensor voor de voerbak
- temperatuursensor die het raam open kan doen als het te warm wordt
- sensor om te meten of de kippen binnen zijn
- sensor die een lamp binnen aan kan doen bij zonsondergang

Ik heb al even gechecked of er modules voor zijn en dat moet wel kunnen. Ik kan programmeren, dus dat is in principe niet zo'n probleem. Maar wat heb ik nodig, buiten de onderdelen?

Adapter
Voltmeter
Stroomdraad
Soldeerapparaat

En kan ik die modules allemaal op 1 arduino aansluiten, of is dat teveel load?

Acties:
  • 0 Henk 'm!

Verwijderd

hier een voorbeeldje mbt het meten van gewicht + arduino
onderschat de complexiteit van het geheel niet (interruptbased vb)

- http://www.scottcutler.net/catpoop/catpoop.html

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 00:18
Verwijderd schreef op donderdag 16 juli 2015 @ 12:33:
hier een voorbeeldje mbt het meten van gewicht + arduino
onderschat de complexiteit van het geheel niet (interruptbased vb)

- http://www.scottcutler.net/catpoop/catpoop.html
Ik geloof dat het lastig is, maar ik zoek een leuke uitdaging :)

Acties:
  • 0 Henk 'm!

Verwijderd

onmogelijk is het natuurlijk niet .. succes !

ps gewoon uit nieuwsgierigheid.. hoe ga je meten of al je kippen binnen zijn (rfid tags?)

[ Voor 54% gewijzigd door Verwijderd op 16-07-2015 12:41 ]


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Verwijderd schreef op donderdag 16 juli 2015 @ 12:33:
hier een voorbeeldje mbt het meten van gewicht + arduino
onderschat de complexiteit van het geheel niet (interruptbased vb)

- http://www.scottcutler.net/catpoop/catpoop.html
Volgens mij is deze juist niet interupt based. hij schakelt alleen de interrupts uit tijdens het uitlezen.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

Verwijderd

SnowDude schreef op donderdag 16 juli 2015 @ 12:47:
[...]

Volgens mij is deze juist niet interupt based. hij schakelt alleen de interrupts uit tijdens het uitlezen.
ik bedoelde eigenlijk als de topicstarter al die gewenste functies wil integreren,
maar goed.. zover is die voorlopig nog niet ;)

Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:12

ResuCigam

BOFH

Ik zie maar vier sensoren waarvan er drie niet tijd kritisch zijn, het zou geen probleem mogen zijn 8)

We do what we must because we can.


Acties:
  • 0 Henk 'm!

Verwijderd

ResuCigam schreef op donderdag 16 juli 2015 @ 13:23:
Ik zie maar vier sensoren waarvan er drie niet tijd kritisch zijn, het zou geen probleem mogen zijn 8)
vandaar mijn vraag hoe je gaat registreren of ALLE kippen binnen zijn, maar goed, ik ga geen 'discussie voeren op niet bestaande ontwerpen van zowel hard/software , komt wellicht nog :P

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 00:18
Verwijderd schreef op donderdag 16 juli 2015 @ 13:31:
[...]


vandaar mijn vraag hoe je gaat registreren of ALLE kippen binnen zijn, maar goed, ik ga geen 'discussie voeren op niet bestaande ontwerpen van zowel hard/software , komt wellicht nog :P
Ik zat al wat RFID meuk langskomen, misschien kan ik daar wat mee, met 2 sensoren door een tunnel om de richting te bepalen.

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Deze xbox 360 controller heeft het niet overleefd. Ik wilde kijken of ik met een paar eenvoudige draadjes de potmeters kon uitlezen. Helaas zit er op de controller nog wat logica die roet in het eten gooide.

Afbeeldingslocatie: http://i.imgur.com/nhXUSTCl.jpg

Hot air gun!

Componentjes eraf gehaald. Ik heb nu 6 assen (2x X/Y plus 2 analog) waarmee ik kan spelen. Ik heb de ‘joystick’ voorbeeldsketch op de Teensy gezet en 1 van de controls aan de teensy gehangen.

Wow, dit is echt eenvoudig!! Nu snel bedenken voor een gave behuizing. Ik denk 3d-printen van het model en dan de handvatten afbinden met leertape (vinyl) zoals ze voor tennisrackets gebruiken!

Afbeeldingslocatie: http://assets2.thecreatorsproject.com/content-images/contentimage/no-slug/11b6fa7fae7ce063b67f39346adb2bda.jpg

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

Verwijderd

ik heb het destijds aan de andere kant gedaan .. de ontvanger uit een xbox gehaald

Afbeeldingslocatie: http://s2.postimg.org/6dgg0nwzt/xboxrec.jpg

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Ja, dat kan ook. Als je een wireless controller wilt hebben :D

Edit: 1e design sketch. Voor de knoppen/handles moet je een beetje denken aan de handremmen van een fiets. En dan moeten ergens nog een POV-hat op. Op de trottle dus nog een ‘handremmetje’ en een duimknop. En op de joystick 2x ‘handrem’ van verschillende lengte (fire), een pov-hat en wellicht nog 2 knopjes.

Afbeeldingslocatie: http://i.imgur.com/R7vGLacl.png

Sorry, dit heeft helemaal niets met Arduino te maken...

[ Voor 78% gewijzigd door RobV op 16-07-2015 19:26 ]

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • peet79
  • Registratie: April 2009
  • Laatst online: 08-03 17:21
Ik ben nog niet zo heel ervaren met Arduino en Elektronica, maar ik kwam laatst een leuk projectje tegen dat (tot nu toe) redelijk eenvoudig te maken is. Het leek me handig om met een arduino mijn energie verbruik te kunnen monitoren. Na wat googlen kwam ik deze site tegen:
http://www.engineerathome...gieverbruik+met+arduino/9

Nu had ik het geluk dat mijn meter een pulsend ledje heeft in plaats van een draaischijf, dus met alleen een LDR was ik al klaar. In eerste instantie de code zo aangepast dat hij werkt met een LCD scherm, zodat ik lokaal mijn wattage kan aflezen en hij de watt uurtjes optelt. Heb daarnaast een Wifi shield besteld om te kijken of ik ook de data kan gaan loggen via sparkfun.com. Daar is namelijk ook een tutorial voor geschreven: http://www.engineerathome...a+naar+sparkfun+loggen/46

Op zich geen heel schokkend project, maar ik zat hard te zoeken naar een leuk en nuttig projectje voor mijn arduino om er wat ervaring mee op te doen en dat loopt tot nog toe prima :). De Watt meting is trouwens vrij nauwkeurig, als ik mijn 800W broodrooster aanzet, zie je hem netjes zo'n 800 wat omhoog springen. (Ik had hier een foto bij willen doen, maar de combinatie donkere gangkast en fel LCD scherm is wat te veel voor mijn (telefoon)camera.)

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Update joystickproject:

Vandaag met behulp van SketchUp en de 3D printer een zogenaamde ‘gimbal’ gemaakt voor de joystick. 2 assen met potentiometers.

Afbeeldingslocatie: http://i.imgur.com/1Dp0XOwl.jpg

Inmiddels ben ik erachter dat niet alleen een Teensy maar ook een Arduino Leonardo (of elke andere ATMega32U-based kloon zoals de nieuwe Pro Micro) zich kunnen gedragen als een HID-controller. En aangezien een Pro Micro maar €5 is (en geen €20 voor de Teensy), kan deze joystick nóg voordeliger gemaakt worden! Niet dat ik van plan ben commercieel te gaan.

[ Voor 4% gewijzigd door RobV op 17-07-2015 21:47 ]

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

Verwijderd

Ik had een tijdje geleden 2 Arduino Nano clones besteld.
Nu blijkt echter dan de Chinezen de digitale poorten omgekeerd gezet hebben.
Ik kan dit het best uitleggen met een simpel voorbeeld. Om een led te laten branden op bv poort D3, moet ik het volgende ingeven:
digitalWrite(3, LOW);

Moet ik nu mijn volledige code (geschreven voor een Uno) aanpassen?
Heeft het omdraaien van de waardes van de poorten invloed op andere commando's?

Of bestaat er een simpele manier om dit 'normaal' te krijgen?

Thx,
peter

Acties:
  • 0 Henk 'm!

  • C.44
  • Registratie: Juni 2001
  • Laatst online: 05-08-2020

C.44

TurboCharged Supra Driver

Verwijderd schreef op zaterdag 01 augustus 2015 @ 00:59:
Ik had een tijdje geleden 2 Arduino Nano clones besteld.
Nu blijkt echter dan de Chinezen de digitale poorten omgekeerd gezet hebben.
Ik kan dit het best uitleggen met een simpel voorbeeld. Om een led te laten branden op bv poort D3, moet ik het volgende ingeven:
digitalWrite(3, LOW);

Moet ik nu mijn volledige code (geschreven voor een Uno) aanpassen?
Heeft het omdraaien van de waardes van de poorten invloed op andere commando's?

Of bestaat er een simpele manier om dit 'normaal' te krijgen?

Thx,
peter
Is imho niets mis mee, ligt aan hoe je de schakeling hebt opgebouwd. Ik gok dat je van een + lijn via een weerstand naar de led en dan vervolgens door naar (pin 3 van de) Arduino gaat? Dan zul je idd LOW moeten gebruiken aangezien je dan een "aarde" of min pool moet maken. Uiteindelijk is dat de betere keus imho, het zogenaamde sinken vraagt veel minder van de poorten van je arduino dan het sourcen.

Maar wacht even tot iemand m'n commentaar bevestigd voor je aanpassingen gaat maken, 't is 0109h en ik heb een caffeine tekort :+

Toyota Supra 3.0i Turbo Targa in Panther Black Mica - 300D || 30D || 10-20 || 50mm 1.8 mk1 || 18-55 || 17-85 || 75-300 || Giottos || Manfrotto || Cullmann || Kenko || Hoya


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Verhaal klopt. Heb ik ook. Wellicht kan je een schema posten of een link?

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

Verwijderd


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
Zie ik iets gigantisch over het hoofd, of is er geen standaard timerfunctie zonder library voor de Arduino's?

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Wat voor timer zoek je?

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online
Pizza_Boom schreef op zaterdag 08 augustus 2015 @ 18:42:
Zie ik iets gigantisch over het hoofd, of is er geen standaard timerfunctie zonder library voor de Arduino's?
https://www.arduino.cc/en/reference/millis ?

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 20-09 23:24

BoAC

Memento mori

Pizza_Boom schreef op zaterdag 08 augustus 2015 @ 18:42:
Zie ik iets gigantisch over het hoofd, of is er geen standaard timerfunctie zonder library voor de Arduino's?
Jazeker wel, gewoon zelf een timer instellen en de timer vector koppelen :) Werkt prima.

http://www.instructables....imer-Interrupts/?ALLSTEPS :)

* BoAC heeft een klein POV display gemaakt met 5 ledjes en een attiny85 met behulp van de 2 timers van die attiny. Daarbij geen library gebruikt :)

[ Voor 27% gewijzigd door BoAC op 08-08-2015 20:54 ]


Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Timers?

http://www.gammon.com.au/timers

Die gammon pagina’s zijn wat mij betreft onmisbaar.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
Gewoon een timer interrupt. Ik heb al bedacht dat ik de digitalWrite functie eruit ga werken en gewoon de poorten apart ga aanroepen, dat is sneller (kost maar een kwart van de tijd), daarvoor zit ik al in de datasheets van de Micro te kijken. Maar nu de timer nog. Ben er tot nu toe alleen een duo 7 segmenter mee aan het multiplexen, maar uiteindelijk wil ik informatie weergeven die ik ook ergens vandaan ga halen (in het begin uit knopjes, later uit andere apparatuur).

Ik blijf Arduino ontzettend lastig vinden. Niet eens zo zeer het programmeren, het is niet moeilijk, maar het omslachtige werk dat erin zit, daar blijf ik tegenaan hikken. Ik ben met programmeren over Assembly heen gevlogen en praktisch direct met C begonnen (en dat inmiddels 4 jaar geleden). Ik zoek informatie in een bepaalde vorm en die kan ik vaak lastig vinden. Wellicht nog steeds doordat ik pas bezig ben met Arduino en lang niet zo intensief als in het begin met C, maar toch.

Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 23:57
Pizza_Boom schreef op zondag 09 augustus 2015 @ 00:11:
[...]
Gewoon een timer interrupt. Ik heb al bedacht dat ik de digitalWrite functie eruit ga werken en gewoon de poorten apart ga aanroepen, dat is sneller (kost maar een kwart van de tijd), daarvoor zit ik al in de datasheets van de Micro te kijken. Maar nu de timer nog. Ben er tot nu toe alleen een duo 7 segmenter mee aan het multiplexen, maar uiteindelijk wil ik informatie weergeven die ik ook ergens vandaan ga halen (in het begin uit knopjes, later uit andere apparatuur).

Ik blijf Arduino ontzettend lastig vinden. Niet eens zo zeer het programmeren, het is niet moeilijk, maar het omslachtige werk dat erin zit, daar blijf ik tegenaan hikken. Ik ben met programmeren over Assembly heen gevlogen en praktisch direct met C begonnen (en dat inmiddels 4 jaar geleden). Ik zoek informatie in een bepaalde vorm en die kan ik vaak lastig vinden. Wellicht nog steeds doordat ik pas bezig ben met Arduino en lang niet zo intensief als in het begin met C, maar toch.
Als je al zoveel ervaring hebt... Pak dan een datasheet van een AVR en AVRStudio. De datasheets van atmel zitten echt ontzettend goed in elkaar en de registers zijn eenvoudig te begrijpen.

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
Hmm, ja, misschien is dat wel de beste optie. Had stiekem gehoopt op een eenvoudige Arduino oplossing zonder libs, maarja. Gewone code en functies van Amtel voor de timers e.d. kan je gewoon in de Arduino omgeving gebruiken zonder problemen?

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Pizza_Boom schreef op zondag 09 augustus 2015 @ 00:11:
[...]
Gewoon een timer interrupt. Ik heb al bedacht dat ik de digitalWrite functie eruit ga werken en gewoon de poorten apart ga aanroepen, dat is sneller (kost maar een kwart van de tijd), daarvoor zit ik al in de datasheets van de Micro te kijken. Maar nu de timer nog. Ben er tot nu toe alleen een duo 7 segmenter mee aan het multiplexen, maar uiteindelijk wil ik informatie weergeven die ik ook ergens vandaan ga halen (in het begin uit knopjes, later uit andere apparatuur).
Had je mijn link naar de gammon pagina over interrupts gezien
Ik blijf Arduino ontzettend lastig vinden. Niet eens zo zeer het programmeren, het is niet moeilijk, maar het omslachtige werk dat erin zit, daar blijf ik tegenaan hikken. Ik ben met programmeren over Assembly heen gevlogen en praktisch direct met C begonnen (en dat inmiddels 4 jaar geleden). Ik zoek informatie in een bepaalde vorm en die kan ik vaak lastig vinden. Wellicht nog steeds doordat ik pas bezig ben met Arduino en lang niet zo intensief als in het begin met C, maar toch.
Arduino is breed. Hardware, drivers of libraries, standaard pinouts, etc. Het primaire doel is prototyping. En dus snel iets in elkaar frutsen zonder alles uit een IC. Displaytje, CPU-tje, klaar. Wil je meer? Dat kan. Dan ga je hard low level op de AVR. En dan moet je dus gaan graven in datasheets en zelf je libraries schrijven.

Ik ben al bijna 3 jaar bezig met Arduino-achtige projectjes (zeg maar AVR-based) en dat bevalt mij prima. Maar ik vergeet soms wel eens dat ik al meer dan 20 jaar in C-achtige talen werk. O-)

Back on topic: mijn dashboard-klok projecten was een merge tussen een Sparkfun 7-segment i2c breakout board (op basis van een Atmega328) en een losse Atmega. Ik heb de sketch van het sparkfun component bekeken en die nagebouwd zodat ik op mijn eigen boardje alles op een enkele CPU draaien kon. De interrupt stond netjes het display te multiplexen terwijl ondertussen een leuke UI-interface code aan het werk was. Klinkt dat bekend?

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 23:57
Pizza_Boom schreef op zondag 09 augustus 2015 @ 02:43:
Hmm, ja, misschien is dat wel de beste optie. Had stiekem gehoopt op een eenvoudige Arduino oplossing zonder libs, maarja. Gewone code en functies van Amtel voor de timers e.d. kan je gewoon in de Arduino omgeving gebruiken zonder problemen?
Yep. Het zijn maar 3 registers of zo, echt heel spannend is het niet.
Veel voorbeeldcode staat op het net of in de datasheets.

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
RobV schreef op zondag 09 augustus 2015 @ 07:49:
[...]

Had je mijn link naar de gammon pagina over interrupts gezien
Wel gezien, nog geen tijd gehad om aandacht aan te besteden.
Back on topic: mijn dashboard-klok projecten was een merge tussen een Sparkfun 7-segment i2c breakout board (op basis van een Atmega328) en een losse Atmega. Ik heb de sketch van het sparkfun component bekeken en die nagebouwd zodat ik op mijn eigen boardje alles op een enkele CPU draaien kon. De interrupt stond netjes het display te multiplexen terwijl ondertussen een leuke UI-interface code aan het werk was. Klinkt dat bekend?
Klinkt wel aardig als waar ik naartoe wil.
LED-Maniak schreef op zondag 09 augustus 2015 @ 11:12:
Yep. Het zijn maar 3 registers of zo, echt heel spannend is het niet.
Veel voorbeeldcode staat op het net of in de datasheets.
Nee, dat zal ook wel. Het is ook echt niet zo dat ik een volleerd programmeur ben, maar ik heb wel ervaring met bepaalde MicroChip producten en zoek dus informatie ook op een bepaalde manier. En dan voelt Arduino inderdaad heel omslachtig. Terwijl het toch een prachtig product is, aansluiten en klaar. Je hoeft geen chipinstellingen mee te pakken (PLL, LVP, etc), het is gewoon aansluiten en draaien maar. Geen pinnen aansluiten op een programmer, niks. Je hebt een hoogwaardig ICtje in je handen waar je veel mee kan. De basisseries waarmee ik heb leren programmeren van Microchip, de een had geen eens een MSSP, de ander moest je met kristallen en dergelijke aan de gang.

[ Voor 7% gewijzigd door Pizza_Boom op 09-08-2015 18:03 ]


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
LED-Maniak schreef op zondag 09 augustus 2015 @ 00:59:
[...]


Als je al zoveel ervaring hebt... Pak dan een datasheet van een AVR en AVRStudio. De datasheets van atmel zitten echt ontzettend goed in elkaar en de registers zijn eenvoudig te begrijpen.
Dat goed in elkaar zitten ben ik niet met je eens. Ik heb de datasheet van de ATmega 32U4 voor mij staan, maar er zit geen inhoudsopgave bij. Ja, ze zijn goed leesbaar en de voorbeelden zijn duidelijk, maar 438 pagina's moeten doorscrollen in de hoop bij het hoofdstuk over timers te eindigen vind ik niet echt geslaagd.

Maar begrijp ik nou goed dat als ik gebruik maak van de interne timers, dit niet met de Arduino omgeving kan?

Acties:
  • 0 Henk 'm!

Verwijderd

duidelijk .. jij klikt nooit op linkjes ;)

Acties:
  • 0 Henk 'm!

  • lordprimoz
  • Registratie: November 2013
  • Laatst online: 17-09 12:10
Pizza_Boom schreef op maandag 10 augustus 2015 @ 17:52:
[...]
Dat goed in elkaar zitten ben ik niet met je eens. Ik heb de datasheet van de ATmega 32U4 voor mij staan, maar er zit geen inhoudsopgave bij. Ja, ze zijn goed leesbaar en de voorbeelden zijn duidelijk, maar 438 pagina's moeten doorscrollen in de hoop bij het hoofdstuk over timers te eindigen vind ik niet echt geslaagd.

Maar begrijp ik nou goed dat als ik gebruik maak van de interne timers, dit niet met de Arduino omgeving kan?
kijk eens op de laatste 7 paginas van de datasheet... Er staat echt wel een inhoudsopgave bij, enkel aan het einde van het document en niet vooraan.

Je kan prima de Arduino omgeving blijven gebruiken met de interne timers. Je kan gewoon data naar registers schrijven enzo. Je moet alleen rekening houden met bepaalde arduino libraries die afhankelijk zijn van de timers van de atmega chip. De methode delay(x) maakt bijv gebruik van een timer.

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Verwijderd schreef op maandag 10 augustus 2015 @ 18:59:
duidelijk .. jij klikt nooit op linkjes ;)
Ik durfde het niet te zeggen

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
Verwijderd schreef op maandag 10 augustus 2015 @ 18:59:
duidelijk .. jij klikt nooit op linkjes ;)
Nee, oogkleppen op en gewoon jouw linkjes compleet over het hoofd zien. :+

Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
Zo, de timer zelf draait en kan op diverse instellingen. Morgen/straks maar eens doorpielen met een andere prescaler e.d. om eens te kijken welke interrupt wel mooi draait zonder zichtbaar flikkeren, maar geen zware belasting op de beperkte mogelijkheden tot het verwerken van zooi legt binnen de Arduino.

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Om zichtbare flikkering te voorkomen draai je de interupt handler op 100hz * aantal brightness stappen. Bij bijvoor 16 dim standjes kom je dan op 1600hz. Zelfs al heb je je dimming op 1/16e staan zie je het nog niet. En 1.6khz is te doen met een ISR op ern 16mhz chip.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • rense
  • Registratie: Mei 2003
  • Laatst online: 17-09 14:53
Ben benieuwd wat dit allemaal gaat opleveren: Windows Remote Arduino (voorbeeld van Windows Internet-of-Things)

Acties:
  • 0 Henk 'm!

Verwijderd

het is/wordt gewoon 1 grote (closed) platformen strijd.. hopenlijk met de consument als winnaar, nu nog wat meer gaan letten op de privacy

WIN 10 computerstick
- https://www.indiegogo.com...v-money-can-buy--2#/story
- https://github.com/ms-iot

overigens is dit wel erg cool en bied allerlei nieuwe mogelijkheden
- https://github.com/ms-iot/virtual-shields-arduino

[ Voor 17% gewijzigd door Verwijderd op 11-08-2015 13:49 ]


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
RobV schreef op dinsdag 11 augustus 2015 @ 06:56:
Om zichtbare flikkering te voorkomen draai je de interupt handler op 100hz * aantal brightness stappen. Bij bijvoor 16 dim standjes kom je dan op 1600hz. Zelfs al heb je je dimming op 1/16e staan zie je het nog niet. En 1.6khz is te doen met een ISR op ern 16mhz chip.
Hoe bedoel je die brightness stappen?

Even uitvogelen hoe ik de tijd kan aanpassen die hij over 1 routine doet. Daarvoor zou ik, als ik het goed heb, de TOP waarde moeten veranderen om die dan uit te lezen. Maar... moet ik dat dan met of zonder CTC doen?

Acties:
  • 0 Henk 'm!

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
In je timer interrupt update je het display. Stel je kiest een brightness van 2/16, dan moet hij in slechts 2 van de 16 loops aan staan, de andere 14 uit. De routine moet retesnel zijn anders haal de ene interrupt de andere in.

Top en CtC geen idee wat je daarmee bedoelt

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
Dat zijn termen die ze in de datasheet gebruiken. CTC zou staan of Clear Timer on Compare match en top is de waarde waarop hij ook een overflow kan genereren. Zou mij dus logisch lijken dat ik de top en de CTC bij elkaar heb liggen, zodat ik een interrupt veroorzaak en daarna de klok weer naar 0 gooi.

En inhalen, daarom wil ik dus ook van die digitalWrite functie af. Kwam met zoeken in dit topic al een mooie optie tegen, die eens even opnieuw opzoeken. Die zou 1/4e of 1/8e van de tijd/berekeningen zijn die ik nu gebruik in de digitalWrite. Natuurlijk kan ik ook port manipulation toepassen, dat is feitelijk wat ik bij het initialiseren van een picje altijd doe, maar dan alles op 0 zetten, maar daaraan hangen weer risico's (je communicatiekanalen eruit werken door die te schrijven bijvoorbeeld) en daar heb ik geen trek in. Zó ervaren met Arduino ben ik nou ook weer niet.

[ Voor 8% gewijzigd door Pizza_Boom op 11-08-2015 22:27 ]


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 23:57
Pizza_Boom schreef op dinsdag 11 augustus 2015 @ 21:49:
[...]
Hoe bedoel je die brightness stappen?

Even uitvogelen hoe ik de tijd kan aanpassen die hij over 1 routine doet. Daarvoor zou ik, als ik het goed heb, de TOP waarde moeten veranderen om die dan uit te lezen. Maar... moet ik dat dan met of zonder CTC doen?
Ben je met software PWM aan de slag of Hardware PWM? Wat wil je nu eigenlijk precies doen?

Bij hardware PWM stel je de top in en is de ON tijd ingesteld met OCRnA/B register. Bij software PWM stel je de CTC in(die bepaalt dus de TOP van je timer en bij elke overflow genereert dat een interrupt als je dat aanzet).

Op avrfreaks staat overigens een prima tutorial over timers en hoe je de waardes berekent.
http://www.avrfreaks.net/...guide-avr-timers?page=all
lordprimoz schreef op maandag 10 augustus 2015 @ 19:17:
Je kan prima de Arduino omgeving blijven gebruiken met de interne timers. Je kan gewoon data naar registers schrijven enzo. Je moet alleen rekening houden met bepaalde arduino libraries die afhankelijk zijn van de timers van de atmega chip. De methode delay(x) maakt bijv gebruik van een timer.
Mooie van AVRStudio is echter wel dat hij tegenwoordig autoaanvulling heeft en je uitleg over de registers geeft.

[ Voor 25% gewijzigd door LED-Maniak op 11-08-2015 22:39 ]

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
LED-Maniak schreef op dinsdag 11 augustus 2015 @ 22:36:
[...]

Ben je met software PWM aan de slag of Hardware PWM?
Eigenlijk geen van beide. Ik heb hem nu zonder CTC draaien op een overflowfrequentie van rond de 1 seconde, maar als ik de berekening van Rob volg, dan wil ik naar 400 hz, nu draai ik nog op 2 7segment displays, maar ik wil naar 4 (tijd en temperatuur kunnen weergeven). Waarschijnlijk moet ik er daarvoor 1 onderste boven inzetten, maar dat mag geen probleem zijn, behalve aansturing even goed aansluiten.

Ik zal eens op het linkje kijken.

[ Voor 58% gewijzigd door Pizza_Boom op 11-08-2015 22:42 . Reden: tap en enter nagenoeg na elkaar indrukken levert halve berichten. ]


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 23:57
Maar wat is het exact wat je wilt doen? Misschien kan ik je een paar kleine hints geven :)

Na je edit:
Dus je wilt 4x 7-segment displays PWM dimmen? Hoe weergeef je de cijfers? Direct door een pin aangestuurd?

[ Voor 40% gewijzigd door LED-Maniak op 11-08-2015 22:44 ]

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
LED-Maniak schreef op dinsdag 11 augustus 2015 @ 22:41:
Maar wat is het exact wat je wilt doen? Misschien kan ik je een paar kleine hints geven :)
Zie mijn edit. Uiteindelijk wil ik naar een klein buiten weerstationnetje toe en deze data doorsturen naar binnen (bijvoorbeeld met een nRFje) en die afgewisseld met de tijd (DS1202 heb ik ook al ergens liggen) kunnen weergeven op een displaytje. De wens is aanwezig om dit in een later stadium ook nog te koppelen aan een RPi en eventueel van buitenaf opvraagbaar te maken, maar eerst maar eens zorgen dat die displays op een knappe manier aangestuurd worden.
Het risico is aanwezig dat ik hiervoor naar een grotere Arduino moet of zelf een bordje moet gaan ontwerpen, want het aantal pinnen van de Micro is al vrij snel beperkt, maar vooralsnog lukt het hiermee, mede doordat ik de analoge inputs als digitale outputs gebruik.

En waarom? Omdat ik dat leuk vind. :)

EDIT:
LED-Maniak schreef op dinsdag 11 augustus 2015 @ 22:41:
Na je edit:
Dus je wilt 4x 7-segment displays PWM dimmen? Hoe weergeef je de cijfers? Direct door een pin aangestuurd?
Nee, niet dimmen. Het multiplexen gebeurt nu middels delays en daar wil ik vanaf. Delays zijn erg makkelijk, maar vreten je recources, terwijl ik met het stukje hardware nog meer wil doen dan alleen een displaytje aansturen. Het werkt nu, maar feitelijk is daarmee ook alles gezegd. En natuurlijk kan ik ook een interrupt genereren op een inkomende pin, maar waarom zou ik die delays behouden? Stel nou dat ik zo'n ultrasoonsensor als afstandsensor ga gebruiken en de afstand permanent wil uitlezen, dan is dat weer niet handig. En het leek mij een mooi moment om gewoon eens met de timer interrupt in de Arduino omgeving aan de gang te gaan.

[ Voor 31% gewijzigd door Pizza_Boom op 11-08-2015 22:50 ]


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 23:57
Hoe stuur je die 4x 7-segmenten aan?
Multiplex je ze?
Of alle LED's een eigen pin(en dus 7*4=28 pinnen)?

[ Voor 4% gewijzigd door LED-Maniak op 11-08-2015 22:49 ]

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
Ik multiplex. Heb daarvoor een stukje eigen routine geschreven, maar nu nog met delays. Multiplexen was iets dat ik wel gezien had en mee gespeeld had, maar nog nooit zelf had gemaakt.

Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 23:57
Pizza_Boom schreef op dinsdag 11 augustus 2015 @ 22:46:
[...]
EDIT:

[...]
Nee, niet dimmen. Het multiplexen gebeurt nu middels delays en daar wil ik vanaf. Delays zijn erg makkelijk, maar vreten je recources, terwijl ik met het stukje hardware nog meer wil doen dan alleen een displaytje aansturen. Het werkt nu, maar feitelijk is daarmee ook alles gezegd. En natuurlijk kan ik ook een interrupt genereren op een inkomende pin, maar waarom zou ik die delays behouden? Stel nou dat ik zo'n ultrasoonsensor als afstandsensor ga gebruiken en de afstand permanent wil uitlezen, dan is dat weer niet handig. En het leek mij een mooi moment om gewoon eens met de timer interrupt in de Arduino omgeving aan de gang te gaan.
Ahhhh, je wilt dus puur de displays multiplexen.

Dat is super simpel :)

100Hz is dan waarschijnlijk genoeg om het niet te zien knipperen.
Gezien je 4 displays gaat aansturen moet je timer 4x zo snel lopen en dus 400Hz.


Timer zet je in CTC mode(zie tabel welke bits je dan aan moet zetten in het register)

Dan stel je OCR1A in op 155 want:
Target Timer Count = (Input Frequency / Prescale) / Target Frequency - 1
(16000000/256)/400-1 = ~155

- Dan zet je interrupts aan
- Maak een interrupt vector routine(geen idee of arduino dat anders wil)
- In de routine hou je bij en stel je het huidige segment in.


Bijvoorbeeld zoiets:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void DisplaySetup(void){
//Ports instellen

//Timer registers instellen
OCR1A = ......
}

ISR(TIMER1_COMPA_vect){
static unsigned char HuidigSegment=0;

switch(HuidigSegment++){
  case 0:
     //display1
     PORTB = (1<<PB0 | 1<<PB1);
     break;
  case 1:
    //display2
    break;
}

//Naar volgende display!
if(HuidigSegment >=4)
HuidigSegment = 0;
}

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • Pizza_Boom
  • Registratie: Juli 2012
  • Laatst online: 23:54
LED-Maniak schreef op dinsdag 11 augustus 2015 @ 23:26:
Timer zet je in CTC mode(zie tabel welke bits je dan aan moet zetten in het register)
Ik heb er 2. Ik neem aan dat ik de CTC mode moet pakken waarbij de TOP van OCR1a wordt afgeleid? Dat zou WGM12 zijn bij de 32U4.
Dan stel je OCR1A in op 155 want:

[...]

(16000000/256)/400-1 = ~155
Is er nog een reden dat je voor een prescaler voor 256 kiest? Waarschijnlijk wel en zie ik iets heel basaal over het hoofd, maar bij een prescaler van 64 kom ik exact op 624 uit als waarde voor de OCR1a.

Thnx voor de feedback iig.

[ Voor 6% gewijzigd door Pizza_Boom op 11-08-2015 23:46 ]

Pagina: 1 ... 75 ... 96 Laatste