Bertjebuk
Electronica is mooi als het goed werkt
Hallo; Ik ben bezig met de zender van mijn boot,en ben nu zover dat de sketch Compileerd maar verder blijft het een dode boel.Ik heb aan de pinnen
4,5 een ledje hangen naar massa ,4,5 Rx,TX deze gaan naar de HC12 ledje 5tx
knippert vel, ledje 4rx brand heel zwak ik heb de HC12 tijdelijk verwijderd.Mijn vraag is wie kan er even meekijken wat er niet klopt aan de sketch
//Transmitter
//visit www.rootsaid.com for full tutorial
//For Video Demo and tutorials Visit www.youtube.com/c/rootsaid
#include <SoftwareSerial.h>
SoftwareSerial hc12(4,5); //rx4,tx5
const byte hc12RxdPin = 4;
const byte hc12TxdPin = 5;
int thr, dir;
void setup()
{
pinMode (A0, INPUT);
pinMode (A1, INPUT);
pinMode (13, OUTPUT);
Serial.begin(9600);
hc12.begin(9600);
}
void loop()
{
thr = map(analogRead(A0), 0, 1023, 0, 180);
dir = map(analogRead(A1), 0, 1023, 0, 180);
hc12.print(thr);
hc12.print(",");
hc12.print(dir);
hc12.println("");
Serial.print(thr);
Serial.print(",");
Serial.print(dir);
Serial.println("");
delay(100);
}flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Wat werkt er niet dan? Sketch ziet er niet raar uit. Je zult toch wel de analoge waardes op je terminal geprint zien worden? Die terminal is je debugger, gewoon hier en daar een print statement plaatsen om te zien wat variabeles zijn, of waar je langs komt in je software (is in dit geval vrij simpel omdat er geen if's en zo in zitten).
Bertjebuk
Electronica is mooi als het goed werkt
als ik de seriele monitor opstart krijg ik het volgende ,Joystck 1 is VTX
177 naar links, en 9 naar rechts. Joystick 2 is VRX naar boven 180 , en naar beneden 0.Als dit klopt dan zou het ook noch aan de ontvanger kunnen liggen.
SoftwareSerial hc12(4,5); //rx4,tx5
const byte hc12RxdPin = 4;
const byte hc12TxdPin = 5;Heb je pen 4 van de arduino verbonden met de TXd van de HC12?
En pen 5 van de arduino met de RXd van de HC12?
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Op 2 oktober 2019 19:29:28 schreef Bertjebuk:
als ik de seriele monitor opstart krijg ik het volgende
Of dat klopt zou je toch zelf moeten weten, het is jouw software! Maar op zich klinkt het niet verkeerd, ranges zijn 0..180 (zal die map functie wel zijn). En dat krijg je bijna.
Je stuurt diezelfde string naar de hc12 poort, geen idee of dat goed is. Snapt de ontvanger die string of zo?
Op 2 oktober 2019 19:46:33 schreef Bertjebuk:
Ik heb de RX op4 en de TX op5 .
Ja, de RX van je arduino zit op 4, en de TX van je arduino zit op 5.
Maar zit de RX van de arduino op de TXd van de HC-12 aangesloten? En de TX van de arduino op de RXd van de HC-12? Anders gaat het nooit werken.
fatbeard
Honourable Member
Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
Wat -zeker in het begin van het electronica avontuur- wel eens over het hoofd wordt gezien is dat wat voor de arduino TX is voor een aangesloten module RX is en omgekeerd.
TX aansluiten op TX werkt gewoon niet. NIET vragen hoe ik dat weet...
BVZ was nèt ff sneller...
pinMode (A0, INPUT);
pinMode (A1, INPUT);Hiermee maak je de pinnen digitale input en dat is volgens mij niet de bedoeling voor analoog gebruik.
analogRead(A0)
Op 2 oktober 2019 22:10:34 schreef 2N3055:
pinMode (A0, INPUT); pinMode (A1, INPUT);Hiermee maak je de pinnen digitale input en dat is volgens mij niet de bedoeling voor analoog gebruik.
Om dat op te heffen gebruik je dan, net als TS, 'analogRead(A0)'
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
fatbeard
Honourable Member
Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
Op 3 oktober 2019 11:17:53 schreef Bertjebuk:
Voor alle duidelijkheid hier het blok schema.
... waar nog steeds niet in te zien is welke pin van welke uart naar welke pin van welke uart gaat.
Goed lezend in de geposte source is het probleem zonneklaar:
SoftwareSerial hc12(4,5); //rx4,tx5
const byte hc12RxdPin = 4;
const byte hc12TxdPin = 5;
geeft duidelijk aan dat de twee transmit pinnen aan elkaar zitten. Zoals al door meerdere mensen gezegd: dat gaat niet werken.
Transmit van de Arduino moet aan receive van de HC12 en vice versa, welke pennummers dat zijn mag je zelf uitzoeken.
Bertjebuk
Electronica is mooi als het goed werkt
Mijn probleem is dat de ontvanger niets doet , vandaar mijn oproep of er aan de sketch van de zender vreemde dingen te zien waren , maar dat schijnt mee te vallen, dus verplaatst mijn onderzoek zich naar de ontvanger. Ik ga met de aan wijzigen van dit topic verder.fatbeard; de pin no staan toch in het blok schema , of bedoel je dat niet.
Op 3 oktober 2019 15:27:37 schreef Bertjebuk:
de pin no staan toch in het blok schema
Je hebt 4 en 5 en Tx en Rx, allemaal met één draadje aan elkaar.
Verder zie ik geen main().
Een functie loop() noemen betekent nog niet dat ie dan ook 'loopt'.
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
main() is er niet in een Arduino sketch. De hoofdloop heet loop() en functie die vooraf doorlopen wordt heet setup().
TS, check nou die RX en TX lijntjes. Lezen aub.
Bertjebuk
Electronica is mooi als het goed werkt
Ik heb mijn opstelling schematisch getekend ,meer kan ik er niet van maken
eventuele suggesties zij welkom.
flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Je moet ons niet uitleggen hoe je het hebt, je moet de suggesties die wij doen checken, en je fout proberen te vinden. Ik doe de suggestie nogmaals: zitten de RX en TX draden nu goed? Dus niet 2 TX'en aan elkaar?
Jochem
If you want to succeed, double your failure rate.
Bertjebuk
Electronica is mooi als het goed werkt
flipflop; ik wardeer je uitleg ten zeerste,maar ik denk dat hier wat verwarring zit in wat jij uitlegt en wat ik bedoel. De TX en de RX van de arduino zijn niet aangesloten .4 en 5 gaan naar de RX,TX van de HC-12 en als ik deze 2 draadjes omwissel reageert de ontvanger ook niet,hoe kan ik dat meten of de HC-12 dat signaal verzend. 
Dan eerst maar eens zien of er wel een net signaal uit de Arduino komt. HC12 losmaken en 4 en 5 aansluiten op een serie-interface van een PC/terminal en kijken of eruit komt wat jij verwacht.
Hier hebben ze het over een C tussen Vcc en GND en een diode naar Vcc bij +5V.
Verder gebruiken ze ook een 'set pin' en:
HC12ReadBuffer.reserve(64); // Reserve 64 bytes for Serial message input
SerialReadBuffer.reserve(64); // Reserve 64 bytes for HC12 message input
pinMode(HC12SetPin, OUTPUT); // Output High for Transparent / Low for Command
digitalWrite(HC12SetPin, HIGH); // Enter Transparent mode
delay(80); flipflop
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Op 4 oktober 2019 15:23:14 schreef Bertjebuk:
..De TX en de RX van de arduino zijn niet aangesloten .4 en 5 gaan naar..
Zeker heb je die wel aangesloten, staat in je blokschema
Ik snap dat het niet de hardware uart is die je aansluit, maar een gpio die je bitbanged naar pin 4/5. En dat worden dus ook een setje TX/RX, daar heb je er nu 2 van.
Maar goed, omdraaien helpt zo nog niet dus. Een scoop zou hier wel de weg naar het geluk zijn.