en wat ik wilde tonen, wat ik er van heb gemaakt meeste mensen zullen wel zeggen hoe noobie is dat maar ik ben nieuw en moet eerlijk zeggendat ik al verkocht ben aan dit arduino'tje.
was voornamelijk knippen en plakken met mijn code, maar ik heb nog maar de eerste 3 projectjes voltooid, en probeer achter ieder project, mijn eigen draai aan te geven met de dingen die ik al heb geleerd.
liefde is veel gezegd. maar wel veel intresse wou dat ik dit vroeger had ondekt/gekocht. gisteren nog wat zitten rond surfen over welke codeer taal je best aanleert. lees vooral veel C# maar klopt dit ik ben echt een leek en zou graag wel zeker zijn voor ik eventueel wat boeken aankoop. of als er mss iemand in de zelfste schoenen heeft gestaan. waar ik me best verder op focus?
normaal begin ik vanavond met Arduino Projects Book | Project 04: Color Mixing Lamp. en dan kijk ik hoe alles werkt en hoe ik er weer een eigen draai aan kan geven.
Het ligt er een beetje aan wat je wilt en waarvor. C# en JAVA zijn zogenaamde managed codes. Samenvattend komt her erop neer dat de programmeertaal wordt omgezet in een soort tussencode die vervolgens weer op uitvoeringstijd wordt omgezet in feitelijke machine opdrachten. Voordeel is dat jouw programma op verschillende platformen kan draaien. Denk aan Windows, OSx, Linux als meest bekende varianten.
Met beide talen is niets mis mee. Mocht je de bedoeling hebben om in de administrieve wereld er een baan mee te vinden, dan zijn JAVA en C# vrij populair in het bedrijfsleven.
Voor de microprocessors heb je ook C# die dan de code omzet naar een STM32F407 (32 bits processor) op de
NEtduino. Mooi bordje, maar wel kostbaar bordje (rond de 60 euri).
Wil je gewoon op een eenvoudige Arduino kun je volstaan met C/C++. Er schijnen ook Basic varianten te zijn. Het komt er tenslotte op neer dat je een hogere programmeertaal omzet in specifieke machine instructire.
Wil je meer met embedded, dan zou ik eerder mijn heil zoeken in JAVA (voor linux toepassingen) en C/C++ (voor kleinschalig embedded).
Eigenlijk maakt het niet zoveel uit welke programmeertaal je kiest. De kunst zit er in het structureel kunnen definieren van problemen en hier oplossingen voor te verzinnen op een zodanige manier dat zowel jouw klanten (in meest ruime zin van het woord) als diegene die in de toekomst het moeten gaan beheren tevreden zijn. De programmeer taal is eigenlijk een invulling van het net genoemde. Dus eerst nadenken en dan doen.
goed gisteren met onverwacht bezoek gezeten dus vandaag dan maar begonnen. die project 04 color mixing lamp was een eitje. nu wou ik er weer mijn eigen draai aangeven maar zit ik ik de puree.
ik wou namelijk wat ik in project 03 gezien had combineren met project 04. "dus de warmte sensor koppelen aan RBG led. en in bijzondere bvb aan aantal temperaturen bepaald soort kleurlicht afgeven.
heb er toch een uur of 2 over gedaan om tot hier te geraken. nog een uur gezocht naar oplossingen maar tevergeefs. Gelijk welke basisTemperatuur ik ook opgeef de laaste "if else" gaat altijd branden.
iemand die ziet waar ik heb gemist. of kan dit gewoon niet wat ik probeer. ik dacht dat de code die ik schreef toch juist was.
const int temperatuurPin = A0;
const int groenLEDPin = 9;
const int roodLEDPin = 10;
const int blauwLEDPin = 11;
const float basisTemperatuur = 23.0;
void setup(){
Serial.begin(9600);
pinMode(groenLEDPin, OUTPUT);
pinMode(roodLEDPin, OUTPUT);
pinMode(blauwLEDPin, OUTPUT);
}
void loop() {
int sensorValue = analogRead(temperatuurPin);
Serial.print("SensorValue: ");
Serial.print(sensorValue);
float voltage = (sensorValue / 1024.0) * 5.0;
/converteer adc naar voltage/
Serial.print(", het Voltage is: ");
Serial.print (voltage);
Serial.print (" , en de Temperatuur buiten is: ");
float temperatuur = (voltage - .5) * 100;
/converteer voltage naar graden celcius/
Serial.print (temperatuur);
Serial.println();
delay(1000);
if (temperatuur < basisTemperatuur){
/als we onder basistemperatuur gaan gaat het blauw licht/
digitalWrite(blauwLEDPin, HIGH);
digitalWrite(roodLEDPin, LOW);
digitalWrite(groenLEDPin, LOW);
}else if (temperatuur >= basisTemperatuur+0 &&
temperatuur < basisTemperatuur+5){
/als we 5 grade boven basistemperatuur gaan gaat het groen licht/
digitalWrite(blauwLEDPin, LOW);
digitalWrite(roodLEDPin, LOW);
digitalWrite(groenLEDPin, HIGH);
}else if(temperatuur > basisTemperatuur+5);{
/als we plus 5 grade boven basistemperatuur gaan gaat het rood licht/
digitalWrite(blauwLEDPin, LOW);
digitalWrite(roodLEDPin, HIGH);
digitalWrite(groenLEDPin, LOW);
}
delay(250);
}
jantje / naamgenoot dank je! ik had het over het hoofd gezien en kreeg er geen foutmelding van. werkt goed nu. volgende keer beter in de gaten houden
shooter de rbg zit op PWM uitgangen maar heb de functie / commando MAP nog niet gezien in mijn boekje als ik straks wat tijd heb zoek ik het eens op, en bekijk ik hoe ik het kan integreren.
Map (klik !) word in deze link beschreven (in het Engels).
Als je er heel benieuwd naar bent geworden kun je daar eens kijken.
Maar je moet niet meteen al teveel hooi op je vork nemen en van alles gaan proberen om het boekje en / of andere methoden heen te gaan werken.
Het kan natuurlijk geen kwaad om dat eens te gaan lezen en te zien of je er wat mee kunt, maar er zijn nog veel andere beginselen op te pikken uit de andere voorbeelden.