Hoi Allemaal.
Ik ben Rolf uit Gelderland.
Ik ben bezig om een polijsttrommel te maken,
De hardware heb ik voor 95% klaar.
De trommel is 160mm in diameter en 400mm lang.
Deze ligt op 4 looprollen 2 ervan worden aangedreven door een riem overbrenging.
als aandrijfmotor gebruik ik een Nema 17 stappenmotor.
Ik heb een 20x4 lcd scherm ingebouwd om het een en ander weer te geven.
een arduino uno als besturing en twee potmeters om het een en ander in te stellen.
Ik heb wat basis kennis van arduino en heb al wat meerdere projecten gebouwd met hulp hier op het forum.
al is dit weer een paar jaar geleden.
ik heb al een basis programma geschreven zodat het lcd scherm werkt.
met een welkoms tekst.
Nu wil ik beginnen met de weergave van het lcd scherm.
Ik wil met 1 potmeter de snelheid kunnen regelen van de stappenmotor.
Van stilstand tot max toerental wat de nema nog prettig vindt.
De trommel hoeft namelijk niet heel hard rond te draaien.
De aansturing van de stappenmotor krijg ik wel voor elkaar.
ben nog wel opzoek naar een kleine driver die geschikt is voor de nema17 dus als hier iemand een tip voor heeft welke ik het best kan nemen hoor ik dat graag.
Ik lees de potmeter uit op A0 en de waarde zet ik in de serial monitor.
de waarde is min 0 en max 1023.
Ik weet met mijn basis kennis wel om deze waarde op het lcd scherm neer te zetten.
Maar wat ik eindelijk graag zou willen zien is om een lijn van het lcd doormidel van een balkje de snelheid te tonen.
dus 0 procent geen balkje en 100 procent een voledig balkje van zeg maar 10 karakters.
zou iemand mij hier mee op weg willen helpen.
ik hoef geen kant en klare oplosing.
Maar ik zoek eindelijk iemand die me wegwijs kan maken en me in de goede richting kan sturen zodat ik er ook van kan leren.
Dit is namelijk voor mij al 90 procent van deze mooie hobby.
Ik voeg even de code toe hoe ver ik nu ben.
// Dit gedeelte is voor het lcd gedeelte
#include <Wire.h> // Library voor I2C communicatie
#include <hd44780.h>
#include <hd44780ioClass/hd44780_I2Cexp.h> // include i/o class header
hd44780_I2Cexp lcd; // declare lcd object: auto locate & config display for hd44780 chip
int read_potentiometer = A0; // input pin voor de potmeter op Analoog pen 0,
float delay_time;
int value_potentiometer = 0;
void setup() {
// Hier komt de setup code deze word maar 1 keer gebruikt.
Serial.begin(9600); // opent de seriele poort en zet data verkeer op 9600 bps.
lcd.begin(20, 4); // geeft aan dat het om een 20x4 lcd gaat.
lcd.init(); // start het lcd op
lcd.backlight(); // zet de achtergrond verlichting aan.
lcd.clear(); // maakt het lcd scherm leeg.
lcd.setCursor(0,0); // zet de cursor neer op rij 1 op positie 1.
lcd.print(" WELKOM"); // zet tekst neer "WELKOM"
delay (1000); // wacht 1 sec. Ik weet dat we hier een hekel aan hebben vandaar
// Dat ik dit alleen gebruik in de setup
lcd.setCursor(0,1); // Zet de cursor neer op rij 2 op positie 1.
lcd.print(" VEEL PLEZIER MET"); // Zet tekst neer "VEEL PLEZIER MET".
delay (1000); // wacht 1 sec.
lcd.setCursor(0,2); // Zet de cursor neer op rij 3 op positie 1.
lcd.print(" POLIJSTEN !"); // Zet tekst neer "POLIJSTEN !".
delay (1000); // Wacht 1 sec.
lcd.clear(); // Maakt het lcd leeg.
lcd.setCursor(0,0); // Zet de cursor op rij 2 positie 1.
lcd.print(" RK Disign"); // Zet tekst neer "RK Disign".
delay (2000); // Wacht 2 sec.
lcd.clear(); // Maakt het lcd leeg.
lcd.clear(); // Maakt het lcd scherm weer leeg.
lcd.setCursor(0,1); // Zet de cursor neer op rij 2 op positie 1.
}
void loop() {
// put your main code here, to run repeatedly:
value_potentiometer = analogRead(read_potentiometer);
if (value_potentiometer > 0 ){
delay_time=210-((value_potentiometer/5));
}
else
{
delay_time=0; // Minumum speed when it is 0
}
Serial.println(value_potentiometer);
Ik begrijp dus dat ik de waarde van analoog A0 die ligt tussen 0 en 1023 om moet gaan zetten naar een waarde van 0 naar 100% ik wil hiervoor 10 karakters voor gaan gebruiken.
dus dat worden stappen van 10 procent per karakter.
wie kan me hiermee de goede kant ophelpen of aangeven naar wat voor sketch te kijken.
mvg Rolf