Try https://github.com/sainoky/serial_port_monitor for a decent serial monitor
- avvita tutti i sensori al legno (7 viti su ognuno)
- trova i centri dei sensori
- guardando la console trova il centro scorrendo la mano prima orizzontalmente, poi verticalmente(e segnali con del nastro)
- per mettere in debug un canale il comando è d[nomecanale], esempio:
da
per debuggare A - fai un riavvio(reupload sketch) pulito (senza robe strane che succedono) e lascia che faccia la sua calibrazione delle baselines all'avvio
- di base ora puoi salvare i dati di calibrazione con
ssb
(save baselines), cosi al successivo avvio non si ricalibra, ma usa i dati di questa calibrazione- se vuoi de-salvare la calibrazione usa
usb
(unsave baselines)
- se vuoi de-salvare la calibrazione usa
- qua ora fai i settaggi di sensibilità per i canali singoli:
- metti tutto al minimo di sensibilità
- metti in debug
- metti qualcuno che tocca la parete
- alza la sensibilità giusto appena perchè triggeri, non di più
- ripeti per gli altri
- se vuoi cambiare il range di valori dei potenziometri(ad es., diminuendo il range per avere più precisione) usa
max-[nomesensore] [valore]
ad esempiomax-a 1000
- poi per salvare questi range usa
ss
- poi per salvare questi range usa
- tutti i settaggi extra li trovi in
setup_moscow.h
- di base l'unico di cui potresti aver bisogno è
smoothFactor_[nomesensore]
, che è la lentezza del filtro(piu il valore è alto (valore tra 0 e 1), piu aumenta il ritardo perchè fa la media tra più valori) - con
#define NEGATIVE_NUMBERS
puoi decidere se i valori del sensore possono andare o meno sottozero. Abilitando il sottozero potrebbero avere piu estensione, quindi piu "contrasto"- es:
#define NEGATIVE_NUMBERS 1
abilita i valori ad andare sottozero.
- es:
- con
debounceMore
edebounceMore_pre
setti il valore globale di debounce in attacco e in rilascio
- di base l'unico di cui potresti aver bisogno è
- бог свиней
start
quando il seriale è onlineREADY
quando ha finito la calibrazione. INIZIA A LEGGERE DOPO IL READY- vengono trasmessi solo i cambi di stato, con stringhe in formato
nomepin-stato
- nomepin è il nome di uno dei 5 pin, chiamati (a, b, c, d, e)
- stato è un BOOL, è
1
quando il sensore viene toccato, e0
quando viene rilasciato
- OLD se invii "brk"(newline) al serial, ti stampa una linea "-------" tipo segnalibro. non ha alcun altro effetto
- se invii "debug-nomesensore" in serial, accende/spegne il debug per quel sensore.
- es: debug-b
debug-nomesensore
attiva/disattiva il debug per quel sensore.- es:
debug-b
- shorthanddb
- es:
reboot
orrr
reboots the arduino, same as pushing the reset button or power-cyclingbreak
orbrk
orbr
writes a break to console "---------------------"wipe
- wipes EEPROM, initializing all to 0. USE WITH CAUTIONsave
orss
saves all calibration data to EEPROM, will be loaded as/is on next rebootunsave
oruu
sets the saveflag to 0, so on the next reboot saved data will be ignoredgimme
orgc
shows current calibration datagimmesaved
orgs
shows saved calibration dataautocal
orac
noautocal
ornac
max-sensorname customvalue
- example:
max-b 10000
- example:
pot-sensorname customvalue
- example:
pot-c 5438
- example:
E' il file di settaggio per il progetto:
#define DEBUG_MODE_nomepin 1
per stampare su serial i valori grezzi dei sensori e altre info. per spegnere settarlo a 0
- esempio:
DEBUG_MODE_a 1
abilita il debug per il pina
#define POTENTIOMETER_MAX_SENSE_MULT 10
questo è il moltiplicatore che genera il valore massimo del potenziometro. 10x mi sembra un buon numero per ora.#define debounceMore_pre 0
qui puoi aggiungere o togliere debounce di attack, in millisecondi- è il tempo che ci mette a triggerare una volta che il sensore viene toccato e resta toccato; causa un delay in attacco
#define debounceMore 300
qui puoi aggiungere o togliere debounce di release, in millisecondi - è il tempo che ci mette a de-triggerare una volta che il sensore viene rilasciato e non viene ritoccato; causa un delay in rilascio
- è il tempo che ci mette a triggerare una volta che il sensore viene toccato e resta toccato; causa un delay in attacco
E' il file di configurazione per l'hardware
#define CAP_SAMPLES 30
la precisione del sensore capacitivo. per ora lasciamo a 30
#define DEBOUNCE_BASE 200
questo è il debounce base, in millisecondi, è il debounce di release
Qui vengono inizializzati i 5 sensori:
status_t sense_a;
status_t sense_b;
status_t sense_c;
status_t sense_d;
status_t sense_e;
#define PIN_COMMON A4
questo è il pin comune del sensore capacitivo
Qua definiamo i pin di ogni sensore, col rispettivo led indicatore e potenziometro di regolazione:
#define PIN_SENSE_a A5
#define LED_a A0
#define POT_a A1