BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   Qualcuno sperimenta con Arduino? (https://www.baronerosso.it/forum/circuiti-elettronici/241145-qualcuno-sperimenta-con-arduino.html)

faustog_2 03 aprile 12 20:04

Ottimo!
 
premessa, ho in mano arduino da circa 10 minuti,

ho SCARICATO il software per simulare la COM attraverso la USB per far questo sono andato in questo link:

Virtual COM Port Drivers

poi per avere l'ambiente di sviluppo sono andato qui a scaricare il software..

Arduino - Software

ho scaricato la versione per MAC, visto che io sviluppo su questa piattaforma..

avvio tutto mi da un errore,, leggo l'errore Java.Error ... .praticamente l'IDE è fatto in java si tratta di un Jar file, in sostanza è quello che ho realizzato io tempo fa.. ovvero un'applicazione grafica che permette di interagire attraverso la COM con i pic della Microchip.. l'errore è dovuto perchè non ho installato la periferica COM virtuale,quindi niente paura.. ..

Bene appena istallata, dal menu Tool mi riconosce la presenza della Seriale, bene ci clicco seleziono tty.usb ecc... ..perfetto carico Blink.. funziona!

vado a vedere negli esempi, c'è di tutto!! fantastico! si possono fare cose pazzesche con 4 righe di codice in pseudo C , per fare cose equivalenti con i Pic c'è da sudare, per esempio accedere alla EEPROM, l'ADC e altro ancora.. insomma dopo aver sbattuto la testa con l'assembler dei Pic e con i loro Datasheet.. questa soluzione sembra una passeggiata! bene adesso quello che intuisco è avere un obbiettivo, acquistare la scheda necessaria + affiancare il software .. credo che in poche ore si possa creare di tutto.. ..visto che posseggo un auto-pilot e un GPS mi viene in mente di costruire la piattaforma per UAV.. utilizzabile per alianti...

ottimo acquisto,

Bene adesso passo alla seconda parte..
La questione è semplice, per leggere il treno dei segnali PPM, si tratta di mettersi in attesa fin quando non si legge un segnale alto.. da li in poi occorre far partire un cronometro e leggere quando tempo dura questo segnale alto.. esso ci da l'informazione della posizione del primo servo o del primo ESC.. adesso però subbito dopo arriverà il segnale del secondo servo. e così via tutti gli altri fin a completare il treno.. a questo punto il lavoro è fatto..


Citazione:

Originalmente inviato da Sebas86 (Messaggio 3097846)
Ciao ragazzi! Anche io sto sperimentando un po' con Arduino... in particolare sto cercando di far leggere ad Arduino il segnale della ricevente FrSky Futaba in modo da poter comandare arduino con il radiocomando... ho letto qualche tutorial e con la ricevente originale sembra facile:
How to hack the PPM signal from any receiver (Futaba) with Arduino - DIY Drones
Basta l'utilizzo di un singolo cavo saldato da un lato su un particolare componente all'interno della RX Futaba e l'altro lato collegato ad arduino. Cosi' riesce a leggere tutti i canali! Il problema e' che le riceventi FrSky sono diverse e sto cercando di capire da dove posso prelevare il segnale PPM.... se qualcuno avesse qualche idea :rolleyes:
Grazie!


faustog_2 03 aprile 12 20:25

correggo!
 
correggo..

credo che ATMEL 328P si possa collocare un tantino più in alto del Pic 16F876, possiede 6 moduli hardware PWM, inoltre riesce a realizzare per questi moduli ritardi oltre i 4096 mS ..quindi attraverso i moduli PWM si possono comandare anche dei servo... cosa che con un Pic è impossibile specie se carrozzato con un quarzo da 16MHZ.. evidentemente l'equivalene dei registri TMR2 e PR2 sono a 16 Bit, e poi avrà prescaler oltre 16 per ottenere dei ritardi più lunghi.. ..infatti nei Pic il prescaler per il TMR2 può essere solo 1:1 , 1:4 , e 1:16 e basta..
..ovviamente per il programmatore tutto questo è trasparente, basta usare le funzioni già belle e pronte..
..bene continuo a provarlo..


Citazione:

Originalmente inviato da faustog_2 (Messaggio 3128741)
ciao eccolo in mano!..

ho letto le caratteristiche.. ..si può paragonare benissimo al Pic16F876 28 pin , più o meno ha le stesse caratteristiche.. ..adesso provo a caricare ed eseguire il primo software Blink.. ...l'ho preso perchè non voglio rimanere ignorante in merito a questa soluzione.. piuttosto popolare. .. e poi son curioso.. per il momento ho preso la versione 2009, poi se mi garba prenderò la versione superiore.. grazie alle sue librerie + al supporto tecnico on-line e grazie alla diffusione dei suoi accessori. si possono costruire cose che fino a poco tempo fa richiedevano salti mortali... ...per esempio ho letto in una rivista come costruire un inseguitore antenna per FPV, oppure un UAV basato su GPS e FMA Co-pilot (già in possesso entrambi) e altro ancora.. ma prima di fare fuochi d'artificio.. meglio metterci le mani.. dunque la confezione contiene la scheda con il Micro e basta.. ..pensavo che avesse dentro almeno il cavo USB l'alimentatore... .. va be tutto sommato per 20 Euro è giusto così..


Tom_1971 03 aprile 12 23:54

Citazione:

Originalmente inviato da faustog_2 (Messaggio 3128862)
premessa, ho in mano arduino da circa 10 minuti,

ho SCARICATO il software per simulare la COM attraverso la USB per far questo sono andato in questo link:

Virtual COM Port Drivers

poi per avere l'ambiente di sviluppo sono andato qui a scaricare il software..

Arduino - Software

ho scaricato la versione per MAC, visto che io sviluppo su questa piattaforma..

avvio tutto mi da un errore,, leggo l'errore Java.Error ... .praticamente l'IDE è fatto in java si tratta di un Jar file, in sostanza è quello che ho realizzato io tempo fa.. ovvero un'applicazione grafica che permette di interagire attraverso la COM con i pic della Microchip.. l'errore è dovuto perchè non ho installato la periferica COM virtuale,quindi niente paura.. ..

Bene appena istallata, dal menu Tool mi riconosce la presenza della Seriale, bene ci clicco seleziono tty.usb ecc... ..perfetto carico Blink.. funziona!

vado a vedere negli esempi, c'è di tutto!! fantastico! si possono fare cose pazzesche con 4 righe di codice in pseudo C , per fare cose equivalenti con i Pic c'è da sudare, per esempio accedere alla EEPROM, l'ADC e altro ancora.. insomma dopo aver sbattuto la testa con l'assembler dei Pic e con i loro Datasheet.. questa soluzione sembra una passeggiata! bene adesso quello che intuisco è avere un obbiettivo, acquistare la scheda necessaria + affiancare il software .. credo che in poche ore si possa creare di tutto.. ..visto che posseggo un auto-pilot e un GPS mi viene in mente di costruire la piattaforma per UAV.. utilizzabile per alianti...

ottimo acquisto,

Bene adesso passo alla seconda parte..
La questione è semplice, per leggere il treno dei segnali PPM, si tratta di mettersi in attesa fin quando non si legge un segnale alto.. da li in poi occorre far partire un cronometro e leggere quando tempo dura questo segnale alto.. esso ci da l'informazione della posizione del primo servo o del primo ESC.. adesso però subbito dopo arriverà il segnale del secondo servo. e così via tutti gli altri fin a completare il treno.. a questo punto il lavoro è fatto..

Appena hai messo a punto il codice e l' hardware per la lettura da rx... Saresti così gentile da condividerli (nome chiedo troppo)? ;)
Da parte mia ho fatto molti degli esercizi del manuale e ora sto cercando di pilotare carichi di potenza (led) in pwm. Ancora ho dei problemi con i bjt ma conto di venirne a capo prima o poi !

Inviato dal mio HTC Wildfire S A510e usando Tapatalk

faustog_2 04 aprile 12 12:42

ok
 
ok, con piacere a presto

Citazione:

Originalmente inviato da Tom_1971 (Messaggio 3129330)
Appena hai messo a punto il codice e l' hardware per la lettura da rx... Saresti così gentile da condividerli (nome chiedo troppo)? ;)
Da parte mia ho fatto molti degli esercizi del manuale e ora sto cercando di pilotare carichi di potenza (led) in pwm. Ancora ho dei problemi con i bjt ma conto di venirne a capo prima o poi !

Inviato dal mio HTC Wildfire S A510e usando Tapatalk


faustog_2 05 aprile 12 00:45

seriale
 
ho appena ripreso la mia esplorazione nel mondo arduino, visto che mi moglie dorme! ho visto come usare la seriale

preparato in beve il circuito max232, ho preso spunto da qui : 16F628 UART test

ovviamente anzichè il Pic 16F628 si usa Arduino nei pin 2,3

per mandare poi in esecuzione infine:
Arduino - SoftwareSerialExample

in sostanza oltre ai pin 0 e 1 per la RX e TX seriale.. ..si possono impostare altri pin infatti nell'esempio i pin 2 e 3, giusto per poter disporre piu canali di comunicazione

a dopo

Citazione:

Originalmente inviato da faustog_2 (Messaggio 3129883)
ok, con piacere a presto


faustog_2 05 aprile 12 00:53

qualcosa c'è
 
ora che mi viene in mente ho già postato qualcosa in merito , mi pare un annetto fa, ho realizzato un servo extends, per cui leggo il segnale dalla RX e poi con un semplice calcolo estendo l'escursione del servo.. funziona benissimo.. se cerchi trovi il codice sorgente..

a dopo
fausto

Citazione:

Originalmente inviato da Tom_1971 (Messaggio 3129330)
Appena hai messo a punto il codice e l' hardware per la lettura da rx... Saresti così gentile da condividerli (nome chiedo troppo)? ;)
Da parte mia ho fatto molti degli esercizi del manuale e ora sto cercando di pilotare carichi di potenza (led) in pwm. Ancora ho dei problemi con i bjt ma conto di venirne a capo prima o poi !

Inviato dal mio HTC Wildfire S A510e usando Tapatalk


Tom_1971 05 aprile 12 01:13

Citazione:

Originalmente inviato da faustog_2 (Messaggio 3131272)
ora che mi viene in mente ho già postato qualcosa in merito , mi pare un annetto fa, ho realizzato un servo extends, per cui leggo il segnale dalla RX e poi con un semplice calcolo estendo l'escursione del servo.. funziona benissimo.. se cerchi trovi il codice sorgente..

a dopo
fausto

Un altro amante della notte (con moglie e figli a nanna) eh? :lol:
Ma io stasera mi sono dedicato all'organizzazione delle ferie, niente elettronica solo un'occhiatina al barone prima di dormire...

Oddio ad essere onesti mi sono preso anche una piccola pausa per cambiare un po' di pezzi al blade msr che è fermo da mesi ormai... lunedì se faccio la tradizionale scampagnata lo metto in macchina, non si sa mai :P

P.S. Ma il servo extend dove lo dovrei cercare, su tutto il World Wide Web (sai è piuttoto vasto...) oppure ad es. qui sul Barone? :D

faustog_2 05 aprile 12 10:25

estensione
 
ecco qui
http://www.baronerosso.it/forum/circ...dei-servi.html

a dopo

Citazione:

Originalmente inviato da Tom_1971 (Messaggio 3131282)
Un altro amante della notte (con moglie e figli a nanna) eh? :lol:
Ma io stasera mi sono dedicato all'organizzazione delle ferie, niente elettronica solo un'occhiatina al barone prima di dormire...

Oddio ad essere onesti mi sono preso anche una piccola pausa per cambiare un po' di pezzi al blade msr che è fermo da mesi ormai... lunedì se faccio la tradizionale scampagnata lo metto in macchina, non si sa mai :P

P.S. Ma il servo extend dove lo dovrei cercare, su tutto il World Wide Web (sai è piuttoto vasto...) oppure ad es. qui sul Barone? :D


faustog_2 06 aprile 12 01:13

semplice ed immediato
 
dopo una lettura degli esempi di base, devo dire motlo chiari, ho testato qulli reliativi ai servi e alla seriale ... ho cominciato a scrivere per conto mio, giusto per esplorare due righe di codice.. pilotano un semplice robot, che muove i due motori con due ESC brushed, mentre un sensore infrarosso controlla l'ambiente.. il robot parte in avanti se il sensore rileva un ostacolo allora il robot indietreggia per circa 1,5 secondi, eseguendo una leggera virata.. e poi ricomincia la marcia in avanti...

il sensore viene fatto oscillare da un Pic 16F84 a parte.. in modo da ampliare il raggio di lettura del sensore

in 20 minuti scrivo e testo.. adesso voglio capire come aggiungere le librerie, per esempio quelle relative ad Ardupilot..

La semplicità di Arduino lo rende simile ai robot della Lego!

#include <Servo.h>

Servo ESC_1; // create servo object to control a servo
Servo ESC_2; // create servo object to control a servo

boolean sensorValue;
int count;

//__________________________________________________ ____
void setup()
{
pinMode(2, INPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
ESC_1.attach(9);
ESC_2.attach(10);
}
//__________________________________________________ ____
void loop()
{
sensorValue = digitalRead(2);
if(!sensorValue) // sensorValue == 0
{
back();
}
else // sensorValue == 1
{
front();
}
}
//__________________________________________________ ____
void front()
{
digitalWrite(3, 1); // setta valore 1 al pin 3 motore avanti
digitalWrite(4, 1); // setta valore 1 al pin 4 motore avanti

ESC_1.write(50);
delay(1);
ESC_2.write(50);
delay(15);
}
//__________________________________________________ ____
void back()
{
count = 8;
while(count >0 )
{
count = count - 1;
digitalWrite(3, 0); // setta valore 0 al pin 3 motore indietro
digitalWrite(4, 0); // setta valore 0 al pin 4 motore indietro

ESC_1.write(20);
delay(1);
ESC_2.write(60);
delay(15);
}
}


Citazione:

Originalmente inviato da faustog_2 (Messaggio 3131508)


faustog_2 06 aprile 12 10:06

realizzazione UAV con arduino
 
forse meriterebbe un post a parte, per il momento scrivo qui perchè ci sono cose che devo mettere a punto, non so se funzionano. Voglio iniziare a costruirmi un sistema per pilotare un aliante in modo semi autonomo, senza spendere troppi soldi senza osare le soluzioni piu avanzate, tanto c'è tempo, ancora sono solo agli inizi.

Dunque, per caso capito in questo link

ArduPilot - Arduino Compatible UAV Controller w/ ATMega328 - SparkFun Electronics

trovo tutte le indicazioni per la realizzazione:

Serve un Arduino 2009 basato su Atmega 328
Un FMA Co-Pilot
un GPS
la scheda Ardupilot

A me mi manca la scheda che comunque costa solo 23 Euro da Robot Italy

.: Robot Italy WebSite:. : ArduPilot - Controller UAV con ATMega328 (Arduino) [708785] - 23,09EUR

In realtà il GPS ne ho uno GTPA010 acquistato un po di tempo fa della Eagle Tree che vorrei tentare di usare, se ci riesco OK, altrimenti vado sul prodotto standard consigliato da Arduino, Qui di seguito c'è illustrato il sistema di lettura GPS apposti con le sue funzioni di libreria.

BasicPositioning \ Learning \ Wiring

Se ci riesco vorrei provare a creare un libreria apposita per GTPA010, in modo tale che chi vuole può sfruttare questo modulo, famoso soprattuto per chi fa volo FPV.

In sostanza dovrei andare a leggere tutte le specifiche della libreria del GPS previsto da Ardupilot, e riscriverle adattando al GPS in causa, in questa maniera farò un lavoro, anche per chi volesse utilizzare GTPA010 che tralaltro riesce a leggere 10 volte piu veloce. Qui c'è il datasheet:

http://www.propox.com/download/docs/GPS_GMM_U1LP.pdf

serve che con l'oscilloscopio assieme al prof. di elettronica ci sediamo per capire la frequenza in uscita dai due cavi appositi del modulo... da questa lettura si dovrebbe capire come prelevare le informazioni, ipotizzo due possibilità : che i bit vengano sparati.. con un frequenza ben precisa -> asincrono, oppure una frequenza non costante, quindi vengono inviati coordinati dal secondo cavo, il sincronizzatore. In ogni caso : sincrono o non sincrono, dal canale dei dati i bit compongono in formato binario i caratteri ASCII.. che man mano compongono le stringhe MNEA

..da dopo le vacanze ci metto le mani sopra adesso vado a godermi la giornata libera.



.: Robot Italy WebSite:. : ArduPilot - Controller UAV con ATMega328 (Arduino) [708785] - 23,09EUR


Tutti gli orari sono GMT +2. Adesso sono le 14:12.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002